aboutsummaryrefslogtreecommitdiffhomepage
path: root/docs
diff options
context:
space:
mode:
authorGravatar Dieter Plaetinck <dieter@plaetinck.be>2010-01-02 16:35:55 +0100
committerGravatar Dieter Plaetinck <dieter@plaetinck.be>2010-01-02 16:35:55 +0100
commit379c716bc5e703fb5ca229256457868acb533fa6 (patch)
tree5c5d9e867c85893c3e2a119b4a511af757609ce7 /docs
parent39c4907435f75389594cab9a1eae1848336ea339 (diff)
give a more objective pov of the multiple instances discussion + elaborate on possible directions and scripts
Diffstat (limited to 'docs')
-rw-r--r--docs/FAQ70
1 files changed, 55 insertions, 15 deletions
diff --git a/docs/FAQ b/docs/FAQ
index 4a29663..b61107d 100644
--- a/docs/FAQ
+++ b/docs/FAQ
@@ -24,21 +24,61 @@ tools and scripts, by itself doesn't do many usefull things. See README.
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)
+### Why can uzbl-core/uzbl-browser only show one page?
+It is nearly unanimously agreed that one page per uzbl-core is best.
+It allows a simple implementation of both uzbl-core and
+uzbl-browser, and it makes things more robust.
+But read the next entry...
+
+### How to have multiple pages in one window?
+So, given that uzbl-core and uzbl-browser only deal with one page at a time (see
+above), how can you have a window with multiple pages?
+
+Basically this is involves concerns on two sides:
+* window management: can I keep all pages together in 1 X window so
+ that I can move all at once to a different workspace, can I "split off"
+ pages into separate windows (i.e. move only one specific page/window to a
+ different desktop), can I integrate uzbl pages/windows into WM features?
+ (alt-tab, tiling layouts, taskbar, ...), etc
+* application-level: having a realtime overview of all page titles of all uzbl
+ instances, special representation styles which are tightly coupled to the
+ application such as treeviews that show from which you page you opened
+ others, or page state (loading etc)
+
+Uzbl itself can hardly be a limiting factor, as it supports/has:
+* Xembed (GtkPlug mode) so you can embed a uzbl-browser or uzbl-core into another window
+* an events system you can have realtime updates of window title, pageload state, etc.
+* command interface to programmatically change it's behavior.
+
+And then there is the style of representation (tabs, tree overviews, visual
+thumbnails etc) which can be handled from the WM side or the application
+side.
+
+There are multiple approaches, each with pros and cons and you can pick the one that suits you best.
+
+* Tabbing in the WM: Xmonads tabbed layout, Wmii's stacked layout, fluxbox or kwin tabs and so on.
+* Visual overview in the WM: commonly used with dwm or Awesome's tiling layouts with master/slave areas.
+ The [dynamic zoom script](http://www.uzbl.org/wiki/dynamic_zooming) is useful here.
+* A container application whih embeds multiple uzbl-browsers and provide tablists, tree views, and more.
+ Examples:
+ - [uzbl-tabbed](http://www.uzbl.org/wiki/uzbl_tabbed) (officially supported)
+ - [uzbltreetab](http://www.uzbl.org/wiki/uzbltreetab)
+ - [uzbltab](http://www.uzbl.org/wiki/uzbltab)
+ - [suckless tabbed](http://tools.suckless.org/tabbed)
+* An application to mimic tabbing independently of WM support.
+ 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/xbindkeys and wmctrl to switch instances.
+ This allows you to use application-specific properties (such as uzbl tag, name etc).
+ For more ideas on such an approach, see docs/multiple-instances-management.
+ Examples:
+ - [wmctrl-based](http://www.uzbl.org/wiki/metacity-tabs) (works on at least Metacity)
+ - [wmii] (http://www.uzbl.org/wiki/wmii)
+
+There are really a lot of options.
+On the wiki you'll find a lot of related scripts, some of them providing new
+workflows (do you really need open windows for all pages you intend to read, or is a list enough?
+[articlecue](http://www.uzbl.org/wiki/article_queue.py)), some providing integration with WM's such as
+[awesome](http://www.uzbl.org/wiki/awesome), and more.
### 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.