aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs/FAQ
blob: 1c54ad10b9fb829081e7cd196cbc794678c392dc (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
FAQ
---

### Uzbl crashes immediately (segfaults). WTF ?
You are using a libwebkit version (usually 1.1.15.*) that uses enchant which
is compiled with zemberek support built-in.  Compile enchant with
--disable-zemberek or ask your package maintainer.
See also:

 * https://bugs.webkit.org/show_bug.cgi?id=30860
 * http://bugzilla.abisource.com/show_bug.cgi?id=12413
 * http://bugzilla.abisource.com/show_bug.cgi?id=12529
 * http://bugs.archlinux.org/task/17401
 * http://www.uzbl.org/news.php?id=17


### I just installed uzbl but it doesn't do much.  What now?
"Uzbl" is the name for the umbrella project that has several subprojects.
You probably want `uzbl-browser` or any of the other projects.
The main program (uzbl-core) is a program meant for integration with other
tools and scripts, by itself doesn't do many usefull things.  See README.

### Where are the widgets (forward, back,.. button etc)
The layout of uzbl (and derivatives) only contains what you really need to see.  we only have a statusbar, which even can also be disabled.  There are no buttons, but we do
have lots of keybinding possibilities.

### Why can uzbl-browser only show one page?
Among uzbl hackers, there are 2 groups: some people prefer tabs, they use
uzbl-tabbed.  The others stick to "one page per uzbl-browser instance" because
it's a very flexible approach.  They believe "multiple instances management" is something that must
be handled outside of uzbl by a separate/different program.  Here are some solutions:

 * Many window managers can handle this by default.  Xmonads tabbed layout, Wmii's stacked layout, fluxbox or kwin tabs and so on.
 * Uzbl supports acting as a GtkPlug to plug into GtkSockets (Xembed) so you can embed uzbl instances in other Gtk applications.
   (This is also what uzbl-tabbed does)
 * If you want highest customizablity, you need the 3rd option:
   You can also write a custom script.  The only thing you need to do is focus/maximize the instance you want,
   keep the others out of sight and use tools like dmenu and wmctrl to switch instances.
   This allows you to use application-specific properties (such as uzbl tag, name etc).
   For more information about this approach, see docs/multiple-instances-management.
   (If you want to work on such script, let us know and we might include it along with the other sample scripts)

### Okay, what can I actually do?  What commands are there?  How do I get more information?
  * Commands and other features are documented in README.  Read it.
  * You should also peek into the sampleconfigs to see how commands are used in practice.
  * The wiki is also a great resource.

### Why can't I type anything in forms?  How does the keybinding work?
You are in command mode, not in insert mode.

* command mode: you can trigger actions inside uzbl with minimum amount of keypresses (eg 'b' to go back, 'ZZ' to quit etc)  (see config examples), but not to type actual text into forms, because all your keypresses are interpreted.
* insert mode: after going into insert mode (by default this is the 'i' binding from inside command mode), your keypresses are not interpreted but passed on, so you can enter text into forms.  Press Esc to go out of insert mode.

The above method is called "modal" as inspired on VI.  If you don't like this you can easily change this.

This method is how many applications work.
TODO: you can call things from inside insert mode by using modkeys, right?


### Why do you depend on gtk?
Uzbl itself doesn't use much gtk stuff (only the statusbar) so we could do without gtk.  But Webkit needs a widget toolkit to create widgets (think javascript popups, html forms etc).
Officially, webkit also supportss Qt and wxwigdets.  There are also some unofficial patchsets floating on the interwebs for the EFL and FLTK toolkits.  One could argue we don't need no popups or fancy form widgets and you could have a point, but
we prefer being reasonably assured that things work as they are supposed to rather then using some obscure patchset which may be incomplete, broken and/or badly designed, or wasting time ourselves in what is not our core objective.
That's why we picked the Gtk variant of Webkit.
Note that we do *not* depend on any Gnome libraries such as gconf.  _That_ would be something worth complaining about :)

### Do you support flash? javascript? Ajax?  Recent html/css/.. standards?
Yes, Webkit takes care of all of that.  Not that we like all of these, but you can use them if you want.

### What's the difference between the socket file and the fifo?
They both have advantages and disadvantages:

 * fifo's are _very_ easy to work with. You can write just plaintext commands into them, but they are unidirectional (you can only communicate in one direction)
 * Sockets are bidirectional but more complex.  You cannot just write a plaintext string into them.  In shellscripts you can use socat to work with sockets, when programming you need to use library functions.

So, when writing scripts, using fifo's is usually the fastest method (because you do not need to fork another process), so fifo is preferred unless you need a response.

### What the hell is this 'XDG' stuff??
You'll notice our example/default scripts and configs use variables such as `$XDG_CONFIG_HOME` and `$XDG_DATA_HOME`.
Most of us really like the [xdg basedir spec](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html).
Basically it helps you keeping a clean `$HOME` and it separates config, data and cache.
If these variables are not defined on your system, it could be that you need to install an xdg package.
If you don't like this, no one is stopping you from changing the scripts and configs to point to a single `$HOME/.uzbl` directory or whatever you want.


### Does the world really need another browser?
We did try a lot of browsers, and we do not suffer [NIH](http://en.wikipedia.org/wiki/Not_Invented_Here).
We believe that the approach taken by way too many browsers is wrong.  We do not want browsers that try to do everything,
instead we prefer a system where different applications work together, which gives plenty of advantages.
We also like open source.  We take a lot of things from other projects and we also try to contribute to other projects.

### What? You call all of this user-friendly?
Yes.  If you don't agree, don't use it :)