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 dy-
       namically reconfigured.	At any time windows are	arranged so as to max-
       imize the use of	screen real estate.  All features of the window	manag-
       er are accessible purely	from the keyboard: a mouse is entirely option-
       al.   xmonad is configured 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
       prevent 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  correct-
       ness  and  robustness.	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.
       Windows	are either displayed full screen, tiled	horizontally, or tiled
       vertically.  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
       workspace 5, you	would press mod-5.  Similarly, you can move  the  cur-
       rent 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 visible 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	directory respectively.

       You can find many extensions to the core	feature	 set  in  the  xmonad-
       contrib	package,  available through your package manager or from xmon-
       ad.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/MyAddi-
       tions.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 mod-
       ule 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.0.quarterly>

home | help