Giter Club home page Giter Club logo

luakit's Introduction

Luakit

luakit is a fast, light and simple to use micro-browser framework exensible by Lua using the WebKit web content engine and the GTK+ toolkit. This version includes a built-in mail client too (which currently is very limited though)

Dont Panic!

You don't have to be a developer to use luakit on a daily basis. If you are familiar with vimperator, pentadactyl, jumanji, uzbl & etc you will find luakit behaves similarly out of the box.

Requirements

  • gtk2
  • Lua (5.1)
  • lfs (lua file system)
  • libwebkit (webkit-gtk)
  • libunique
  • sqlite3
  • help2man

Additional Requirements if you use the mail module

Compiling

To compile the stock luakit run:

make

To link against LuaJIT (if you have LuaJIT installed) run:

make USE_LUAJIT=1

To build without libunique (which uses dbus) run:

make USE_UNIQUE=0

To build with a custom compiler run:

make CC=clang

Note to packagers: you may wish to build luakit with:

make DEVELOPMENT_PATHS=0

To prevent luakit searching in relative paths (./config & ./lib) for user configs.

The USE_LUAJIT=1, USE_UNIQUE=0, PREFIX=/path, DEVELOPMENT_PATHS=0, CC=clang build options do not conflict. You can use whichever you desire.

Installing

To install luakit run:

sudo make install

The luakit binary will be installed at:

/usr/local/bin/luakit

And configs to:

/etc/xdg/luakit/

And the luakit libraries to:

/usr/local/share/luakit/lib/

To change the install prefix you will need to re-compile luakit (after a make clean) with the following option:

make PREFIX=/usr
sudo make PREFIX=/usr install

Use Luakit

Just run:

luakit [URI..]

Or to see the full list of luakit launch options run:

luakit -h

Configuration

The configuration options are endless, the entire browser is constructed by the config files present in /etc/xdg/luakit

There are several files of interest:

  • rc.lua -- is the main config file which dictates which and in what order different parts of the browser are loaded.
  • binds.lua -- defines every action the browser takes when you press a button or combination of buttons (even mouse buttons, direction key, etc) and the browser commands (I.e. :quit, :restart, :open, :lua <code>, etc).
  • theme.lua -- change fonts and colours used by the interface widgets.
  • window.lua -- is responsible for building the luakit browser window and defining several helper methods (I.e. w:new_tab(uri), w:close_tab(), w:close_win(), etc).
  • webview.lua -- is a wrapper around the webview widget object and is responsible for watching webview signals (I.e. "key-press", "load-status", "resource-request-starting", etc). This file also provides several window methods which operate on the current webview tab (I.e. w:reload(), w:eval_js("code here.."), w:back(), w:forward()).
  • modes.lua -- manages the modal aspect of the browser and the actions that occur when switching modes.
  • globals.lua -- change global options like scroll/zoom step, default window size, useragent, search engines, etc.
  • mail.lua -- implements the mail-client interface, exposed through the :mail and :sendmail commands. (currently in the lib folder)

Just copy the files you wish to change (and the rc.lua) into $XDG_CONFIG_HOME/luakit (defaults to ~/.config/luakit/) and luakit will use those files when you next launch it.

Uninstall

To delete luakit from your system run:

sudo make uninstall

If you installed with a custom prefix remember to add the identical prefix here also, example:

sudo make PREFIX=/usr uninstall

Reporting Bugs

Please use the bug tracker at:

http://luakit.org/projects/luakit/issues

Community

Mailing list

Subscribe to the development mailing list here:

http://lists.luakit.org/mailman/listinfo/luakit-dev

Or view the archives at:

http://lists.luakit.org/archive/luakit-dev/

IRC

Join us in #luakit on the irc.oftc.net network.

luakit's People

Contributors

alexis-d avatar aparicio99 avatar cschomburg avatar dieterbe avatar halhen avatar husio avatar jerojasro avatar karottenreibe avatar kongo2002 avatar kumanna avatar lama7 avatar liaonau avatar mason-larobina avatar mwild1 avatar pawelz avatar pete avatar portix avatar quigybo avatar ri-ga avatar wired avatar xitian9 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.