7 A simple web browser using GTK+ 3, GLib and WebKit2GTK+.
12 - An input box to change the URI or to search the current page
13 - Built-in launching of suckless' tabbed
14 - Built-in download manager
15 - Optimized hotkeys: Left hand on keyboard, right hand on mouse
16 - Keyword based searching: Opening "wi foo" will search wikipedia
18 - Cooperative instances using FIFOs
19 - Support for Flash and Java
22 ==============================================
23 IMPORTANT: Current state of the WebKit2 branch
24 ==============================================
26 WebKit1 is essentially dead. Sooner or later, we have to jump to
29 http://blogs.igalia.com/carlosgc/2014/08/01/webkitgtk-2-5-1-good-bye-webkit1/
31 There's a number of issues on this branch:
33 - No adblock support. As stated in commit f1174ff, this has to be
34 implemented as a "WebKit2 web extension". Maybe do this in a
36 - "View source" mode is not yet ported. This feature has been
37 removed from WebKit2, so we have to invent some way to re-create
39 - There's an annoying border around the WebView widget.
40 - There may be a hell lot of other issues that I have not yet
43 However, important issues of the original WebKit1 lariza have been
46 - Those pages that crash all WebKit1 browsers do work now.
47 - The "back" button works reliably.
54 "lariza" stems from a german sentence:
56 Alle anderen waren mir zu anstrengend.
59 That phrase basically means: "It was too tiresome to deal with any other
60 browser." I couldn't find a simple browser that does just what I need.
61 Most of them are utterly bloated, others lack essential functions. Thus,
62 I was forced to write scripts and tools and stuff to deal with these
63 issues. That is what was tiresome. I don't want to work around bugs or
64 nonsensical behavior anymore.
66 So, I wrote my own browser^W WebKit GUI. WebKit does all the dirty work.
69 ================================
70 What lariza is and what it's not
71 ================================
73 lariza does what I need. It won't do other things. I'm open for pull
74 requests but please don't be upset if I turn them down -- which might
75 happen if it's a feature that I simply don't need.
77 Especially, it's very likely that lariza will never have a "follow
78 mode" like dwb, luakit or others have. I've used these browsers for
79 quite some time and I've also used Firefox extensions that add a "follow
80 mode". The point is, "follow mode" doesn't work anymore. This was a good
81 thing ten years ago. Today, a lot of websites make heavy use of
82 JavaScript or hovering. You NEED some kind of pointing device. I found
83 using "follow mode" to be very frustrating today, because you still have
84 to reach for the mouse all the time. So, you might as well just optimize
85 your mousing workflow.
87 lariza does not compete with powerful browsers like dwb or luakit, nor
88 with monstrous applications like Firefox or Chromium. lariza won't have
89 persistent storage, nor a plugin system, nor cloud sync, nor bookmarks.
91 lariza tries not to exceed 1000 lines of code.
93 That being said, this kind of minimalism is not for everyone. If you're
94 looking for more features (and a more open feature policy), then you
95 might want to check out okraits' fork:
97 https://github.com/okraits/lariza/
100 ========================
101 Using lariza with tabbed
102 ========================
104 By default, lariza automatically launches an instance of suckless'
107 You can turn this feature off (see command line arguments) or you can
108 specify a command line argument to embed lariza in an arbitrary
109 container (XEMBED). Note that lariza will also automatically embed new
110 windows in the same container.
112 When using the automatically launched tabbed instance, you can't use
113 tabbed's Ctrl + Shift + Return hotkey. This is because tabbed is
114 launched with "-d", so it knows nothing about lariza. However, lariza
115 provides its own hotkey to launch a new window which will be embedded in
116 the same instance of tabbed.
125 When the WebKit viewport is focused:
128 Close the current window.
131 Go to your "homepage". See the environment variable
138 Reload the current page.
141 Open the download manager.
144 Focus the location bar.
147 Focus the location bar and set its text to "/", allowing you
148 to easily initiate a search.
151 Repeat the last search (forward).
154 Repeat the last search (backward).
160 Open the link under the pointer in a new window.
162 Backward / forward (mouse keys 8 and 9)
165 Mod1 + Scroll up or Ctrl + Scroll up
166 Increase zoom level of the current page.
168 Mod1 + Scroll down or Ctrl + Scroll down
169 Decrase zoom level of the current page.
171 Mod1 + Scroll horizontally or Ctrl + Scroll horizontally
172 Reset zoom to $LARIZA_ZOOM.
175 When the location bar is focused:
178 Close the current window.
181 Open the download manager.
184 Reload the current page.
187 Reset the content of the location bar to "/".
190 Reset the content of the location bar to the current URI.
193 "Commit", i.e. begin searching, do a keyword based search or
200 Close the download manager (downloads are not aborted).
203 ======================
204 Command line arguments
205 ======================
209 lariza [OPTION]... [URI]...
211 In addition to the standard arguments of GTK+ 3, lariza knows about the
215 Embeds the main window and all newly created windows in the
216 window specified by <wid>. The download manager is always a
220 Disables cooperative instances.
223 Disables automatic launching of suckless' tabbed.
225 After these options there can be any number of URIs. If no URIs are
226 given, $LARIZA_HOME_URI will be opened.
229 =====================
230 Environment variables
231 =====================
233 In addition to the standard variables of GTK+ 3, lariza knows about the
234 following environment variables:
236 LARIZA_ACCEPTED_LANGUAGE
237 In HTTP requests, WebKit sets the "Accepted-Language" header to
238 this value. Defaults to "en-US".
241 All downloads are automatically stored in this directory.
245 Cooperative instances are implemented using a named pipe in the
246 file system. The name of this pipe usually is (at least on
247 modern systems following XDG "standards"):
249 /var/run/user/$UID/lariza.fifo-$LARIZA_FIFO_SUFFIX
251 $UID is the id of your user. $LARIZA_FIFO_SUFFIX defaults to
252 "main". If you change this variable, you can launch several
253 independent cooperative instances of lariza.
256 This URI will be opened by pressing the appropriate hotkeys
257 ("homepage" or "new window") and if no URIs are specified on the
258 command line. Defaults to "about:blank".
261 Lariza will identify itself with this string. Uses WebKit's
262 default value if unset.
264 LARIZA_WEB_EXTENSIONS_DIR
265 Sets the directory where WebKit will look for "web extensions".
266 Defaults to "~/.local/share/lariza/web_extensions".
269 Zoom level for WebKit viewports. Defaults to 1.0.
272 =======================
273 Keyword based searching
274 =======================
276 In this file, you can configure keywords and the associated URIs:
278 ~/.config/lariza/keywordsearch
280 Each line has to look like this:
282 wi https://en.wikipedia.org/w/index.php?title=Special:Search&search=%s
284 "wi" is the keyword, so when opening "wi foo", lariza will search in
285 Wikipedia. Note the "%s" at the end of the URI: This is where your
286 search term will be placed.
288 Lines starting with "#" are ignored.
295 Open the download manager using the appropriate hotkey. A new window
296 listing your downloads will appear. Clicking on an item will remove it
297 from the list and -- if needed -- cancel the download.
299 There's no file manager integration (I don't use one), nor does lariza
300 delete, overwrite or resume downloads. If a file already exists, it
301 won't be touched. Instead, the new file name will have a suffix such as
302 ".1", ".2", ".3" and so on.
309 WebKit does create files in your $XDG_* directories, i.e. ~/.local/share
310 or ~/.cache. It's up to you what you want to do with this junk. I remove
311 it regularly when no WebKit browser is running. Another option would be
312 to change the $XDG_* variables.
314 I have explicitly not turned off the local storage feature in WebKit
315 because I don't know if this breaks web applications.
322 lariza needs the following Arch Linux packages:
325 - webkit2gtk (WebKit2 API for GTK+ 3)
334 - http://webkitgtk.org/reference/webkit2gtk/stable/index.html
335 - https://developer.gnome.org/gtk3/stable/index.html
336 - https://developer.gnome.org/glib/stable/index.html