merge in holizz uzbl_tabbed
[uzbl-mobile] / docs / FAQ
index b5a6323..b377607 100644 (file)
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -4,11 +4,15 @@ FAQ
 ### I just installed uzbl but it doesn't do much.  What now?
 Uzbl includes very limited default settings (statusbar settings, but no keybinds, history/download handlers etc.)
 Look at /usr/share/uzbl/docs/config.h to see the default settings.
-Neither does uzbl create a default config file on startup like some other programs do.
-Because we want to give you the freedom to place your config where you want, and to use a config or not.
-Have a look in /usr/share/uzbl/examples/configs to see what you can do. You will probably want to create your own config based on an example config
-so you can add keybinds and to use scripts.
-Use the --config parameter or save your config as $XDG\_CONFIG\_HOME/uzbl/config to have it auto-loaded.
+Neither does uzbl create a default config file on startup like some other programs do because we want to give you the freedom to place your config where you want, and to use a config or not.
+Have a look in /usr/share/uzbl/examples/configs to see what you can do.
+If you save a config as $XDG\_CONFIG\_HOME/uzbl/config it will be loaded automatically.
+Running with the `--verbose` flag on a command line can also be interesting.
+To get you started, try this:
+`XDG_DATA_HOME=/usr/share/uzbl/examples/data XDG_CONFIG_HOME=/usr/share/uzbl/examples/config uzbl`
+It will temporarily override your $XDG\_CONFIG\_HOME and $XDG\_DATA\_HOME
+variables so you can try the sample stuff directly in /usr/share/uzbl/examples.
+If you like what you can do, you can copy the sample stuff into your ~ and edit to your liking.
 
 ### Where is the location bar? How do I change the URL ?
 Uzbl has no location bar.  All changes to the uri (editing of current uri, typing new uri, loading of uri from bookmarks/history/...) happens *outside* of uzbl.
@@ -17,12 +21,26 @@ useful with history/bookmarks) with a limited set of keystrokes.  see man dmenu.
 You can also use it to make edits to a uri (press tab to load it into the
 search field) or type a url from scratch, though dmenu
 is not the most suitable editor. We're looking into a better way to make edits.
-Zenity is also an option, if you want copy-paste support.
+Tools such as Zenity are also quite suited for this.
+And you can always make keybinds to load the current uri in the command field, paste/load urls from
+clipboard etc.
 
 ### Where are the widgets (forward, back,.. button etc)
 Uzbl's layout 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.
 
+### No tabs? Why do you need a new window for each page?
+We stick to "one page per uzbl instance" because that's a simple, clean and flexible method.  We 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 (and should) handle this by default.  Xmonads tabbed layout, Wmii's stacked layout and so on.
+ * you can 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
+   (we'll maybe include some sample scripts in the future)
+ * We might implement a GtkPlug (Xembed child) in the future.  So you could abuse that.
+
 ### What?  No support for bookmarks/history/downloads/cookies/... ? Your project sucks!
 We do not support *management* of those things, because we believe a browser should only do browsing.  We are firm believers in the unix philosophy.
 You have to look at the bigger picture.  In fact, we do support all these things.  Take bookmarks as an example:
@@ -37,6 +55,10 @@ You have to look at the bigger picture.  In fact, we do support all these things
 These ideas are something we want to consistently apply throughout the entire application.  (Even more, throughout our entire desktop environment)
 In fact, we actually ship various sample scripts and some sample configs that make it easy for you to implement your workflow.
 
+### 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.
+
 ### Why can't I type anything in forms?  How does the keybinding work?
 You are in command mode, not in insert mode.
 
@@ -64,12 +86,19 @@ Note that we do *not* depend on any Gnome libraries such as gconf.  _That_ would
 ### 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 uzblctrl or netcat 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.
+
 ### 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 :)