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

FreeBSD Manual Pages

  
 
  

home | help
ALTTAB(1)		    General Commands Manual		     ALTTAB(1)

NAME
       alttab -	the task switcher

SYNOPSIS
       alttab  [-w  N]	[-d N] [-sc N] [-mk str] [-kk str] [-bk	str] [-pk str]
       [-nk str] [-ck str] [-dk	str] [-mm N] [-bm N] [-t NxM]  [-i  NxM]  [-vp
       str]  [-p  str]	[-s  N]	 [-theme name] [-bg color] [-fg	color] [-frame
       color] [-inact color] [-min color] [-bc color]  [-bw  N]	 [-font	 name]
       [-vertical] [-sortmin] [-e] [-b N] [-ns]	[-v|-vv]

DESCRIPTION
       The  task  switcher designed for	minimalistic window managers or	stand-
       alone X11 session.

       Unlike task switchers integrated	in most	simple	WMs,  alttab  features
       visual interface	and convenient tactile behaviour, switching windows on
       releasing Alt key.

       Being  lightweight  and	depending only on core X11 libs, it still fea-
       tures customizable look and behaviour.

OPTIONS
       Most command line options have corresponding X resource,	 see  doc/alt-
       tab.ad for example.

       -w NUMBER
	      resource:	alttab.windowmanager
	      default: autodetect, fallback to 3

	      Control  how to obtain window list and set focus.	NUMBER must be
	      between 0	and 3:

	      0: No WM,	raw X.

	      Set  this	 value	manually,  as  it's  not  autodetected.	  Only
	      top-level	 viewable  children of root window are listed. Running
	      -w 0 under WM is discouraged: hidden windows or windows  on  an-
	      other desktops will not be listed; instead, some strange windows
	      may be included.

	      1: EWMH compatible.

	      Compatible  WM  list  is	in SEE ALSO below. alttab functions in
	      xmonad (EWMH must	be allowed, details in	doc/wm-setup.md),  i3,
	      evilwm,  xfwm4, metacity,	jwm, openbox, fluxbox, icewm, enlight-
	      enment, blackbox,	aewm, fvwm, sawfish, bspwm. The	following  WMs
	      support  EWMH  partially	but  work in -w	1 mode too: dwm	(issue
	      #9), matchbox (issue #34), windowmaker (issue #9),  xpra	(issue
	      #37),  cwm  (issue #35), ctwm (issue #39), lwm (issue #40), awe-
	      some (issue #41).

	      2: Ratpoison.

	      Alttab uses ratpoison own	remote control capability. Also,  alt-
	      tab registers itself in its "unmanaged list" automatically.

	      3: Ancient WM.

	      Fallback,	worse than 0. Search for application windows at	random
	      nodes  of	 window	 tree  (WM is probably reparenting) and	select
	      only those with a	name, including	non-viewable (WM  is  probably
	      iconifying). May cause lag. Tested in twm, flwm, wm2.

       -d NUMBER
	      resource:	alttab.desktops
	      default: 0

	      Show  windows belonging to desktops (workspaces, groups).	NUMBER
	      must be between 0	and 4:

	      0: Current desktop.

	      This is default, although	in non EWMH-compatible WM, except rat-
	      poison, it's effectively the same	as 1.

	      1: All desktops.

	      2: All desktops, excluding special (-1) one.

	      In various EWMH WM this desktop may be designed hidden  or  con-
	      taining sticky windows. In i3, it's "scratchpad".

	      3: All desktops, excluding current and special.

	      4: Special (-1) desktop only.

       -sc NUMBER
	      resource:	alttab.screens
	      default: 1

	      Show  windows  belonging to xrandr/xinerama screens. NUMBER must
	      be 0 or 1:

	      0: Current screen.

	      As defined according to -vp pointer or -vp focus.

	      1: All screens.

	      This is default.

       -mk str
	      resource:	alttab.modifier.keysym
	      default: Alt_L (i.e. Left	Alt)

	      Keysym of	main modifier. String or number	accepted. Suitable ex-
	      amples: Control_L, Super_L.

       -kk str
	      resource:	alttab.key.keysym
	      default: Tab

	      Keysym of	main key. For example, grave (aka tilde), Escape.

       -bk str
	      resource:	alttab.backscroll.keysym
	      default: any Shift, according to ShiftMask

	      Keysym of	backward scroll	key.

       -pk str
	      resource:	alttab.prevkey.keysym
	      default: no key assigned

	      Keysym of	auxiliary 'previous' key. For example, Left, H.

       -nk str
	      resource:	alttab.nextkey.keysym
	      default: no key assigned

	      Keysym of	auxiliary 'next' key. For example, Right, L.

       -ck str
	      resource:	alttab.cancelkey.keysym
	      default: Escape

	      Keysym of	auxiliary 'cancel' key.

       -dk str
	      resource:	alttab.killkey.keysym
	      default: k

	      Keysym of	key for	killing	X client to which  currently  selected
	      window belongs.

       -mm NUM
	      resource:	alttab.modifier.mask

	      OBSOLETED, guessed from -mk instead.

       -bm NUM
	      resource:	alttab.backscroll.mask

	      OBSOLETED, guessed from -bk instead.

       -t NNxMM
	      resource:	alttab.tile.geometry
	      default: 112x128

	      Size of a	single tile (mini-window). If switcher doesn't fit the
	      viewport (-vp), tile may be thinner.

       -i NNxMM
	      resource:	alttab.icon.geometry
	      default: 32x32

	      Size of icons.

       -vp str
	      resource:	alttab.viewport
	      default: focus

	      Limit  viewport  for the switcher. The switcher always has vari-
	      able size	and position, but tries	to never break out of -vp con-
	      tainer, while -p specifies position relative to this  container.
	      Together	these  options	allow for WM-independent multi-monitor
	      support. Possible	values for -vp:

	      focus: in	 multihead  configuration:  the	 monitor  which	 shows
	      largest part of currently	focused	window.	If this	part is	shared
	      with other monitors, then	the smallest of	these monitors is cho-
	      sen.  In single head configuration: the geometry of default root
	      window.

	      pointer: the monitor which has mouse pointer, otherwise the same
	      as focus.

	      The "multihead" above means more than one	active XRANDR  output.
	      They  are	 detected at runtime, so hopefully monitors may	be at-
	      tached/detached without restarting alttab.

	      total: the geometry of default root window.

	      If you specify this in tiling multihead configuration, then  the
	      switcher	will  be drawn relative	to the entire combined screen,
	      crossing monitors' borders.

	      WxH+X+Y: Specific	position relative to default root window.

	      This allows for  static  manual  bounding	 if  XRANDR  detection
	      fails.  Suppose  X root window spans over	two 25601440 monitors,
	      resulting	 in  combined  screen  of  5120x1440  size.  Then  the
	      switcher	may  be	 positioned at the center of the right monitor
	      with -vp 2560x1440+2560+0	-p center.

       -p str resource:	alttab.position
	      default: center

	      Position of switcher: "center", "none" or	specific position rel-
	      ative to upper left corner of viewport, in the form +X+Y.

       -s NUMBER
	      resource:	alttab.icon.source
	      default: 2

	      Source of	icons. NUMBER must be between 0	and 5:

	      0: Use icons from	X11 window attributes only.

	      1: Load icon from	file if	not found in window attributes.

	      Alttab searches for PNG and XPM icons in $XDG_DATA_DIRS and also
	      under:

	      /usr/share/icons
	      /usr/local/share/icons
	      ~/.icons
	      ~/.local/share/icons

	      Directory	structure should obey freedesktop standard, but	 desk-
	      top files	are ignored, instead file name is expected to be equal
	      to  application  class.  That is,	if alttab doesn't recognize an
	      icon for window of class foo, as obtained	by  'xprop  WM_CLASS',
	      then  just  drop	a  32x32  icon into /usr/local/share/icons/hi-
	      color/32x32/apps/foo.png.

	      Also, alttab scans  for  icons  in  legacy  directories  without
	      freedesktop directory structure:

	      /usr/share/pixmaps
	      ~/.local/share/pixmaps

	      2:  Prefer  icon from file when it matches requested size	better
	      (see -i option).

	      3: Use icons from	files only.

	      4: Don't draw icons.

	      5: Prefer	icon from X11 window attributes	when  it  matches  re-
	      quested size better.

       -theme name
	      resource:	alttab.theme
	      default: hicolor

	      Desktop theme for	application icons. Used	when -s	is 1, 2	or 3.

       The  following six options accept color names or	#rrggbb. Special value
       _rnd_low	or _rnd_high produce random color  from	 lower	or  upper  RGB
       space respectively.

       -bg color
	      resource:	alttab.background
	      default: black

	      Tile background color.

       -fg color
	      resource:	alttab.foreground
	      default: grey

	      Foreground color.

       -frame color
	      resource:	alttab.framecolor
	      default: #a0abab

	      Color of frame around selected tile.

       -inact color
	      resource:	alttab.inactcolor
	      default: foreground color

	      Color of frame around non-selected tiles.

       -min color
	      resource:	alttab.mincolor
	      default: frame color

	      In stacking WM, color of frame for minimized windows.

       -bc color
	      resource:	alttab.bordercolor
	      default: black

	      Color  of	 extra	border around the entire switcher. This	border
	      may look redundant. Do not confuse with -frame.

       -bw N  resource:	alttab.borderwidth
	      default: 0 (no extra border)

	      Width of extra border above.

       -font name
	      resource:	alttab.font
	      default: xft:sans-10

	      Label font name in format: xft:fontconfig_pattern, like in emacs
	      and rxvt.	See SEE	ALSO for fontconfig pattern. It's neither  GTK
	      font pattern nor legacy XLFD.

       Your  Xresources	database probably already has *background, *foreground
       or *font	wildcard definitions, which alttab will	obey. Precedence order
       (preferred first):

       alttab.font resource,
       -font option,
       wildcard	resource like *font in xfd: format.

       -vertical
	      resource:	alttab.vertical
	      default: no

	      Vertical layout.

       -sortmin
	      resource:	alttab.sortmin
	      default: no

	      Sort minimized windows last.

       -e     resource:	alttab.keep
	      default: no

	      On release of Alt, don't switch, keep showing the	switcher. This
	      allows for external call:	xdotool	 key  alt+Tab  .  See  doc/mo-
	      bile.md for possible usage.

       -b NUMBER
	      resource:	alttab.bottomline
	      default: 0

	      Content  of  auxiliary  line  at the bottom of each tile.	NUMBER
	      must be between 0	and 2:

	      0: Empty.

	      1: Name of desktop to which the window belongs.

	      2: User name.  Requires  _NET_WM_PID  freedesktop	 property  and
	      /proc file system.

       -ns    resource:	alttab.noskiptaskbar
	      default: no

	      Ignore  application  request  of	not  including	a  window on a
	      taskbar.

       -v, -vv
	      resource:	no
	      default: silent

	      Verbosity.

       -h     short help

CAVEATS
       Run alttab after	WM, or autodetection will fail.

AUTHOR
       Copyright 2017-2026 Alexander Kulak <sa-dev AT odd POINT	systems>.

REPORTING BUGS
       Please report issues on github https://github.com/sagb/alttab/issues.

SEE ALSO
       EWMH  compatible	 WM  list  https://en.wikipedia.org/wiki/Extended_Win-
       dow_Manager_Hints#List_of_window_managers_that_support_Extended_Win-
       dow_Manager_Hints.

       Description  of	fontconfig  pattern  https://www.freedesktop.org/soft-
       ware/fontconfig/fontconfig-user.html.

				   May 2026			     ALTTAB(1)

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

home | help