From 39c4907435f75389594cab9a1eae1848336ea339 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sat, 2 Jan 2010 12:45:46 +0100 Subject: faq entry for memory usage --- docs/FAQ | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'docs') diff --git a/docs/FAQ b/docs/FAQ index 1c54ad1..4a29663 100644 --- a/docs/FAQ +++ b/docs/FAQ @@ -75,6 +75,12 @@ They both have advantages and disadvantages: 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. +### Uzbl uses too much memory! Especially when having multiple windows (i.e. with uzbl-tabbed) +Don't be fooled with how memory usage is measured and reported on Linux. (or other systems) +You need to be aware of the difference between RSS and VSS. +And dynamic libraries (libwebkit, libgtk, etc) that are used by multiple processes are only stored in RAM once. +See [this page](http://virtualthreads.blogspot.com/2006/02/understanding-memory-usage-on-linux.html) for a good explanation. + ### 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). -- cgit v1.2.3 From 379c716bc5e703fb5ca229256457868acb533fa6 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sat, 2 Jan 2010 16:35:55 +0100 Subject: give a more objective pov of the multiple instances discussion + elaborate on possible directions and scripts --- docs/FAQ | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 55 insertions(+), 15 deletions(-) (limited to 'docs') 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. -- cgit v1.2.3 From 9b23103c2c042b126c5701634530e2dc4c2d1b84 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sat, 2 Jan 2010 16:48:20 +0100 Subject: layout fixes --- docs/FAQ | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'docs') diff --git a/docs/FAQ b/docs/FAQ index b61107d..3294999 100644 --- a/docs/FAQ +++ b/docs/FAQ @@ -35,17 +35,21 @@ 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) + +* 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) + or merge windows together? + - can I integrate uzbl pages/windows into WM features? (alt-tab, tiling layouts, taskbar, ...) + - ... +* application-level + - realtime overview of all page titles of all uzbl instances + - 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. @@ -54,7 +58,7 @@ 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. +There are multiple approaches, each with pros and cons. * 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. @@ -72,9 +76,10 @@ There are multiple approaches, each with pros and cons and you can pick the one 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) + - [wmii](http://www.uzbl.org/wiki/wmii) -There are really a lot of options. +There are really a lot of options. You need to think about what you need, +what you want and what you don't care about. 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 -- cgit v1.2.3 From 91e081938617e24dea672949c58b8dbad8d19630 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Thu, 7 Jan 2010 21:27:39 +0100 Subject: explain npapi plugins --- docs/FAQ | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'docs') diff --git a/docs/FAQ b/docs/FAQ index 3294999..7587d70 100644 --- a/docs/FAQ +++ b/docs/FAQ @@ -109,8 +109,10 @@ we prefer being reasonably assured that things work as they are supposed to rath 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? +### Do you support flash? javascript? Ajax? Recent html/css/.. standards? Java/media plugins? Yes, Webkit takes care of all of that. Not that we like all of these, but you can use them if you want. +We use the NPAPI plugin architecture (just like mozilla, opera, etc) so just +install the plugins normally, and things should work. ### What's the difference between the socket file and the fifo? They both have advantages and disadvantages: -- cgit v1.2.3