wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit e2b1f6c27dd403da07eb08d5e96e6c6a714a1d5e
parent 2b8252c70fda52daab91672a23e7ecbfa09861c4
Author: Anselm R. Garbe <garbeam@wmii.de>
Date:   Thu, 27 Apr 2006 22:55:15 +0200

this might fix the hidden focus setting bug in stacking mode reported by DenisG, also touched several man pages, though wmiiwm.1 is only at a early stage.


Diffstat:
cmd/wm/client.c | 5++---
cmd/wm/wmii.1 | 11++++-------
cmd/wm/wmiiwm.1 | 234+++++++++++++++++++++++++++++--------------------------------------------------
cmd/wmiimenu.1 | 9++++++++-
cmd/wmiir.1 | 19++++++++++++-------
5 files changed, 111 insertions(+), 167 deletions(-)

diff --git a/cmd/wm/client.c b/cmd/wm/client.c @@ -132,11 +132,10 @@ focus_client(Client *c, Bool restack) update_client_grab(c, True); } - XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); - draw_client(c); - XSync(dpy, False); if(i > 0 && f->area->mode == Colstack) arrange_column(f->area, False); + XSetInputFocus(dpy, c->win, RevertToPointerRoot, CurrentTime); + draw_client(c); snprintf(buf, sizeof(buf), "ClientFocus %d\n", idx_of_client_id(c->id)); write_event(buf); } diff --git a/cmd/wm/wmii.1 b/cmd/wm/wmii.1 @@ -3,8 +3,6 @@ wmii \- window manager improved 2 .SH SYNOPSIS .B wmii -.RB [ \-t -.IR tag ] .SH DESCRIPTION .SS Overview .BR wmii (1) @@ -23,12 +21,12 @@ sure that they are executable. .P Here is a list of the default actions: .TP 2 -extern <cmd> -clean the environment and execute the given command -.TP 2 status periodically print date and load average to the bar .TP 2 +quit +leave the window manager nicely +.TP 2 welcome display a welcome message that contains the wmii tutorial .TP 2 @@ -63,8 +61,7 @@ The following variables are set and exported within .BR wmii (1) and thus can be used in actions. .TP -old_path -path as it was before +PATH .BR wmii (1) added the local and global actions directory. .TP diff --git a/cmd/wm/wmiiwm.1 b/cmd/wm/wmiiwm.1 @@ -1,163 +1,99 @@ -.de FN -\fI\|\\$1\|\fP\\$2 -.. -.TH wmii 1 +.TH WMIIWM 1 wmii-3 .SH NAME -wmii \- window manager improved 2 for X11 - -.SH DESCRIPTION -.B wmii -is a dynamic window manager for the X Window System. -It provides a synthesis of conventional, tiled and tabbed window -management based on dynamic layouts. -Several roots of these window management capabilities have been -introduced by the Ion and LarsWM window managers. -Apart from this, it implements a socket-based fileserver, -which is accessed to configure and interoperate with wmii. The idea -behind this file-based approach is derived from the plan9 -operating system and can be found in the Acme programming environment. -.B wmii -consists of the core window manager itself and several utilities, such -as -.BR wmiibar (1), -.BR wmiifs (1), -.BR wmiimenu (1), -.BR wmiikeys (1), -.BR wmiipsel (1), -.BR wmiir (1) -and -.BR wmiiwarp (1). - +wmiiwm \- window manager improved 2 (core) .SH SYNOPSIS -.B wmii -.RB [ \-s -.IR socketfile ] +.B wmiiwm +.RB \-a +.IR <address> +.br +.RB [ \-c ] +.br +.RB [ \-v ] +.SH DESCRIPTION +.SS Overview +.BR wmiiwm (1) +is the core of the window manager improved 2. +.BR wmii +is a dynamic window manager for X11. It supports classic and tiled window +management with extended keyboard, mouse, and 9P-based remote control. +.SS Dynamic window manager +Dynamic window management states that it is the window manager's job to manage +windows - and not the user's job to have to set up some specialized layout that +will only work for one specific work scenario. .br -.B wmii -.RB \-v +In contrast to static window management, the user rarely has to think about how +to organize windows, no matter what he is doing or how many applications are +used at the same time. The window manager adapts to the current environment and +helps the user to fit to his needs, rather than forcing him to use a preset, +fixed layout and trying to shoehorn all windows and applications into it. +.br +Dynamic window management has many advantages - one can create and tear down +whole working environments in a matter of seconds, rather than spending months +fine-tuning a fixed layout that would never work well in all cases anyway. The +number and nature of windows one works with, changes all the time, and a dynamic +window manager lets the user adapt to that and always efficiently use its +precious screen real estate. +.SS Terminology +.TP 2 +Screen -.SH OPTIONS -.TP -.BI \-s " socketfile" -lets you override the default socketfile which -.B wmii -should use for connecting fileserver clients. -.TP -.B \-v -prints version information to stdout, then exits. +.TP 2 +View -.SH FILES -.TP -.FN /tmp/.ixp-$USER/wmii\-$WMII_IDENT -this file is the default socket file used by -.B wmii. -.TP -.FN $HOME/.wmii/rc [start|stop] -this file is executed when -.B wmii -starts up or shuts down. If it is not present, -.B wmii -executes -.FN $WMII_CONFDIR/rc [start|stop] -as fallback. -The rc script is used to customize and setup -.B wmii -beside its components to match the users needs. -It can be a simple shell script, a native binary or whatever executable. +.TP 2 +Tag -.SH STRUCTURE -The structure of -.B wmii -consists of following objects which are described in more detail. -.TP -.B Display -The display is a running X server which consists of at least one -.B Screen (Monitor), -.B Keyboard, -and the -.B Mouse. -Applications with X11 support can connect to such X server display in -order to be used. -.TP -.B Screen (Monitor) -A screen is the physical device which displays a part or the whole -display driven by the X server. Each screen consists of a root window -which matches the physical conditions the X server is configured to -drive the graphics adaptor and the connected screen, such as color -depth and resolution. +.TP 2 +Floating layer + +.TP 2 +Managed layer + +.TP 2 +Column + +.TP 2 +Client + +.SS Configuration +If you feel the need to change the default configuration, then customize (as +described above) the +.B wmiirc +action. This action is executed at the end of the +.BR wmii (1) +script and does all the work of setting up the window manager, the key +bindings, the bar labels, etc. +.SH FILES .TP -.B (Root) Window -A window is a rectangular area which is drawn by the X server. A root -window is the complete drawable area of a screen. Root windows are -top-level windows which are always at the most-background position. If -you have set a wallpaper, the root window displays the wallpaper. -All other windows are children of the root window. Thus, windows of X -clients, frames surrounding them and bars are all windows. +/tmp/ns.$USER.$DISPLAY/wmii +The wmii socket file which provides a 9P service. .TP -.B Client -A client is the window provided by X applications (clients) without the -surrounding frame. There're X clients supported, such as xmms, which -request not to be surrounded by a frame, those are called borderless. +CONFPREFIX/wmii-3 +Global action directory. .TP -.B Frame -A frame is a parent window of a client or of nested frames in a layout. -Mostly a frame consists of a border and a titlebar. The titlebar -provides tabs, if the frame contains nested frames, otherwise it shows the title -of the surrounded client. +$HOME/.wmii-3 +User-specific action directory. Actions are first searched here. +.SH ENVIRONMENT .TP -.B Layout -A layout defines how to arrange nested frames of a frame. See -CUSTOMIZATION section for further details about how such definitions look -like. +HOME, USER +See the section +.B FILES +above. +.P +The following variables are set and exported within +.BR wmii (1) +and thus can be used in actions. .TP -.B Page -A page is a container of the size of the root window which contains -nested frames. It can be compared to workspaces in other window -managers, but with the exception, that a page behaves very similiar to a -frame, except that it reuses the root window as frame window. +PATH +.BR wmii (1) +added the local and global actions directory. .TP -.B Action -An action is an internal interface command or an external process call -in order to reach a specific window management result, ie resizing a -frame or launching a terminal. - -.SH CUSTOMIZATION -.B wmii -is customized through the rc script, which manipulates the namespace its -fileserver provides to other processes. This namespace can be accessed -using the -.BR wmiir (1) -utility. The default rc script uses this utility to setup wmii and its -components. -.P -A namespace is a filesystem structure consisting of files -and directories, which is specified by its underlying fileserver -process, like -.B wmii. -Such -namespaces can be bound (mounted) to userdefined namespaces using the -.BR wmiifs (1) -utility. In the default rc script the namespace provided by wmii, is -bound to -.FN /wmii -.P -There are four actions provided by the -.BR wmiir (1) -utility to manipulate your namespace: -.BR create , -.BR remove , -.BR write , -and -.BR read . -.P - -.SH AUTHOR -Copyright \(co 2003 - 2005 by Anselm R. Garbe <garbeam (at) gmail (dot) com> +WMII_ADDRESS +Socket file of +.BR wmii (1). +Used by +.BR wmiir (1). .SH SEE ALSO -.BR wmiibar (1), -.BR wmiifs (1), +.BR wmiiwm (1), .BR wmiimenu (1), -.BR wmiikeys (1), -.BR wmiipsel (1), -.BR wmiir (1), -.BR wmiiwarp (1), +.BR wmiir (1) diff --git a/cmd/wmiimenu.1 b/cmd/wmiimenu.1 @@ -27,7 +27,7 @@ terminates. is completely controlled by the keyboard. The following keys are recognized: .TP 2 Any printable character -append the character to the text in the input field. This works as a filter: +appends the character to the text in the input field. This works as a filter: only items containing this text will be displayed. .TP 2 Left/Right (Control-p/Control-n) @@ -50,6 +50,13 @@ remove enough characters from the input field to change its filtering effect. .TP 2 Control-u remove all characters from the input field. +.SS Exit codes +.B wmiimenu +returns +.B 0 +if Enter is pressed on termination, +.B 1 +if Escape is pressed. .SH ENVIRONMENT .TP WMII_FONT diff --git a/cmd/wmiir.1 b/cmd/wmiir.1 @@ -13,7 +13,9 @@ wmiir \- window manager improved 2 remote .SH DESCRIPTION .SS Overview .B wmiir -is a client to access wmii's filesystem from the command line or from shell +is a client to access the filesystem of +.BR wmiiwm (1) +from the command line or from shell scripts. It can be used to configure .BR wmii (1). .SS Options @@ -24,12 +26,15 @@ Lets you specify the address to which will establish a connection. If this option is not supplied, and the environment variable WMII_ADDRESS is set, .B wmiir -will use this value as it's address. Currently, the address can only be a -socket file. The syntax for +will use this value as its address. Currently, the address can only be a +unix socket file or a tcp socket. The syntax for .I address is taken (along with many other profound ideas) from the Plan 9 operating system and has the form -.BR unix!/path/to/socket . +.BR unix!/path/to/socket +for unix socket files, and +.BR tcp!hostname!port +for tcp sockets. .TP .B \-v Prints version information to stdout, then exits. @@ -62,15 +67,15 @@ See above. .SH EXAMPLES .TP .B wmiir read / -This displays the root of the wmii filesystem. For more information about the -contents of this filesystem, see +This prints the root directory of the wmii filesystem. For more information +about the contents of this filesystem, see .BR wmiiwm (1). .TP .B echo -n quit | wmiir write /ctl Write 'quit' to the main control file of the wmii filesystem, effectively leaving wmii. .TP -.B echo -n select 2 | wmiir write /ctl +.B echo -n view 2 | wmiir write /ctl Bring into view all clients having a tag of '2'. To learn about clients and tags, see .BR wmiiwm (1).