X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=scrotwm.1;h=67124d19c160dbfb384a5b4041ab40c175bcc413;hb=546e1cf5fee716184eb9d54580a1294d973975af;hp=72d86bcf6b8587ff5d48da28b11094f7fb4a6636;hpb=ae6a9b20ce19ff7bb595b012b1604fd0a7f0e157;p=spectrwm.git diff --git a/scrotwm.1 b/scrotwm.1 index 72d86bc..67124d1 100644 --- a/scrotwm.1 +++ b/scrotwm.1 @@ -19,7 +19,7 @@ .Os .Sh NAME .Nm scrotwm -.Nd small dynamic tiling window manager for X11. +.Nd window manager for X11 .Sh SYNOPSIS .Nm scrotwm .Sh DESCRIPTION @@ -29,157 +29,344 @@ valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration. It was written by hackers for hackers and it strives to be small, compact and -fast. +fast. +.Pp +When +.Nm +starts up, it reads settings from its configuration file, +.Pa scrotwm.conf . +See the +.Sx CONFIGURATION FILES +section below. .Pp The following notation is used throughout this page: .Pp .Bl -tag -width Ds -offset indent -compact -.It Ic M +.It Cm M Meta -.It Ic S +.It Cm S Shift -.It Ic [Name] +.It Aq Cm Name Named key -.It Ic M1 +.It Cm M1 Mouse button 1 +.It Cm M3 +Mouse button 3 .El .Pp .Nm is very simple in its use. -Most of the actions are initiated via keybindings. -The current keybindings are described below: -.Pp -.Bl -tag -width "C-M-EscapeXXX" -offset indent -compact -.It Ic M-S-[Return] -Spawn a new terminal. -.It Ic M-p -Menu. -.It Ic M-S-q -Quit. -.It Ic M-q -Restart -.Nm . -.It Ic M-[Space] -Cycle layout. -.It Ic M-S-[Space] -Reset layout. -.It Ic M-h -Shrink master area. -.It Ic M-l -Grow master area. -.It Ic M-, -Add windows to master area. -.It Ic M-. -Remove windows from master area. -.It Ic M-[Return] -Move current window to master area. -.It Ic M-j -Focus next window in workspace. -.It Ic M-[Tab] -Focus next window in workspace. -.It Ic M-k -Focus previous window in workspace. -.It Ic M-S-[Tab] -Focus previous window in workspace. -.It Ic M-m -Focus on main window in workspace. -.It Ic M-S-j -Swap with next window in workspace. -.It Ic M-S-k -Swap with previous window in workspace. -.It Ic M-b -Toggle status bar in all workspaces. -.It Ic M-S-x -Destroy current window in workspace. -.It Ic M-[Number] -Switch to workspace [Number]. -.It Ic M-S-[Number] -Move current window to workspace [Number]. -.It Ic M-[Right] -Switch to next workspace with a window in it. -.It Ic M-[Left] -Switch to previous workspace with a window in it. -.It Ic M-S-[Right] -Move pointer to next region. -.It Ic M-S-[Left] -Move pointer to previous region. -.It Ic M-s -Take screenshot of entire screen (if enabled). -.It Ic M-S-s -Take screenshot of selected window (if enabled). -.It Ic M1 -Focus window. -.El -.Pp -.Pp -.Sh FILES -.Bl -tag -width Ds -.It Pa ~/.scrotwm.conf -This file contains user specific settings. -.It Pa /etc/scrotwm.conf -This file contains global settings. -.El -.Pp +Most of the actions are initiated via key or mouse bindings. +See the +.Sx BINDINGS +section below for defaults and customizations. +.Sh CONFIGURATION FILES .Nm -first tries to open the user specific file. -If that file is unavailable it tries to open the global file next. +first tries to open the user specific file, +.Pa ~/.scrotwm.conf . +If that file is unavailable, +it then tries to open the global configuration file +.Pa /etc/scrotwm.conf . +.Pp +The format of the file is \*(Ltkeyword\*(Gt = \*(Ltsetting\*(Gt. +For example: .Pp -The format of the file is = . -E.g. color_focus = red. +.Dl color_focus = red .Pp Enabling or disabling an option is done by using 1 or 0 respectively. .Pp The file supports the following keywords: -.Bl -tag -width "C-M-EscapeXXX" -offset indent -compact -.It Ic color_focus +.Pp +.Bl -tag -width "screenshot_enabledXXX" -offset indent -compact +.It Cm color_focus Border color of the currently focussed window. -.It Ic color_unfocus +.It Cm color_unfocus Border color of unfocussed windows. -.It Ic bar_enabled +.It Cm bar_enabled Enable or disable status bar. -.It Ic bar_border[x] -Color of the status bar border in screen x. -.It Ic bar_color[x] -Color of the status bar window in screen x. -.It Ic bar_font_color[x] -Color of the font in status bar in screen x. -.It Ic bar_font +.It Cm bar_border Ns Bq Ar x +Color of the status bar border in screen +.Ar x . +.It Cm bar_color Ns Bq Ar x +Color of the status bar window in screen +.Ar x . +.It Cm bar_font_color Ns Bq Ar x +Color of the font in status bar in screen +.Ar x . +.It Cm bar_font Status bar font. -.It Ic bar_action -External script that populates additional information in the status bar such as -battery life etc. -.It Ic bar_delay +.It Cm bar_action +External script that populates additional information in the status bar, +such as battery life. +.It Cm bar_delay Update frequency, in seconds, of external script that populates the status bar. -.It Ic spawn_term -External application that gets spawned when M-S-[Return] is used. -.It Ic dialog_ratio -Some applications have dialog windows that are too small to be useful. -This ratio is the screen size as to what they will be resized. -E.g 0.6 is 60% of the physical screen size. -.It Ic screenshot_enabled +.It Cm clock_enabled +Enable or disable displaying the clock in the status bar. Disable by +setting to 0 so a custom clock could be used in the bar_action script. +.It Cm spawn_term +External application that gets spawned when +.Cm M-S- Ns Aq Cm Return +is used. +.It Cm dialog_ratio +Some applications have dialogue windows that are too small to be useful. +This ratio is the screen size to what they will be resized. +For example, 0.6 is 60% of the physical screen size. +.It Cm region +Allocates a custom region, removing any autodetected regions which occupy the same +space on the screen. +Defined in the format screen[]:WIDTHxHEIGHT+X+Y, e.g. screen[1]:800x1200+0+0. +.It Cm screenshot_enabled Enable or disable screenshot capability. -.It Ic screenshot_app +.It Cm screenshot_app Set to the script that will take screenshots. It will be called with "full" or "window" as parameter 1 to indicate what screenshot action is expected. The script shall handle those cases accordingly. +.It Cm term_width +Set a preferred minimum width for the terminal +If this value is greater than 0, +.Nm +will attempt to adjust the font sizes in the terminal to keep the terminal +width above this number as the window is resized. +Only +.Xr xterm 1 +is currently supported. +The +.Xr xterm 1 +binary must not be setuid or setgid, which it is by default on most systems. +Users may need to set spawn term to use an alternate copy of the +.Xr xterm 1 +binary without the setgid bit set. +.It Cm modkey +Change mod key. +Mod1 is generally the ALT key and Mod4 is the windows key on a PC. +.It Cm bind Ns Bq Ar x +Bind key combo to action +.Ar x . +See the +.Sx BINDINGS +section below. .El .Pp Colors need to be specified per the -.Xr XQueryColor 4 +.Xr XQueryColor 3 specification and fonts need to be specified per the -.Xr XQueryFont 4 +.Xr XQueryFont 3 specification. -.Sh BUGS -Currently the menu, invoked with M-p, depends on dmenu. +.Sh BINDINGS +.Nm +provides many functions (or actions) accessed via key or mouse bindings. +.Pp +The current mouse bindings are described below: +.Pp +.Bl -tag -width "M-j, M-XXX" -offset indent -compact +.It Cm M1 +Focus window +.It Cm M-M1 +Move window +.It Cm M-M3 +Resize window +.It Cm M-S-M3 +Resize window while maintaining it centered +.El +.Pp +The default key bindings are described below: +.Pp +.Bl -tag -width "M-j, M-XXX" -offset indent -compact +.It Cm M-S- Ns Aq Cm Return +spawn_term +.It Cm M-p +spawn_menu +.It Cm M-S-q +quit +.It Cm M-q +restart +.Nm +.It Cm M- Ns Aq Cm Space +cycle_layout +.It Cm M-S- Ns Aq Cm Space +reset_layout +.It Cm M-h +master_shrink +.It Cm M-l +master_grow +.It Cm M-, +master_add +.It Cm M-. +master_del +.It Cm M-S-, +stack_inc +.It Cm M-S-. +stack_del +.It Cm M- Ns Aq Cm Return +swap_main +.It Xo +.Cm M-j , +.Cm M- Ns Aq Cm TAB +.Xc +focus_next +.It Xo +.Cm M-k , +.Cm M-S- Ns Aq Cm TAB +.Xc +focus_prev +.It Cm M-m +focus_main +.It Cm M-S-j +swap_next +.It Cm M-S-k +swap_prev +.It Cm M-b +bar_toggle +.It Cm M-x +wind_del +.It Cm M-S-x +wind_kill +.It Cm M- Ns Aq Ar n +.Ns ws_ Ns Ar n +.It Cm M-S- Ns Aq Ar n +.Ns mvws_ Ns Ar n +.It Cm M- Ns Aq Cm Right +ws_next +.It Cm M- Ns Aq Cm Left +ws_prev +.It Cm M-S- Ns Aq Cm Right +screen_next +.It Cm M-S- Ns Aq Cm Left +screen_prev +.It Cm M-s +screenshot_all +.It Cm M-S-s +screenshot_wind +.It Cm M-S-v +version +.It Cm M-t +float_toggle +.It Cm M-S Aq Cm Delete +spawn_lock +.It Cm M-S-i +spawn_initscr +.El +.Pp +The action names and descriptions are listed below: +.Pp +.Bl -tag -width "M-j, M-XXX" -offset indent -compact +.It Cm spawn_term +Spawn a new terminal +.It Cm spawn_menu +Menu +.It Cm quit +Quit +.Nm +.It Cm restart +Restart +.Nm +.It Cm cycle_layout +Cycle layout +.It Cm reset_layout +Reset layout +.It Cm master_shrink +Shrink master area +.It Cm master_grow +Grow master area +.It Cm master_add +Add windows to master area +.It Cm master_del +Remove windows from master area +.It Cm stack_inc +Add columns/rows to stacking area +.It Cm stack_del +Remove columns/rows from stacking area +.It Cm swap_main +Move current window to master area +.It Cm focus_next +Focus next window in workspace +.It Cm focus_prev +Focus previous window in workspace +.It Cm focus_main +Focus on main window in workspace +.It Cm swap_next +Swap with next window in workspace +.It Cm swap_prev +Swap with previous window in workspace +.It Cm bar_toggle +Toggle status bar in all workspaces +.It Cm wind_del +Delete current window in workspace +.It Cm wind_kill +Destroy current window in workspace +.It Cm ws_ Ns Ar n +Switch to workspace +.Ar n , +where +.Ar n +is 1 through 10 +.It Cm mvws_ Ns Ar n +Move current window to workspace +.Ar n , +where +.Ar n +is 1 through 10 +.It Cm ws_next +Switch to next workspace with a window in it +.It Cm ws_prev +Switch to previous workspace with a window in it +.It Cm screen_next +Move pointer to next region +.It Cm screen_prev +Move pointer to previous region +.It Cm screenshot_all +Take screenshot of entire screen (if enabled) +.It Cm screenshot_wind +Take screenshot of selected window (if enabled) +.It Cm version +Toggle version in status bar +.It Cm float_toggle +Toggle focused window between tiled and floating +.It Cm spawn_lock +Lock screen +.It Cm spawn_initscr +Reinitialize physical screens +.El +.Pp +Custom bindings in the configuration file are specified as follows: +.Pp +.Dl bind[] = +.Pp +.Aq action +is one of the actions listed above (or empty) and +.Aq keys +is in the form of zero or more modifier keys +(MOD, Mod1, Shift, etc.) and one or more normal keys +(b, space, etc.), separated by "+". For example: +.Bd -literal -offset indent +bind[reset] = Mod4+q # bind Windows-key + q to reset +bind[] = Mod1+q # unbind Alt + q +.Ed +.Pp +Multiple key combinations may be bound to the same action. +.Sh FILES +.Bl -tag -width "/etc/scrotwm.confXXX" -compact +.It Pa ~/.scrotwm.conf +.Nm +user specific settings. +.It Pa /etc/scrotwm.conf +.Nm +global settings. +.El +.Sh HISTORY +.Nm +was inspired by xmonad & dwm. .Sh AUTHORS .An -nosplit .Pp .Nm was written by -.An Marco Peereboom Aq marco@peereboom.us +.An Marco Peereboom Aq marco@peereboom.us , +.An Ryan Thomas McBride Aq mcbride@countersiege.com and -.An Ryan Thomas McBride Aq mcbride@countersiege.com . -.Sh HISTORY -.Nm -was inspired by xmonad & dwm. +.An Darrin Chandler Aq dwchandler@stilyagin.com . +.Sh BUGS +Currently the menu, invoked with +.Cm M-p , +depends on dmenu.