summaryrefslogtreecommitdiff
path: root/README
blob: adebf11fb39ad39d815a5237feabc632625a7a9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
                               ==========
                                 lariza
                               ==========


A simple web browser using GTK+ 2, GLib and WebKitGTK+.

Features:

	- A WebKit viewport
	- An input box to change the current URL
	- Global content zoom
	- Pluggability into suckless' tabbed
	- Built-in downloads
	- Optimized hotkeys: Left hand on keyboard, right hand on mouse
	- Searching the current page for a word
	- Adblock
	- Support for Flash and Java
	- Cooperative instances using FIFOs (can be turned off)

Planned features:

	- Keyword based searching (opening "wi foo" will search wikipedia)


About the name
==============

"lariza" stems from a german sentence:

	Alle anderen waren mir zu anstrengend.
	 l   a         r    i  z  a

That phrase basically means: "It was too tiresome to deal with any other
browser." I couldn't find a simple browser that does just what I need.
Most of them are utterly bloated, others lack essential functions. Thus,
I was forced to write scripts and tools and stuff to deal with these
issues. That is what was tiresome. I don't want to work around bugs or
nonsensical behavior anymore.

So, I wrote my own browser^W WebKit GUI. WebKit does all the dirty work.


What lariza is and what it's not
================================

lariza does what I need. It won't do other things. I'm open for pull
requests but please don't be upset if I turn them down -- which might
happen if it's a feature that I simply don't need.

Especially, it's very likely that lariza will never have a "follow
mode" like dwb, luakit or others have. I've used these browsers for
quite some time and I also used Firefox extensions that add a "follow
mode". The point is, "follow mode" doesn't work anymore. This was a good
thing ten years ago. Today, a lot of websites make heavy use of
JavaScript or hovering. You NEED some kind of pointing device. I found
using "follow mode" to be very frustrating today, because you still have
to reach for the mouse all the time. So, you might as well just optimize
your mousing workflow.

lariza does not compete with powerful browsers like dwb or luakit, nor
with monstrous applications like Firefox or Chromium. lariza won't have
persistent storage, nor a plugin system, nor cloud sync, nor bookmarks.

lariza tries not to exceed 1000 lines of code.


Using lariza with tabbed
========================

The order of arguments for lariza doesn't matter. This means you can run
it like this:

	$ tabbed -c lariza file:///home/hans/bookmarks.html -z 0.8 -e

Each new tab will then show your bookmarks and is scaled by a factor of
0.8.

If "-e" is not specified, lariza will launch tabbed automatically. Note
that you can't use tabbed's "Ctrl+Shift+Enter" hotkey to open a new tab
this way (lariza will simply call "tabbed -c -d", so tabbed will know
nothing about lariza). However, due to lariza's cooperative instances,
you can simply start lariza a second time and it will create a new tab.


Adblock
=======

lariza has built-in adblock functionality. In each line of

	~/.config/lariza/adblock.black

you can store a regular expression. These expressions match
case-insensitive and partially, i.e. ".*foo.*" is the same as ".*FOO.*"
and you can use anchors like "^https?://...".


WebKit local storage
====================

WebKit does create files in your $XDG_* directories, i.e. ~/.local/share
or ~/.cache. It's up to you what you want to do with this junk. I remove
it regularly if no WebKit browser is running. Another option would be to
change the $XDG_* variables.

I have explicitly not turned off the local storage feature in WebKit
because I don't know if this breaks web applications.


Literature
==========

API references:

	- http://webkitgtk.org/reference/webkitgtk/stable/index.html
	- https://developer.gnome.org/gtk2/stable/index.html
	- https://developer.gnome.org/glib/stable/index.html

Regular expressions supported by GRegex, you can use these in your
adblock patterns:

	- https://developer.gnome.org/glib/stable/glib-regex-syntax.html