wmii man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

WMII(1)								       WMII(1)

NAME
       wmii - Window Manager Improved²

SYNOPSIS
       wmii [-a <address>] [-r <wmiirc>]

       wmii -v


DESCRIPTION
   Overview
       wmii  is a dynamic window manager for X11. 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
       fits to the needs of the user, rather than forcing him to use a preset,
       fixed layout and trying to shoehorn all windows and  applications  into
       it.

       wmii  supports  classic	and tiled window management with extended key‐
       board and mouse control. The classic window management arranges windows
       in  a  floating layer in which windows can be moved and resized freely.
       The tiled window management is based on	columns	 which	split  up  the
       screen horizontally. Each column handles arbitrary windows and arranges
       them vertically in a non-overlapping way. They can then	be  moved  and
       resized between and within columns at will.

       wmii  provides a virtual filesystem which represents the internal state
       similar to the procfs of Unix operating systems.	 Modifying  this  vir‐
       tual  filesystem	 results  in changing the state of the window manager.
       The virtual filesystem  service	can  be	 accessed  through  9P-capable
       client programs, like wmiir(1).	This allows simple and powerful remote
       control of the core window manager.

       wmii basically consists of clients, columns, views, and the bar,	 which
       are described in detail in the Terminology section.

   Command Line Arguments
       -a <address>
	      Specifies	 the  address  on which wmii should listen for connec‐
	      tions. The address  takes	 the  form  <protocol>!<address>.  The
	      default is of the form:

	      unix!/tmp/ns.$USER.${DISPLAY%.0}/wmii

	      which opens a unix socket per Plan 9 Port conventions. To open a
	      TCP socket, listening at port 4332 on  the  loopback  interface,
	      use:

	      tcp!localhost!4332

	      $WMII_NAMESPACE is automatically set to this value.

       -r <wmiirc>
	      Specifies which rc script to run. If <wmiirc> consists of a sin‐
	      gle argument, $WMII_CONFPATH is searched before  $PATH.	Other‐
	      wise,  it is passed to the shell for evaluation. The environment
	      variables $WMII_ADDRESS and $WMII_CONFPATH are  preset  for  the
	      script.

	      == Terminology ==

       Display
	      A	 running  X  server  instance  consisting of input devices and
	      screens.

       Screen A physical or virtual (Xinerama or Xnest(1)) screen of an X dis‐
	      play. A screen displays a bar window and a view at a time.

       Window A	 (rectangular)	drawable  X  object  which  is	displayed on a
	      screen, usually an application window.

       Client An application window surrounded by a frame window containing  a
	      border and a titlebar.

       Floating layer
	      A screen layer of wmii on top of all other layers, where clients
	      are arranged in a classic (floating) way.	 They can  be  resized
	      or moved freely.

       Managed layer
	      A	 screen layer of wmii behind the floating layer, where clients
	      are arranged in a non-overlapping (managed) way.	Here, the win‐
	      dow manager dynamically assigns each client a size and position.
	      The managed layer consists of columns.

       Tag    Alphanumeric strings which can be assigned  to  a	 client.  This
	      provides	a  mechanism to group clients with similar properties.
	      Clients can have one tag, e.g.   work,  or  several  tags,  e.g.
	      work+mail.  Tags are separated with the + character.

       View   A	 set  of clients containing a specific tag, quite similar to a
	      workspace in other window managers.  It consists of the floating
	      and managed layers.

       Column A column is a screen area which arranges clients vertically in a
	      non-overlapping way.  Columns  provide  three  different	modes,
	      which  arrange  clients  with  equal size, stacked, or maximized
	      respectively.  Clients can be  moved  and	 resized  between  and
	      within columns freely.

       Bar    The  bar	at  the bottom of the screen displays a label for each
	      view and allows the creation of arbitrary user-defined labels.

       Event  An event is a message which can be read from a special  file  in
	      the  filesystem  of  wmii,  such	as a mouse button press, a key
	      press, or a message written by a different 9P-client.

   Basic window management
       Running a raw wmii process without a wmiirc(1)  script  provides	 basic
       window  management  capabilities	 already.   However,  to use it effec‐
       tively, remote control through its filesystem interface	is  necessary.
       By  default  it	is  only usable with the mouse in conjunction with the
       Mod1 (Alt) modifier key. Other interactions, such  as  customizing  the
       style,  killing	or  retagging  clients,	 and  grabbing keys, cannot be
       achieved without accessing the filesystem.

       The filesystem can be accessed by connecting to	the  address  of  wmii
       with any 9P-capable client, such as wmiir(1)

   Actions
       An  action  is a shell script in the default setup, but it can actually
       be any executable file.	It is executed usually by  selecting  it  from
       the  actions  menu.  You can customize an action by copying it from the
       global action directory '/usr/local/etc/wmii' to '$HOME/.wmii' and then
       editing the copy to fit your needs.  Of course you can also create your
       own actions there; make sure that they are executable.

       Here is a list of the default actions:

	quit	  leave the window manager nicely
	status	  periodically print date and load average to the bar
	welcome	  display a welcome message that contains the wmii tutorial
	wmiirc	  configure wmii

   Default Key Bindings
       All of the provided wmiirc scripts accept at least  the	following  key
       bindings.  They	should	also  provide  a showkeys action to open a key
       binding quick-reference.

   Moving Around
	Key	      Action
	Mod-h	      Move to a window to the left of the one currently focused
	Mod-l	      Move to a window to the right of the one currently focused
	Mod-j	      Move to the window below the one currently focused
	Mod-k	      Move to a window above the one currently focused
	Mod-space     Toggle between the managed and floating layers
	Mod-t <tag>   Move to the view of the given <tag>
	Mod-[0-9]     Move to the view with the given number

   Moving Things Around
	Key		    Action
	Mod-Shift-h	    Move the current window window to a column on the left
	Mod-Shift-l	    Move the current window to a column on the right
	Mod-Shift-j	    Move the current window below the window beneath it.
	Mod-Shift-k	    Move the current window above the window above it.
	Mod-Shift-space	    Toggle the current window between the managed and floating layer
	Mod-Shift-t <tag>   Move the current window to the view of the given <tag>
	Mod-Shift-[0-9]	    Move the current window to the view with the given number

   Miscellaneous
	Key		  Action
	Mod-m		  Switch the current column to max mode
	Mod-s		  Switch the current column to stack mode
	Mod-d		  Switch the current column to default mode
	Mod-Shift-c	  Kill the selected client
	Mod-p <program>	  Execute <program>
	Mod-a <action>	  Execute the named <action
	Mod-Enter	  Execute an xterm

