Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
XMONAD(1)							       XMONAD(1)

Name
     xmonad - Tiling Window Manager

Description
     xmonad  is  a  minimalist	tiling window manager for X, written in Haskell.
     Windows are managed using automatic layout algorithms, which can be dynami-
     cally reconfigured.  At any time windows are arranged so as to maximize the
     use of screen real estate.  All features of the window manager are accessi-
     ble purely from the keyboard: a mouse is entirely optional.  xmonad is con-
     figured in Haskell, and custom layout algorithms may be implemented by  the
     user  in  config  files.  A principle of xmonad is predictability: the user
     should know in advance precisely the window arrangement  that  will  result
     from any action.

     By  default,  xmonad  provides  three  layout  algorithms:  tall,	wide and
     fullscreen.  In tall or wide mode, windows are tiled and arranged	to  pre-
     vent overlap and maximize screen use.  Sets of windows are grouped together
     on  virtual  screens,  and each screen retains its own layout, which may be
     reconfigured dynamically.	Multiple physical  monitors  are  supported  via
     Xinerama, allowing simultaneous display of a number of screens.

     By  utilizing  the expressivity of a modern functional language with a rich
     static type system, xmonad provides a complete, featureful  window  manager
     in  less  than  1200 lines of code, with an emphasis on correctness and ro-
     bustness.	Internal properties of the window manager are  checked	using  a
     combination  of  static  guarantees  provided by the type system, and type-
     based automated testing.  A benefit of this is that the code is  simple  to
     understand, and easy to modify.

Usage
     xmonad  places each window into a "workspace".  Each workspace can have any
     number of windows, which you can cycle though with mod-j and  mod-k.   Win-
     dows  are either displayed full screen, tiled horizontally, or tiled verti-
     cally.  You can toggle the layout mode with  mod-space,  which  will  cycle
     through the available modes.

     You  can switch to workspace N with mod-N.  For example, to switch to work-
     space 5, you would press mod-5.  Similarly, you can move the current window
     to another workspace with mod-shift-N.

     When running with multiple monitors (Xinerama), each screen has  exactly  1
     workspace	visible.   mod-{w,e,r}	switch	the focus between screens, while
     shift-mod-{w,e,r} move the current window	to  that  screen.   When  xmonad
     starts,  workspace 1 is on screen 1, workspace 2 is on screen 2, etc.  When
     switching workspaces to one that is already visible, the current and  visi-
     ble workspaces are swapped.

   Flags
     xmonad has several flags which you may pass to the executable.  These flags
     are:

     -recompile
	    Recompiles your xmonad.hs configuration

     -restart
	    Causes the currently running xmonad process to restart

     -replace
	    Replace the current window manager with xmonad

     -version
	    Display version of xmonad

     -verbose-version
	    Display detailed version of xmonad

   Default keyboard bindings
     mod-shift-return
	    Launch terminal

     mod-p  Launch dmenu

     mod-shift-p
	    Launch gmrun

     mod-shift-c
	    Close the focused window

     mod-space
	    Rotate through the available layout algorithms

     mod-shift-space
	    Reset the layouts on the current workspace to default

     mod-n  Resize viewed windows to the correct size

     mod-tab
	    Move focus to the next window

     mod-shift-tab
	    Move focus to the previous window

     mod-j  Move focus to the next window

     mod-k  Move focus to the previous window

     mod-m  Move focus to the master window

     mod-return
	    Swap the focused window and the master window

     mod-shift-j
	    Swap the focused window with the next window

     mod-shift-k
	    Swap the focused window with the previous window

     mod-h  Shrink the master area

     mod-l  Expand the master area

     mod-t  Push window back into tiling

     mod-comma
	    Increment the number of windows in the master area

     mod-period
	    Deincrement the number of windows in the master area

     mod-shift-q
	    Quit xmonad

     mod-q  Restart xmonad

     mod-shift-slash
	    Run  xmessage  with a summary of the default keybindings (useful for
	    beginners)

     mod-question
	    Run xmessage with a summary of the default keybindings  (useful  for
	    beginners)

     mod-[1..9]
	    Switch to workspace N

     mod-shift-[1..9]
	    Move client to workspace N

     mod-{w,e,r}
	    Switch to physical/Xinerama screens 1, 2, or 3

     mod-shift-{w,e,r}
	    Move client to screen 1, 2, or 3

     mod-button1
	    Set the window to floating mode and move by dragging

     mod-button2
	    Raise the window to the top of the stack

     mod-button3
	    Set the window to floating mode and resize by dragging

Examples
     To use xmonad as your window manager add to your ~/.xinitrc file:

	    exec xmonad

Customization
     xmonad is customized in your xmonad.hs, and then restarted with mod-q.  You
     can choose where your configuration file lives by

     1. Setting   XMONAD_DATA_DIR,   XMONAD_CONFIG_DIR,   and  XMONAD_CACHE_DIR;
	xmonad.hs is then expected to be in XMONAD_CONFIG_DIR.

     2. Creating xmonad.hs in ~/.xmonad.

     3. Creating xmonad.hs in XDG_CONFIG_HOME.	Note that, in this case,  xmonad
	will  use XDG_DATA_HOME and XDG_CACHE_HOME for its data and cache direc-
	tory respectively.

     You can find many extensions to the core feature set in the xmonad- contrib
     package,  available  through  your  package  manager  or  from   xmonad.org
     (https://xmonad.org).

   Modular Configuration
     As  of  xmonad-0.9,  any  additional  Haskell  modules  may  be  placed  in
     ~/.xmonad/lib/ are available in GHC's searchpath.	Hierarchical modules are
     supported: for example, the file  ~/.xmonad/lib/XMonad/Stack/MyAdditions.hs
     could contain:

	    module XMonad.Stack.MyAdditions (function1) where
	      function1 = error "function1: Not implemented yet!"

     Your  xmonad.hs  may then import XMonad.Stack.MyAdditions as if that module
     was contained within xmonad or xmonad-contrib.

Bugs
     Probably.	 If  you  find	any,  please  report  them  to	the   bugtracker
     (https://github.com/xmonad/xmonad/issues)

Tiling Window Manager		 27 October 2021		       XMONAD(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=xmonad&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help