Configuration
       If you feel the need to change the default configuration, then  custom‐
       ize (as described above) the wmiirc action.  This action is executed at
       the end of the wmii script and does all the work of setting up the win‐
       dow manager, the key bindings, the bar labels, etc.

   Filesystem
       Most  aspects of wmii are controlled via the filesystem.	 It is usually
       accessed via the wmiir(1) command, but it can be accessed  by  any  9P,
       including  plan9port's  9P[1], and can be mounted natively on Linux via
       v9fs[1], and on Inferno (which man run on top of Linux).

       The filesystem is, as are many  other  9P  filesystems,	entirely  syn‐
       thetic.	The  files  exist only in memory, and are not written to disk.
       They are generally initiated on wmii  startup  via  a  script  such  as
       rc.wmii or wmiirc. Several files read commands, others simply act as if
       they were ordinary files	 (their	 contents  are	updated	 and  returned
       exactly	as  written),  though  writing	them has side-effects (such as
       changing key bindings). A description of the filesystem layout and con‐
       trol commands follows.

   Hierarchy
       /      Global control files

       /client/*/
	      Client control files

       /tag/*/
	      View control files

       /lbar/, /rbar/
	      Files representing the contents of the bottom bar

   The / Hierarchy
       colrules
	      The  colrules  file  contains  a	list of rules which affect the
	      width of newly created columns.  Rules have the form:

		    /<regex>/ -> <width>[+<width>]*

	      When a new column, n, is created on a view  whose	 name  matches
	      <regex>, the nth given <width> percentage of the screen is given
	      to it. If there is no nth width, 1/ncolth of the screen is given
	      to it.

       tagrules
	      The  tagrules  file contains a list of rules similar to the col‐
	      rules. These rules specify the tags a client is to be given when
	      it is created.  Rules are specified:

		    /<regex>/ -> <tag>[+<tag>]*

	      When  a  client's	 <name>:<class>:<title> matches <regex>, it is
	      given the tagstring <tag>. There are two special tags. !,	 which
	      is deprecated, and identical to sel, represents the current tag.
	      ~ represents the floating layer.

       keys   The keys file contains a list of	keys  which  wmii  will	 grab.
	      Whenever	these  key  combinations are pressed, the string which
	      represents them are written to '/event' as: Key <string>

       event  The event file never returns EOF while wmii is running. It stays
	      open and reports events as they occur. Included among them are:

	       [Not]Urgent <client> [Manager|Client]
		      <client>'s urgent hint has been set or unset. The second
		      arg is [Client] if it's been  set	 by  the  client,  and
		      [Manager]	 if  it's  been set by wmii via a control mes‐
		      sage.

	       [Not]UrgentTag <tag> [Manager|Client]
		      A client on <tag> has had its urgent hint	 set,  or  the
		      last urgent client has had its urgent hint unset.

	       Client<Click|MouseDown> <client> <button>
		      A	 client's  titlebar  has  either been clicked or has a
		      button pressed over it.

	       [Left|Right]Bar[Click|MouseDown] <button> <bar>
		      A left or right bar has been clicked  or	has  a	button
		      pressed over it.

	        
       For a more comprehensive list of available events, see wmii.pdf[2]

       ctl    The  ctl	file  takes a number of messages to change global set‐
	      tings such as color and font, which can be viewed by reading it.
	      It also takes the following commands:

	       quit   Quit wmii

	       exec <prog>
		      Replace wmii with <prog>

	       spawn <prog>
		      Spawn a new program, as if by the -r flag.

   The /client/ Hierarchy
       Each  directory under '/client/' represents an X11 client.  Each direc‐
       tory is named for the X window id of the window the client  represents,
       in  the form that most X utilities recognize.  The one exception is the
       special	'sel'  directory,  which  represents  the  currently  selected
       client.

       ctl    When read, the 'ctl' file returns the X window id of the client.
	      The following commands may be written to it:

	       kill   Close the client's window. This command will likely kill
		      the  X  client  in  the future (including its other win‐
		      dows), while the close command will replace it.

	       Urgent <on | off | toggle>
		      Set or unset the client's urgent hint.

	       Fullscreen <on | off | toggle>

       label  Set or read a client's label (title).

       props  Returns a clients class and label as: <name>:<class>:<label>

       tags   Set or read a client's tags. Tags are separated by + or -.  Tags
	      beginning	 with  +  are  added, while those beginning with - are
	      removed.	If the tag string written begins  with	+  or  -,  the
	      written tags are added to or removed from the client's set, oth‐
	      erwise, the set is overwritten.

   The /tag/ Hierarchy
       Each directory under '/tag/' represents a view, containing all  of  the
       clients	with the given tag applied. The special 'sel' directory repre‐
       sents the currently selected tag.

       ctl    The 'ctl' file can be read to retrieve the name of the  tag  the
	      directory represents, or written with the following commands:

	       select Select a client: select [left|right|up|down]

	       select [<row number>|sel] [<frame number>]

	       select client <client>

	       send   Send a client somewhere:

		       send [<client>|sel] [up|down|left|right]

		       send [<client>|sel] <area>
			      Send <client> to the nth <area>

		       send [<client>|sel] toggle
			      Toggle <client> between the floating and managed
			      layer.

	       swap   Swap a client with another. Same syntax as send.

	       grow   Grow or shrink a client.

			   grow <frame> <direction> [<amount>]

	       nudge  Nudge a client in a given direction.

			   grow <frame> <direction> [<amount>]

       Where the arguments are defined as follows:

	       area   Selects a column or the floating area.

			   area	       ::= <area_spec> | <screen_spec>:<area_spec>

		      When <screen_spec> is omitted  and  <area_spec>  is  not
		      "sel",  0	 is  assumed.  "sel"  by itself represents the
		      selected client no matter which screen it is on.

			   area_spec   ::= "~" | <number> | "sel"

		      Where "~" represents the floating area and <number> rep‐
		      resents a column index, starting at one.

			   screen_spec ::= <number>

		      Where  <number>  representes the 0-based Xinerama screen
		      number.

	       frame  Selects a client window.

			   frame ::= <area> <index> | <area> sel | client <window-id>

		      Where <index> represents the  nth	 frame	of  <area>  or
		      <window-id> is the X11 window id of the given client.

	       amount The amount to grow or nudge something.

			   amount ::= <number> | <number>px

		      If  "px"	is given, <number> is interperated as an exact
		      pixel count.  Otherwise, it's interperated as a "reason‐
		      able"  amount,  which  is usually either the height of a
		      window's title bar, or its sizing increment (as  defined
		      by X11) in a given direction.

       index  Read for a description of the contents of a tag.

   The /rbar/, /lbar/ Hierarchy
       The files under '/rbar/' and '/lbar/' represent the items of the bar at
       the bottom of the screen. Files under '/lbar/' appear on the left  side
       of  the	bar,  while those under '/rbar/' appear on the right, with the
       leftmost item occupying all extra available space. The items are sorted
       lexicographically.

       The  files  may be read to obtain the colors and text of the bars.  The
       colors are at the beginning of the string, represented as a tuple of  3
       hex  color  codes  for  the foreground, background, and border, respec‐
       tively. When writing the bar files, the colors may be  omitted  if  the
       text would not otherwise appear to contain them.

FILES
       /tmp/ns.$USER.${DISPLAY%.0}/wmii
	      The wmii socket file which provides a 9P service.

       /usr/local/etc/wmii
	      Global action directory.

       $HOME/.wmii
	      User-specific action directory. Actions are first searched here.

ENVIRONMENT
       $HOME, $DISPLAY
	      See the section FILES above.

       The  following  variables are set and exported within wmii and thus can
       be used in actions:

       $WMII_ADDRESS
	      The address on which wmii is listening.

       $NAMESPACE
	      The namespace directory to use if no address is provided.

SEE ALSO
       dmenu(1), wmiir(1)

       /usr/local/share/doc/wmii/wmii.pdf

       [1] http://www.suckless.org/wiki/wmii/tips/9p_tips

       [2] /usr/local/share/doc/wmii/wmii.pdf

wmii-3.9.2			   Oct, 2009			       WMII(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net