From 571fedb62290ec6fc059830efc6ffaaff337e3d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9mie=20Courr=C3=A8ges-Anglas?= Date: Thu, 20 Feb 2014 01:20:05 +0100 Subject: Replace man(7) manpage with a mdoc(7)-formatted one. * The former manpage needed Groff to be properly formatted, this is a dependancy I want to remove. Support for systems where neither groff nor mandoc are available is achieved by generating a man(7) manpage, which will be shipped in the tarballs. * The mdoc(7) language provides semantic annotations for better documentation of Unix utilities, contrary to man(7) which provides mere presentation markup. * The build system now encodes paths in the manpage according to the settings passed to ./configure. Note that some markup used may not be perfectly appropriate. Comments about this matter, and questions from distro maintainers using manpage patches are welcome. Selected reading: - http://mdocml.bsd.lv general information about mdoc(7) - http://mdocml.bsd.lv/mdoc.7.html mdoc(7) macros reference - http://manpages.bsd.lv/ mdoc(7) tutorial --- doc/.gitignore | 2 + doc/Makefile.am | 19 +- doc/ratpoison.1 | 841 ------------------------------------ doc/ratpoison.mdoc.1 | 1175 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 1194 insertions(+), 843 deletions(-) delete mode 100644 doc/ratpoison.1 create mode 100644 doc/ratpoison.mdoc.1 (limited to 'doc') diff --git a/doc/.gitignore b/doc/.gitignore index 96a20f1..22a34ab 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -1,3 +1,5 @@ texinfo.tex ratpoison.info ratpoison.html/ +ratpoison.1 +ratpoison.man.1 diff --git a/doc/Makefile.am b/doc/Makefile.am index e653893..1b8da1c 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -19,5 +19,20 @@ info_TEXINFOS = ratpoison.texi man_MANS = ratpoison.1 -EXTRA_DIST = $(man_MANS) sample.ratpoisonrc ipaq.ratpoisonrc fdl.texi -MAINTAINERCLEANFILES = Makefile.in texinfo.tex +CLEANFILES = ratpoison.1 +EXTRA_DIST = $(srcdir)/ratpoison.mdoc.1 $(srcdir)/ratpoison.man.1 sample.ratpoisonrc ipaq.ratpoisonrc fdl.texi +MAINTAINERCLEANFILES = $(srcdir)/ratpoison.man.1 Makefile.in texinfo.tex + +ratpoison.1: $(srcdir)/ratpoison.$(manpage_format).1 Makefile + tmp=`mktemp` && \ + sed -e 's|%%sysconfdir%%|$(sysconfdir)|g' \ + -e 's|%%docdir%%|$(docdir)|g' \ + < $(srcdir)/ratpoison.$(manpage_format).1 > "$$tmp" && \ + chmod 0644 "$$tmp" && \ + mv "$$tmp" ratpoison.1 + +$(srcdir)/ratpoison.man.1: $(srcdir)/ratpoison.mdoc.1 + tmp=`mktemp` && \ + $(MANDOC) -Tman < $(srcdir)/ratpoison.mdoc.1 > "$$tmp" && \ + chmod 0644 "$$tmp" && \ + mv "$$tmp" $(srcdir)/ratpoison.man.1 diff --git a/doc/ratpoison.1 b/doc/ratpoison.1 deleted file mode 100644 index 45ac05f..0000000 --- a/doc/ratpoison.1 +++ /dev/null @@ -1,841 +0,0 @@ -.TH RATPOISON 1 2008-06-15 -\# This man page is free software; you can redistribute it and/or modify -\# it under the terms of the GNU General Public License as published by -\# the Free Software Foundation; either version 2, or (at your option) -\# any later version. -\# -\# This man page is distributed in the hope that it will be useful, -\# but WITHOUT ANY WARRANTY; without even the implied warranty of -\# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -\# GNU General Public License for more details. -\# -\# You should have received a copy of the GNU General Public License -\# along with this software; see the file COPYING. If not, write to -\# the Free Software Foundation, Inc., 59 Temple Place, Suite 330, -\# Boston, MA 02111-1307 USA -.de command -. ds command@tmp \fB\\$1\fP -. nr command@space 1 -. shift -. while \\n[.$] \{\ -. ie '\\$1'[' \{\ -. if ( \\n[command@space] == 1 ) .as command@tmp \& \& -. as command@tmp [ -. nr command@space 0 -. \} -. el .ie '\\$1']' \{\ -. as command@tmp ] -. nr command@space 1 -. \} -. el .ie '\\$1'|' \{\ -. as command@tmp | -. nr command@space 0 -. \} -. el .ie '\\$1'(' \{\ -. as command@tmp \& (\fB -. nr command@space 0 -. shift -. while !'\\$1')' \{\ -. ie '\\$1'|' .as command@tmp \fP|\fB\h'-1' -. el \{\ -. if ( \\n[command@space] == 1 ) .as command@tmp \& \& -. as command@tmp \\$1 -. nr command@space 1 -. \} -. shift -. \} -. shift -. as command@tmp \fP) -. nr command@space 0 -. \} -. el \{\ -. if ( \\n[command@space] == 1 ) .as command@tmp \& \& -. as command@tmp \fI\\$1\fR -. nr command@space 1 -. \} -. shift -. \} -\&\\*[command@tmp] -.. -.de cmd -.TP -.command \\$@ -.br -.. -.de var -.TP -.command \\$@ -.br -.. -.SH NAME -ratpoison \- window manager without mouse dependency -.P -.SH SYNOPSIS -.B ratpoison \-\-help -| -.B \-\-version -.br -.B ratpoison -.RB [ \-d -.IR dpy ] -.RB [ \-s -.IR num ] -.RB [ \-f -.IR file ] -.br -.B ratpoison -.RB [ \-d -.IR dpy ] -.RB [ \-s -.IR num ] -.RB [ \-i ] -.B \-c -.IR command -.RB [ \-c -.I command -\&... ] -.SH DESCRIPTION -Ratpoison is a Window Manager without fat library -dependencies, fancy graphics or rat dependence. - -The screen can be split into non-overlapping frames. All -windows are kept maximized inside their frames. - -All interaction with the window manager is done through -keystrokes. ratpoison has a prefix map to minimize -key clobbering. -.SH OPTIONS -.TP -.B \-h, \-\-help -Show summary of options. -.TP -.B \-v, \-\-version -Show version of program. -.TP -.B \-d, \-\-display \fIdisplay\fP -Set the X display to use or send commands to. -.TP -.B \-s, \-\-screen \fInumber\fP -Only use the specified screen. -.TP -.B \-f, \-\-file \fIfilename\fP -Specify an alternate configuration file. -If this is not given, ratpoison will try -.B $HOME/.ratpoisonrc -and if that does not exist -.B /etc/ratpoisonrc -and execute each command when starting up. -.TP -.B \-i, \-\-interactive -Execute commands given with -.B \-c -or -.B \-\-command -in interactive mode. -That means it will behave exactly as if called with -.B C\-t : -like prompting for missing arguments and things like that. -.TP -.B \-c, \-\-command -Send ratpoison a command. -There must be a ratpoison instance -running as window manager for the given display/screen for -this to work. -Do not forget to quote the command if it contains -spaces. -For example: -.br -\fBratpoison \-c "echo hello world"\fP -.SH KEY BINDINGS -To avoid conflicts with other programs, all default ratpoison -key bindings start with an escape key, per default -.B C\-t -(read Control\-t). -Some important default key bindings: -.PP -.B C\-t ?\& -Show key bindings -.br -.B C\-t c -Start an X terminal -.br -.B C\-t n -Switch to next window -.br -.B C\-t p -Switch to previous window -.br -.B C\-t 1\fP|\fB2\fP|\fB3\fP|\fB4\fP|\fB5\fP|\fB6\fP|\fB7\fP|\fB8\fP|\fB9 -Switch to window number 1|2|... -.br -.B C\-t k -Close the current window -.br -.B C\-t K -XKill the current application -.br -.B C\-t s\fP|\fBS -Split the current frame into two vertical|horizontal ones -.br -.B C\-t Tab\fP|\fBLeft\fP|\fBUp\fP|\fBRight\fP|\fBDown -Switch to the next|left|top|right|bottom frame. -.br -.B C\-t Q -Make the current frame the only one -.br -.B C\-t : -Execute a ratpoison command -.PP -Further default key bindings can be found in parentheses -after the commands in the next section: -.SH COMMANDS AND DEFAULT ALIASES -.cmd abort ( C\-t C\-g ) -Do nothing and that successfully. -(Useful if you pressed -\fBC\-t\fP in error). -.cmd addhook event command -Add a hook: Run command \fIcommand\fP whenever \fIevent\fP -is called. -Possible events are: -.ta 10 -.br -\fBdeletewindow\fP Run after a window is withdrawn. -.br -\fBnewwindow\fP Run after a new window is mapped. -.br -\fBkey\fP Run whenever a top level key is pressed. -(by default \fBC\-t\fP) -.br -\fBquit\fP Run before exiting ratpoison. -.br -\fBrestart\fP Run before restarting ratpoison. -.br -\fBswitchframe\fP Run after a frame actually switched, -but before the window in it is focused. -.br -\fBswitchgroup\fP Run after selecting a new group. -.br -\fBswitchwin\fP Run after a new window is selected. -(With dedication, -it may already be inactive again, if it was put into another frame) -.br -\fBtitlechanged\fP Run when the current window's title changes. -.cmd alias alias command -Add \fIalias\fP as new way to call \fIcommand\fP. -.cmd bind key command -alias for "\fBdefinekey root\fP \fIkey\fP \fIcommand\fP" -.cmd banish ( C\-t b ) -Banish the rat cursor to the lower right corner of the screen. -.cmd banishrel -Banish the rat cursor to the lower right corner of the current window. -If there isn't a window in the current frame, it banishes the rat cursor -to the lower right corner of the frame. -.cmd chdir [ directory ] -If the optional argument is given, change the current directory -of ratpoison to \fIdirectory\fP. -If nothing is given, change -it to the value of the environment variable "HOME". -.cmd clrunmanaged -Clears the unmanaged window list. -.cmd cnext -Like \fBnext\fP but switch to the next window with another -resource class than the current one. -(That means the next window belonging to another type of application - than the current one.) -.cmd cprev -Like \fBprev\fP but switch to the previous window with another -resource class than the current one. -(That means the previous window belonging to another type of application - than the current one.) -.cmd colon ratpoison\-command ( C\-t : ) -Execute \fIratpoison\-command\fP interactively. (i.e. ask for possible -missing arguments.) -.cmd compat -Add aliases for the new \fBset\fP commands starting with \fBdef\fP to support older -scripts. -.cmd cother -Like \fBother\fP but switch to the window of the current group that was last -accessed and has another resource class but is not currently visible. -.cmd curframe ( C\-t F ) -Show a bar marking the current frame. -.cmd definekey keymap key command -Add a new key binding in \fIkeymap\fP for \fIkey\fP to execute \fIcommand\fP. -Default keymaps are \fBtop\fP normally only containing \fBC\-t\fP, which -reads a key from \fBroot\fP, containing all the normal commands. - -Note that you have to describe ":" by "colon", "!" by "exclam" and so on. -If you cannot guess a name of a key, try either \fBC\-t\fP \fIkey\fP -and look at the error message, or try \fB:describekey root\fP and pressing -the key. -.cmd def... -When \fBcompat\fP was called there are some aliases starting with \fIdef\fP, which -alias the new form with \fBset\fP. I.e. instead of \fB defresizeunit\fP -better use the new \fBset resizeunit\fP and so on... -.cmd dedicate [ \fB0 | \fB1\fP ] -Consider the current frame dedicated/chaste (\fB1\fP) or promiscuous (\fB0\fP). -.br -A dedicated frame will not accept new windows. -When new windows are to be focused, they will be opened in a non-dedicated -frame instead. -.br -If no argument is given, toggle the current dedicateness. By default no -windows are dedicated. -.cmd delete ( C\-t k ) -Close the current window. -.cmd delkmap keymap -Deletes the keymap named \fIkeymap\fP, that was generated -with \fBnewkmap\fP. The keymaps \fBtop\fP -(or whatever was specified by \fBset topkmap\fP) and \fBroot\fP -cannot be deleted. -.cmd describekey keymap -Grab the next key. Similar to \fBreadkey\fP, describekey -shows only the command in \fIkeymap\fP, -that would be executed by \fBreadkey\fP. -.cmd echo text -Show \fItext\fP as ratpoison message. -.cmd escape key -Update the default escape key to \fIkey\fP. -.br -Strictly speaking it updates the the \fBreadkey root\fP command -in the keymap \fBtop\fP to \fIkey\fP, the \fBother\fP binding -in \fBroot\fP to \fIkey\fP, and \fBmeta\fP binding in \fBroot\fP -to \fIkey\fP without modifiers or \fBC\-\fP\fIkey\fP if \fIkey\fP -has no modifiers. -(If \fBset topkmap\fP was called with an argument other than \fBtop\fP -that will be used instead of \fBtop\fP.) -.cmd exchangedown ( C\-t C\-Down ) -Exchange the window in the current frame with the window in the frame below the current frame. -.cmd exchangeleft ( C\-t C\-Left ) -Exchange the window in the current frame with the window in the frame left of the current frame. -.cmd exchangeright ( C\-t C\-Right ) -Exchange the window in the current frame with the window in the frame right of the current frame. -.cmd exchangeup ( C\-t C\-Up ) -Exchange the window in the current frame with the window in the frame above the current frame. -.cmd exec shell\-command ( C\-t ! ) -Spawn a shell executing \fIshell\-command\fP. -.cmd execa shell\-command -Spawn a shell executing \fIshell\-command\fP, without remembering -the current frame, so that _NET_WM_PID declaring programs will be -placed into the frame active when they open a window instead of -the frame active when ratpoison gets this command. -.cmd execf frame shell\-command -Spawn a shell executing \fIshell\-command\fP, showing _NET_WM_PID -supporting programs in the given frame instead of the frame selected -when this program is run. -.cmd fdump [ screenno ] -Output the defining data for all frames of the current screen, or -for screen number \fIscreenno\fP if this is specified. -.cmd focus ( C\-t Tab ) -Focus the next frame. -.cmd focuslast -Switch to the last selected focus. -.cmd focusleft ( C\-t Left ) -Switch to the frame to the left of the current one. -.cmd focusdown ( C\-t Down ) -Switch to the frame beneath the current one. -.cmd focusright ( C\-t Right ) -Switch to the frame to the right of the current one. -.cmd focusprev -Focus the previous frame. -.cmd focusup ( C\-t Up ) -Switch to the frame above the current one. -.cmd frestore frames -Replace the current frames with the ones specified in \fIframes\fP in the -format as generated by \fBfdump\fP. -.cmd fselect [ frameno ] ( C\-t f ) -If an argument is supplied, switch to a frame given by number \fIframeno\fP. - -If no argument is given, show a frame selector in each frame and wait for -a key to be pressed. -If the key matches an existing frame selector, this frame gets focused. - -Frame selectors are by default the numbers starting with zero, but they -can be changed by \fBset\fPing \fBframesels\fP. -.cmd gdelete [ group ] -If the optional argument \fIgroup\fP is supplied, delete group -\fIgroup\fP. Otherwise delete the current group. -If the last -group is deleted, a new group with name \fBdefault\fP is created. -The group has to be empty, otherwise it cannot be deleted. -.cmd getenv variable -Output the value of the environment variable \fIvariable\fP. -.cmd getsel -Paste the current X Selection into the current window. -.cmd gmerge group -Move all windows from group \fIgroup\fP into the current group. -.cmd gmove group -Move the current window into group \fIgroup\fP. -.cmd gnew group -Create a new group with name \fIgroup\fP and select it. -Most window commands only see (and thus select, consider next, -previous or last) windows within the group active when they are -issued. -.cmd gnewbg group -Create a new group named \fIgroupf\fP, but do not select it. -.cmd gnext -Select the next group. Most window commands only see windows in the -effective group. -.cmd gnumber -Give the number \fInew\fP to the group with the number \fIold\fP or -the current group. -.cmd gother -Select the last accessed group. Most window commands only see windows in the -effective group. -.cmd gprev -Select the prior group. Most window commands only see windows in the -effective group. -.cmd gravity [ \fBnw | \fBw | \fBsw | \fBn | \fBc | \fBs | \fBne | \fBe | \fBse ] -Change how in its frame the current window is aligned. -.cmd grename -Rename current group. -.cmd groups -Output a list of all groups with their number. -.cmd gselect group -Select the group names \fIgroup\fP. -.cmd help [ keymap ] -If the optional parameter \fIkeymap\fP is given, -list all keybindings in this keymap, -otherwise list all key bindings in keymap \fIroot\fP. -.cmd hsplit [ l\fB/\fR\fIp | "pixels from left" | "\fB\-\fR\fIpixels from right" ] ( C\-t S ) -Split the current frame into left frame and a right frame. -If no parameter is given, split in halves. -If two numbers separated -by a slash\ ("\fB/\fP") are given, the left one is \fIl\fP times the \fIp\fPth part -and the right one (\fIp\fP\-\fIl\fP) times the \fIp\fPth part of the prior width. -Otherwise the right one is \fIpixels from right\fP wide or the left one -\fIpixels from left\fP wide, depending whether there is \fB\-\fP in front of -the number or not. -.cmd inext -Like \fBnext\fP but switch to the next window with the same -resource class as the current one. -(That means the next window belonging to the same application - as the current one.) -.cmd info ( C\-t i ) -Output the current the width, height, window number and window name of the current -window. -(What name means is chosen by "\fBset\ winname\fP".) -.cmd iprev -Like \fBprev\fP but switch to the previous window with the same -resource class as the current one. -(That means the previous window belonging to the same application - as the current one.) -.cmd iother -Like \fBother\fP but switch to the window of the current group that was last -accessed and has the same resource class but is not currently visible. -.cmd kill ( C\-t K ) -Close the X\-connection of the X\-client responsible for the current window. -.cmd lastmsg ( C\-t m ) -Reshow the last message. -.cmd license ( C\-t V ) -Show ratpoison's license. -.cmd link key [ keymap ] -Do what \fIkey\fP is bound to in the keymap \fIkeymap\fP if supplied. -Otherwise what \fIkey\fP is bound to in keymap \fBroot\fP. -.cmd listhook event -List all commands specified with \fBaddhook\fP to be executed when -even \fIevent\fP occurs. -.cmd meta [ key ] ( C\-t t ) -Send the escape key (that which normally is \fBC\-t\fP) to the current window. -If a \fIkey\fP is specified, this is sent instead. Note that some applications by -default ignore the synthetic key that is sent using this command as it -is considered a security hole. xterm is one such application. -.cmd msgwait [ seconds ] -Set the duration the message window is shown. -If \fIseconds\fP is zero, wait infinitely. -.cmd newkmap keymap -Generate a new keymap names \fIkeymap\fP. This keymap can -be used to add new key\-command mapping to it with \fBdefinekey\fP -and can be called with \fBreadkey\fP. -.cmd newwm new window manager -Quit ratpoison and execute \fInew window manager\fP instead. -.cmd next ( C\-t Return | C\-t n | C\-t space ) -Switch to the next window in the current group. -.cmd nextscreen ( C\-t N ) -Switch to the next screen. (If you have multiple physical ones.) -.cmd number new [ old ] -Give the number \fInew\fP to the window with the number \fIold\fP or -the current window. -.cmd only ( C\-t Q ) -Remove all frames on the current screen except the current frame and -maximize this one to the size of the whole screen. -.cmd other ( C\-t C\-t ) -Switch to the window of the current group that was last -accessed but is not currently visible. -.cmd prev ( C\-t p ) -Switch to the previous window in the current group. -.cmd prevscreen ( C\-t P ) -Switch to the previous screen. (If you have multiple physical ones.) -.cmd prompt [ prompt ] -Ratpoison will ask the user for input, showing \fIprompt\fP (or -a single colon, if no argument is given) and output the input the -user has made. -.br -Note that this command probably does not make much sense in interactive -mode. -.cmd putsel x\-selection -Replace the X selection with the text \fIx\-selection\fP. It can be -inserted into the current window with \fBgetsel\fP. -.cmd quit -Quit ratpoison. -.cmd ratinfo -Display the x y coordinates of the rat cursor relative to the screen. -.cmd ratrelinfo -Display the x y coordinates of the rat cursor relative to the current window or current frame if no window is focused -.cmd ratwarp x y -Move the rat cursor to the position (\fIx\fP,\fIy\fP). -.cmd ratrelwarp deltax deltay -Move the rat cursor to (\fIdeltax\fP,\fIdeltay\fP), relative -to the current position. -.cmd ratclick [ button ] -Simulate a rat click with \fIbutton\fP (button 1=left button if none given). -.cmd rathold \fBup\fR\fI | \fBdown\fR\fI [ button ] -Simulate pressing|releasing rat button \fIbutton\fP (1=left button if none given). -.cmd readkey keymap -Grab the next key pressed, and execute the command associated to this key -in \fIkeymap\fP. -To show it is waiting for a key, ratpoison will change the -rat cursor to a square if \fBwaitcursor\fP is set. - -This command is perhaps best described with its usage in the default -configuration: By pressing \fBC\-t\fP, which is the only key in the keymap -\fBtop\fP, the command "\fBreadkey root\fP" is executed. The next key -then executes the command in keymap \fBroot\fP belonging to this command. -.cmd redisplay ( C\-t l ) -Extend the current window to the whole size of its current frame and -redisplay it. -(Useful to redisplay normal windows or bring transient windows to the -full size of the frame as only normal windows are maximized by ratpoison) -.cmd redo ( C\-t U ) -Revert the last \fIundo\fP of frame changes. -.cmd remhook event command -Remove command \fIcommand\fP from the list of commands to be called when -event \fIevent\fP is hit. (The command has to specified, as an event can -have multiple commands attached to it.) -Use "\fBlisthook\fP \fIhook\fP" to get a list of all attached commands. -.cmd remove ( C\-t R ) -Remove the current frame and extend some frames around to fill the remaining -gap. -.cmd resize [ deltax deltay ] ( C\-t r ) -If \fIdeltax\fP and \fIdeltay\fP are supplied, resize the current frame -by that (i.e. move the bottom right corner by the given offsets and then -move this frame and resize adjacent frames to make the frames fill the -whole screen again.) - -If in interactive mode no arguments are supplied, resize the current -frame interactively: -.br -.ta 20 -\fBReturn\fP: finish resizing -.br -\fBC\-g\fP or \fBEscape\fP: abort resizing -.br -\fBC\-n\fP or \fBDown\fP or \fBj\fP: grow vertically -.br -\fBC\-p\fP or \fBUp\fP or \fBk\fP: shrink vertically -.br -\fBC\-f\fP or \fBRight\fP or \fBl\fP: grow horizontally -.br -\fBC\-b\fP or \fBUp\fP or \fBh\fP: shrink horizontally -.br -\fBs\fP: shrink to size of current window - -While resizing interactively, changes are in multiples of the amount -of pixels given by \fBset resizeunit\fP (by default 10). -.cmd restart -Restart ratpoison. -.cmd rudeness [ rudeness ] -Show or set what kind of windows are allowed to jostle into the foreground. - -\fIrudeness\fP is a bitwise or of the following values: -.ta 5 -.br -1 Transient windows may raise. -.br -2 Normal windows may raise. -.br -4 New transient windows end up in the foreground. -.br -8 New normal windows end up in the foreground. - -Default is all allowed i.e.\& 15. - -.cmd sdump -Output the list of all screens. -The screens are separated by commas. Each screen is shown as 6 values: -its number, its x\-coordinate, its y\-coordinate, its width, its height -and if it is currently selected (1=true,0=false). -.cmd select \fB\-\fP | name | nr ( C\-t ' ) -If a number is given, switch to the window with number \fInr\fP. -If a name is given, switch to the window in the current group with -name \fIname\fP. -Blank the current frame, if \fB\-\fP is given. -.cmd set [ variable [ value ] ] -If no argument is given, output all ratpoison variables and their values. -.br -If one argument is given, output the value of ratpoison variable \fIvariable\fP. -.br -Otherwise set ratpoison variable \fIvariable\fP to \fIvalue\fP. What values -are valid depends on the variable. -See the section \fBVARIABLES\fP later in this document for details. -.cmd setenv variable value -Set the environment variable \fIvariable\fP to \fIvalue\fP. -(Environment variables will be passed to all programs started from ratpoison.) -.cmd sfdump -Output all frames similar to \fBfdump\fP, but not limited to one screen, but -all screens at once and with the screen number after each frame. -.cmd sfrestore -Replace the current frames with the ones specified in \fIframes\fP in the -format as generated by \fBsfdump\fP. -.cmd shrink -Shrink the current frame to the size of the current window with in. -.cmd split [ split ] ( C\-t s ) -alias for \fBvsplit\fP -.cmd source file -Read \fIfile\fP and execute each line as ratpoison command. -.cmd sselect screennumber -Switch to the screen \fIscreennumber\fP. (If you have multiple physical ones.) -.cmd startup_message \fBon | \fBoff -Select whether ratpoison will show a startup message or not. -.cmd swap [ dest-frame [ src-frame ] ] ( C\-t x ) -Exchange the window in \fIsrc-frame\fP (or the current frame if there is no second -argument) with the window \fIdest-frame\fP (or ask interactively which frame to -swap with if there is no argument). -.cmd time ( C\-t a ) -Output current data and time. -.cmd title newname ( C\-t A ) -Overwrite the title of the current window with \fInewname\fP. -All following ratpoison commands will only know the -window under the new name. -.cmd tmpwm tmpwm -Temporarily give control over to the other window manager \fItmpwm\fP, -reclaiming control when that WM terminates. -.cmd unalias alias -Remove the alias \fIalias\fP. -.cmd unbind key -alias for "\fBundefinekey root\fP \fIkey\fP" -.cmd undefinekey keymap key -Remove the binding for \fIkey\fP from \fIkeymap\fP. -.cmd undo ( C\-t _ or C\-t u ) -Un\-do the last change to the frameset. -(Like splitting, resizing, deleting, ...) -.br -The amount of steps that can be undone is specified by the variable -\fBmaxundos\fP. -.cmd unmanage [ name ] -Add \fIname\fP to the list of unmanaged windows. -Thus, windows of this -name will not be managed but allowed to choose their position themselves. - -In non\-interactive mode calling it without arguments will print the list. - -The list can be cleared again by calling \fBclrunmanaged\fP. -.cmd unsetenv variable -Remove variable \fIvariable\fP from the list of environment variables. -.cmd verbexec cmdline -Spawn a shell executing \fIcmdline\fP after showing a message with the command. -.cmd version ( C\-t v ) -Output version and compile time information. -.cmd vsplit [ l\fB/\fR\fIp | "pixels from top" | "\fB\-\fR\fIpixels from bottom" ] ( C\-t s ) -Split the current frame into upper frame and a lower frame. -If no parameter is given, split in halves. -If two numbers separated -by a slash\ ("\fB/\fP") are given, the upper one is \fIl\fP times the \fIp\fPth part -and the lower one (\fIp\fP\-\fIl\fP) times the \fIp\fPth part of the prior height. -Otherwise the lower one is \fIpixels from bottom\fP wide or the upper one -\fIpixels from top\fP high, depending whether there is a \fB\-\fP in front of -the number or not. -.cmd warp [ \fBon | \fBoff ] -Select if focusing a window moves the rat cursor to the place it had been last -time this window was focused, or not. -.cmd windows [ format ] ( C\-t w ) -In interactive mode, -show the list of all windows in the current group for -the duration specified by \fBmsgwait\fP -If \fBmsgwait\fP is zero, toggle between indefinitely showing -and not showing. - -The messages are shown in columns or rows depending on the \fBset\fPting -of \fBwinliststyle\fP in the format set by \fBset winfmt\fP. -The following substitutions happen in format: -.br -%a by the application name (resource name), -.br -%c by the resource class, -.br -%f by the frame number, -.br -%g by the gravity of the window, -.br -%h by the height of the window, -.br -%H by the unit to resize the window vertically (height_inc) -.br -%i by the X Window ID, -.br -%p by the process ID, -.br -%l by the last access number, -.br -%M by the string \fBMaxsize\fP, if it specifies a maximum size, -.br -%n by the window number, -.br -%s by window status (\fB*\fP is active window, -\fB+\fP would be chosen by \fBother\fP, \fB\-\fP otherwise) -.br -%S by the screen number -.br -%t by the window name (see \fBset winname\fP), -.br -%T by the string \fBTransient\fP, if it is a transient window -.br -%w by the width of the window -.br -%W by the unit to resize the window horizontally (width_inc) -.br -%x by the xine screen number -and -.br -%% by a single % - -Additionally there can be a positive decimal integer number between the -percent sign and the format string to specify the length this value -should be truncated to if longer. -(For example: \fB%20t\fP) - -In non\-interactive mode, output the list of windows in the current group -line by line. The format string can be overwritten by the optional parameter -\fIformat\fP. -.SH VARIABLES -Ratpoison variables can be shown and set with \fBset\fP. -There are: -.var resizeunit pixels -Set the amount of pixels interactive \fBresize\fPing will add/subtract -in each step. -.br -Default is 5. -.var maxundos number -The maximal amount of step ratpoison can undo with the \fBundo\fP command. -.br -Default is 20. -.var wingravity \fBnw | \fBw | \fBsw | \fBn | \fBc | \fBs | \fBne | \fBe | \fBse -Set the default gravity new normal windows will get. -Possible values are the same as in the \fBgravity\fP command, which changes -the gravity of an existing window: cardinal points or numbers 1 to 9. -.br -Default is \fBnorthwest\fP. -.var maxsizegravity \fBnw | \fBw | \fBsw | \fBn | \fBc | \fBs | \fBne | \fBe | \fBse -Set the default gravity new self\-maximized windows will get. -Possible values are the same as in the \fBgravity\fP command, which changes -the gravity of an existing window: cardinal points or numbers 1 to 9. -.br -Default is \fBcenter\fP. -.var transgravity \fBnw | \fBw | \fBsw | \fBn | \fBc | \fBs | \fBne | \fBe | \fBse -Set the default gravity new transient windows will get. -Possible values are the same as in the \fBgravity\fP command, which changes -the gravity of an existing window: cardinal points or numbers 1 to 9. -.br -Default is \fBcenter\fP. -.var bargravity \fBnw | \fBw | \fBsw | \fBn | \fBc | \fBs | \fBne | \fBe | \fBse -Select the location where message and prompt bars appear. -.br -Default is \fBnortheast\fP. -.var font font -Make ratpoison use font \fIfont\fP. -.var padding left top right bottom -Set how much space at the borders of the screen will not be used. -.br -Default is 0 0 0 0. -.var border pixels -Selects how thick the frame around windows is. -.br -Default is 1. -.var barborder pixels -Selects how thick the frame around ratpoison's prompt or message windows is. -.br -Default is 1. -.var inputwidth pixels -Determine the width of the input window. -.br -Default is 200. -.var barinpadding \fB0 | \fB1 -If there is padding, determines whether the bar appears at the edge of the -screen (\fB1\fP) or at the edge of the window area (\fB0\fP). -.br -Default is 0. -.var topkmap kmap -Make \fIkmap\fP the top keymap ratpoison grabs directly. -The default value is \fBtop\fP. -.var waitcursor \fB0 | \fB1 -Determine whether to change the rat cursor when waiting for a key -(\fB1\fP) or not (\fB0\fP). -(see \fBreadkey\fP and \fBdescribekey\fP). -.br -Default is 1. -.var winfmt format -Choose the default format for the the \fBwindows\fP command. -.br -Default is %n%s%t. -.var winname \fBtitle | \fBname | \fBclass -Choose what is considered the "name" of the window by ratpoison: -.ta 7 -\fBtitle\fP The title of the window. -.br -\fBname\fP The resource name of the window. -.br -\fBclass\fP The resource class i.e. the name of the application. -.br -Default is \fBtitle\fP. -.var fgcolor color -The foreground color of the windows ratpoison creates. -.br -Default is black. -.var bgcolor color -The background color of the windows ratpoison creates. -.br -Default is white. -.var fwcolor color -The border color of the focused window. -.br -Default is black. -.var bwcolor color -The border color of unfocused windows. -.br -Default is black. -.var barpadding x y -Set horizontal padding of ratpoison windows to \fIx\fP and vertical -padding to \fIy\fP. -.br -Default is 4 0 -.var winliststyle \fBrow | \fBcolumn -Determines whether windows are shown in \fBrow\fPs or in \fBcolumn\fPs. -.br -Default is column. -.var framesels selectors -Override the frame selectors \fBfselect\fP uses. -The first character is the selector for the first frame, -the second character is the selector for the second frame and so on. - -Using this variable, one can directly access more than 10 frames. - -Default is an empty string, which is equivalent to "0123456789". -.var historysize number -Specify maximum number of values kept in input history. - -Default is 20. -.var historycompaction \fB0 | \fB1 -Decide if new input lines added to history delete -older equal lines from history. - -Default is 1 (on). -.var historyexpansion \fB0 | \fB1 -Decide if history expansion using ! is available. -(Can only be activated when compiled with readline's libhistory.) - -Default is 0 (off). -.SH AUTHOR -Upstream Author is Shawn Betts . -.br -See /usr/share/doc/ratpoison/AUTHORS for other contributors. -.P -This manual page was written by Bernhard R. Link . diff --git a/doc/ratpoison.mdoc.1 b/doc/ratpoison.mdoc.1 new file mode 100644 index 0000000..a192e6f --- /dev/null +++ b/doc/ratpoison.mdoc.1 @@ -0,0 +1,1175 @@ +.\" This man page is free software; you can redistribute it and/or modify +.\" it under the terms of the GNU General Public License as published by +.\" the Free Software Foundation; either version 2, or (at your option) +.\" any later version. +.\" +.\" This man page is distributed in the hope that it will be useful, +.\" but WITHOUT ANY WARRANTY; without even the implied warranty of +.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +.\" GNU General Public License for more details. +.\" +.\" You should have received a copy of the GNU General Public License +.\" along with this software; see the file COPYING. If not, write to +.\" the Free Software Foundation, Inc., 59 Temple Place, Suite 330, +.\" Boston, MA 02111-1307 USA +.\" +.\" +.\" This manpage is written using the mdoc macro language. +.\" Examples of formatters which support mdoc are groff[1] and mandoc[2]. +.\" An mdoc language reference is available[3]. +.\" +.\" [1] https://gnu.org/software/groff/ +.\" [2] http://mdocml.bsd.lv/ +.\" [3] http://mdocml.bsd.lv/mdoc.7.html +.\" +.Dd 2014-02-12 +.Dt RATPOISON 1 +.Os +.Sh NAME +.Nm ratpoison +.Nd window manager without mouse dependency +.Sh SYNOPSIS +.Nm +.Op Fl hv +.Nm +.Op Fl d Ar dpy +.Op Fl s Ar num +.Op Fl f Ar file +.Nm +.Op Fl d Ar dpy +.Op Fl s Ar num +.Op Fl i +.Fl c Ar command Op Fl c Ar command ... +.Sh DESCRIPTION +.Nm +is a Window Manager without fat library dependencies, fancy graphics or +rat dependence. +.Pp +The screen can be split into non-overlapping frames. +All windows are kept maximized inside their frames. +.Pp +All interaction with the window manager is done through +keystrokes. +.Nm +has a prefix map to minimize key clobbering. +.Pp +The options are as follows: +.Bl -tag -width Bs +.It Fl c , Fl \-command +Send ratpoison a command. +There must be a ratpoison instance running as window manager for the +given display/screen for this to work. +Do not forget to quote the command if it contains spaces. +For example: +.Dl Nm Fl c Qq Ar "echo hello world" +.It Fl d , Fl \-display Ar display +Set the X display to use or send commands to. +.It Fl f , Fl \-file Ar filename +Specify an alternate configuration file. +If this is not given, +.Nm +will try +.Pa $HOME/.ratpoisonrc +and if that does not exist +.Pa /etc/ratpoisonrc +and execute each command when starting up. +.It Fl h , Fl \-help +Show summary of options. +.It Fl i , Fl \-interactive +Execute commands given with +.Fl c +or +.Fl -command +in interactive mode. +That means it will behave exactly as if called with +.Ic C\-t \&: +like prompting for missing arguments and things like that. +.It Fl s , Fl \-screen Ar number +Only use the specified screen. +.It Fl v , Fl \-version +Show version of program. +.El +.Sh KEY BINDINGS +To avoid conflicts with other programs, all default ratpoison key +bindings start with an escape key, per default +.Ic C\-t +(read Control\-t). +Some important default key bindings: +.Bl -tag -width Ds +.It Ic C\-t \&? +Show key bindings +.It Ic C\-t c +Start an X terminal +.It Ic C\-t n +Switch to next window +.It Ic C\-t p +Switch to previous window +.It Ic C\-t 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 +Switch to window number 1 | 2 | ... +.It Ic C\-t k +Close the current window +.It Ic C\-t K +XKill the current application +.It Ic C\-t s | S +Split the current frame into two vertical | horizontal ones +.It Ic C\-t Tab | Left | Up | Right | Down +Switch to the next | left | top | right | bottom frame. +.It Ic C\-t Q +Make the current frame the only one +.It Ic C\-t \&: +Execute a ratpoison command +.El +.Pp +Further default key bindings can be found in parentheses after the +commands in the next section. +.Sh COMMANDS AND DEFAULT ALIASES +.Bl -tag -width Ds +.It Ic abort +.Pq Ic C\-t C\-g +Do nothing and that successfully. +.Po +Useful if you pressed +.Ic C\-t +in error +.Pc . +.It Ic addhook Ar event command +Add a hook: run +.Ar command +whenever +.Ar event +is called. +Possible events are: +.Bl -tag -width Ds +.It Ar deletewindow +Run after a window is withdrawn. +.It Ar newwindow +Run after a new window is mapped. +.It Ar key +Run whenever a top level key is pressed (by default +.Ic C\-t ) . +.It Ar quit +Run before exiting +.Nm . +.It Ar restart +Run before restarting +.Nm . +.It Ar switchframe +Run after a frame actually switched, but before the window in it is +focused. +.It Ar switchgroup +Run after selecting a new group. +.It Ar switchwin +Run after a new window is selected. +(With dedication, it may already be inactive again, if it was put into +another frame) +.El +.It Ic alias Ar alias command +Add +.Ar alias +as new way to call +.Ar command . +.It Ic bind Ar key command +alias for +.Qq Ic definekey Li root Ar key command +.It Ic banish +.Pq Ic C\-t b +Banish the rat cursor to the lower right corner of the screen. +.It Ic banishrel +Banish the rat cursor to the lower right corner of the current window. +If there isn't a window in the current frame, it banishes the rat cursor +to the lower right corner of the frame. +.It Ic chdir Op Ar directory +If the optional argument is given, change the current directory +of +.Nm +to +.Ar directory . +If nothing is given, change it to the value of the environment variable +.Qq Ev HOME . +.It Ic clrunmanaged +Clears the unmanaged window list. +.It Ic cnext +Like +.Ic next +but switch to the next window with another resource class than the +current one. +(That means the next window belonging to another type of application +than the current one.) +.It Ic cprev +Like +.Ic prev +but switch to the previous window with another resource class than the +current one. +(That means the previous window belonging to another type of application +than the current one.) +.It Ic colon Ar ratpoison\-command Pq Ic C\-t \&: +Execute +.Ar ratpoison\-command +interactively. +(i.e. ask for possible missing arguments.) +.It Ic compat +Add aliases for the new +.Ic set +commands starting with "def" to support older scripts. +.It Ic cother +Like +.Ic other +but switch to the window of the current group that was last accessed and +has another resource class but is not currently visible. +.It Ic curframe Pq Ic C\-t F +Show a bar marking the current frame. +.It Ic definekey Ar keymap key command +Add a new key binding in +.Ar keymap +for +.Ar key +to execute +.Ar command . +Default keymaps are +.Li top +normally only containing +.Ic C\-t , +which reads a key from +.Li root , +containing all the normal commands. +.Pp +Note that you have to describe ":" by "colon", "!" by "exclam" and so on. +If you cannot guess a name of a key, try either +.Ic C\-t Ar key +and look at the error message, or try +.Ic :describekey Li root +and pressing the key. +.It Ic def... +When +.Ic compat +was called there are some aliases starting with "def", which alias the +new form with +.Ic set . +I.e. instead of +.Ic defresizeunit +better use the new +.Ic set Cm resizeunit +and so on... +.It Ic dedicate Op Li 0 | 1 +Consider the current frame dedicated/chaste +.Pq Ql 1 +or promiscuous +.Pq Ql 0 . +.Pp +A dedicated frame will not accept new windows. +When new windows are to be focused, they will be opened in a non-dedicated +frame instead. +.Pp +If no argument is given, toggle the current dedicateness. By default no +windows are dedicated. +.It Ic delete Pq Ic C\-t k +Close the current window. +.It Ic delkmap Ar keymap +Deletes the keymap named +.Ar keymap , +that was generated with +.Ic newkmap . +The keymaps +.Li top +(or whatever was specified by +.Ic set Ar topkmap ) +and +.Li root +cannot be deleted. +.It Ic describekey Ar keymap +Grab the next key. Similar to +.Ic readkey , +.Ic describekey +shows only the command in +.Ar keymap , +that would be executed by +.Ic readkey . +.It Ic echo Ar text +Show +.Ar text +as +.Nm +message. +.It Ic escape Ar key +Update the default escape key to +.Ar key . +.Pp +Strictly speaking it updates the +.Ic readkey Li root +command in the keymap +.Li top +to +.Ar key , +the +.Ic other +binding +in +.Li root +to +.Ar key , +and +.Ic meta +binding in +.Li root +to +.Ar key +without modifiers or +.Ic "C\-" Ns Ar key +if +.Ar key +has no modifiers. +(If +.Ic set Ar topkmap +was called with an argument other than +.Ar top +that will be used instead of +.Ar top . ) +.It Ic exchangedown Pq Ic C\-t C\-Down +Exchange the window in the current frame with the window in the frame +below the current frame. +.It Ic exchangeleft Pq Ic C\-t C\-Left +Exchange the window in the current frame with the window in the frame +left of the current frame. +.It Ic exchangeright Pq Ic C\-t C\-Right +Exchange the window in the current frame with the window in the frame +right of the current frame. +.It Ic exchangeup Pq Ic C\-t C\-Up +Exchange the window in the current frame with the window in the frame +above the current frame. +.It Ic exec Ar shell\-command Pq Ic C\-t \&! +Spawn a shell executing +.Ar shell\-command . +.It Ic execa Ar shell\-command +Spawn a shell executing +.Ar shell\-command , +without remembering the current frame, so that _NET_WM_PID declaring +programs will be placed into the frame active when they open a window +instead of the frame active when +.Nm +gets this command. +.It Ic execf Ar frame shell\-command +Spawn a shell executing +.Ar shell\-command , +showing _NET_WM_PID supporting programs in the given frame instead of +the frame selected when this program is run. +.It Ic fdump Op Ar screenno +Output the defining data for all frames of the current screen, or +for screen number +.Ar screenno +if this is specified. +.It Ic focus Pq Ic C\-t Tab +Focus the next frame. +.It Ic focuslast +Switch to the last selected focus. +.It Ic focusleft Pq Ic C\-t Left +Switch to the frame to the left of the current one. +.It Ic focusdown Pq Ic C\-t Down +Switch to the frame beneath the current one. +.It Ic focusright Pq Ic C\-t Right +Switch to the frame to the right of the current one. +.It Ic focusprev +Focus the previous frame. +.It Ic focusup Pq Ic C\-t Up +Switch to the frame above the current one. +.It Ic frestore Ar frames +Replace the current frames with the ones specified in +.Ar frames +in the format as generated by +.Ic fdump . +.It Ic fselect Oo Ar frameno Oc Pq Ic C\-t f +If an argument is supplied, switch to a frame given by number +.Ar frameno . +.Pp +If no argument is given, show a frame selector in each frame and wait for +a key to be pressed. +If the key matches an existing frame selector, this frame gets focused. +.Pp +Frame selectors are by default the numbers starting with zero, but they +can be changed by +.Ic set Ns +ting +.Ar framesels . +.It Ic gdelete Op Ar group +If the optional argument +.Ar group +is supplied, delete +.Ar group . +Otherwise delete the current group. If the last group is deleted, a new +group with name +.Li default +is created. +The group has to be empty, otherwise it cannot be deleted. +.It Ic getenv Ar variable +Output the value of the environment variable +.Ar variable . +.It Ic getsel +Paste the current X Selection into the current window. +.It Ic gmerge Ar group +Move all windows from group +.Ar group +into the current group. +.It Ic gmove Ar group +Move the current window into group +.Ar group . +.It Ic gnew Ar group +Create a new group with name +.Ar group +and select it. +Most window commands only see (and thus select, consider next, +previous or last) windows within the group active when they are +issued. +.It Ic gnewbg Ar group +Create a new group named +.Ar group , +but do not select it. +.It Ic gnext +Select the next group. +Most window commands only see windows in the effective group. +.It Ic gnumber Op Ar old new +Give the number +.Ar new +to the group with the number +.Ar old +or the current group. +.It Ic gother +Select the last accessed group. +Most window commands only see windows in the effective group. +.It Ic gprev +Select the prior group. +Most window commands only see windows in the effective group. +.It Ic gravity Op Li nw | w | sw | n | c | s | ne | e | se +Change how in its frame the current window is aligned. +.It Ic grename +Rename current group. +.It Ic groups +Output a list of all groups with their number. +.It Ic gselect Ar group +Select the group named +.Ar group . +.It Ic help Op Ar keymap +If the optional parameter +.Ar keymap +is given, list all keybindings in this keymap, otherwise list all key +bindings in keymap +.Li root . +.It Ic hsplit Oo Ar l Ns Li / Ns Ar p | Oo Li \- Oc Ns Ar pixels Oc Pq Ic C\-t S +Split the current frame into left frame and a right frame. +If no parameter is given, split in halves. +If two numbers separated by a slash +.Pq Ql "/" +are given, the left one is +.Ar l +times the +.Ar p Ns +th +part and the right one +.Pq Ar p Li \- Ar l +times the +.Ar p Ns +th +part of the prior width. +Otherwise the right half is +.Ar pixels +wide or the left one is +.Ar pixels +wide, depending whether there is +.Ql \- +in front of the number or not. +.It Ic inext +Like +.Ic next +but switch to the next window with the same resource class as the +current one. +(That means the next window belonging to the same application +as the current one.) +.It Ic info Pq Ic C\-t i +Output the current the width, height, window number and window name of +the current window. +.Po +What name means is chosen by +.Dq Ic set Ar winname . +.Pc +.It Ic iprev +Like +.Ic prev +but switch to the previous window with the same resource class as the +current one. +(That means the previous window belonging to the same application as the +current one.) +.It Ic iother +Like +.Ic other +but switch to the window of the current group that was last accessed and +has the same resource class but is not currently visible. +.It Ic kill Pq Ic C\-t K +Close the X-connection of the X-client responsible for the current window. +.It Ic lastmsg Pq Ic C\-t m +Reshow the last message. +.It Ic license Pq Ic C\-t V +Show +.Nm Ap +s license. +.It Ic link Ar key Op Ar keymap +Do what +.Ar key +is bound to in the keymap +.Ar keymap +if supplied. +Otherwise what +.Ar key +is bound to in keymap +.Li root . +.It Ic listhook Ar event +List all commands specified with +.Ic addhook +to be executed when even +.Ar event +occurs. +.It Ic meta Oo Ar key Oc Pq Ic C\-t t +Send the escape key (that which normally is +.Ic C\-t ) +to the current window. +If a +.Ar key +is specified, this is sent instead. +Note that some applications by default ignore the synthetic key that is +sent using this command as it is considered a security hole. +xterm is one such application. +.It Ic msgwait Op Ar seconds +Set the duration the message window is shown. +If +.Ar seconds +is zero, wait infinitely. +.It Ic newkmap Ar keymap +Generate a new keymap named +.Ar keymap . +This keymap can be used to add new key-command mappings to it with +.Ic definekey +and can be called with +.Ic readkey . +.It Ic newwm Ar new window manager +Quit +.Nm +and execute +.Ar new window manager +instead. +.It Ic next Pq Ic C\-t Return | C\-t n | C\-t space +Switch to the next window in the current group. +.It Ic nextscreen Pq Ic C\-t N +Switch to the next screen. (If you have multiple physical ones.) +.It Ic number Ar new Op Ar old +Give the number +.Ar new +to the window with the number +.Ar old +or the current window. +.It Ic only Pq Ic C\-t Q +Remove all frames on the current screen except the current frame and +maximize this one to the size of the whole screen. +.It Ic other Pq Ic C\-t C\-t +Switch to the window of the current group that was last +accessed but is not currently visible. +.It Ic prev Pq Ic C\-t p +Switch to the previous window in the current group. +.It Ic prevscreen Pq Ic C\-t P +Switch to the previous screen. (If you have multiple physical ones.) +.It Ic prompt Op Ar prompt +.Nm +will ask the user for input, showing +.Ar prompt +(or a single colon, if no argument is given) and output the input the +user has made. +Note that this command probably does not make much sense in interactive +mode. +.It Ic putsel Ar x\-selection +Replace the X selection with the text +.Ar x\-selection . +It can be inserted into the current window with +.Ic getsel . +.It Ic quit +Quit +.Nm . +.It Ic ratinfo +Display the x y coordinates of the rat cursor relative to the screen. +.It Ic ratrelinfo +Display the x y coordinates of the rat cursor relative to the current +window or current frame if no window is focused +.It Ic ratwarp Ar x y +Move the rat cursor to the position +.Ar ( x , y ) . +.It Ic ratrelwarp Ar deltax deltay +Move the rat cursor to +.Ar ( deltax , deltay ) , +relative to the current position. +.It Ic ratclick Op Ar button +Simulate a rat click with +.Ar button +(button 1=left button if none given). +.It Ic rathold Li ( up | down ) Op Ar button +Simulate pressing|releasing rat button +.Ar button +(1=left button if none given). +.It Ic readkey Ar keymap +Grab the next key pressed, and execute the command associated to this key +in +.Ar keymap . +To show it is waiting for a key, +.Nm +will change the rat cursor to a square if +.Va waitcursor +is set. +This command is perhaps best described with its usage in the default +configuration: by pressing +.Ic C\-t , +which is the only key in the keymap +top , +the command +.Qq Ic readkey Ar root +is executed. +The next key then executes the command in keymap +.Li root +belonging to +this command. +.It Ic redisplay Pq Ic C\-t l +Extend the current window to the whole size of its current frame and +redisplay it. +(Useful to redisplay normal windows or bring transient windows to the +full size of the frame as only normal windows are maximized by +.Nm ) +.It Ic redo Pq Ic C\-t U +Revert the last +.Ic undo +of frame changes. +.It Ic remhook Ar event command +Remove command +.Ar command +from the list of commands to be called when event +.Ar event +is hit. +(The command has to specified, as an event can have multiple commands +attached to it.) +Use +.Qq Ic listhook Ar hook +to get a list of all attached commands. +.It Ic remove Pq Ic C\-t R +Remove the current frame and extend some frames around to fill the +remaining gap. +.It Ic resize Oo Ar deltax deltay Oc Pq Ic C\-t r +If +.Ar deltax +and +.Ar deltay +are supplied, resize the current frame by that (i.e. move the bottom +right corner by the given offsets and then move this frame and resize +adjacent frames to make the frames fill the whole screen again.) +.Pp +If in interactive mode no arguments are supplied, resize the current +frame interactively: +.Pp +.Bl -tag -offset 2n -width "C-f, Right, l" -compact +.It Ic Return +finish resizing +.It Ic C\-g , Escape +abort resizing +.It Ic C\-n , Down , j +grow vertically +.It Ic C\-p , Up , k +shrink vertically +.It Ic C\-f , Right , l +grow horizontally +.It Ic C\-b , Up , h +shrink horizontally +.It Ic s +shrink to size of current window +.El +.Pp +While resizing interactively, changes are in multiples of the amount +of pixels given by +.Ic set Cm resizeunit +(by default 10). +.It Ic restart +Restart +.Nm . +.It Ic rudeness Op Ar rudeness +Show or set what kind of windows are allowed to jostle into the foreground. +.Ar rudeness +is a bitwise OR of the following values: +.Pp +.Bl -tag -offset 2n -width 2n -compact +.It 1 +Transient windows may raise. +.It 2 +Normal windows may raise. +.It 4 +New transient windows end up in the foreground. +.It 8 +New normal windows end up in the foreground. +.El +.Pp +Default is all allowed i.e.\& 15. +.It Ic sdump +Output the list of all screens. +The screens are separated by commas. Each screen is shown as 6 values: +its number, its x-coordinate, its y-coordinate, its width, its height +and if it is currently selected (1=true, 0=false). +.It Ic select Li \- | Ar name | number Pq Ic C-t \&' +If a number is given, switch to the window with number +.Ar number . +If a name is given, switch to the window in the current group with +name +.Ar name . +Blank the current frame, if +.Li \- +is given. +.It Ic set Op Ar variable Op Ar value +If no argument is given, output all +.Nm +variables and their values. +.Pp +If one argument is given, output the value of +.Nm +variable +.Ar variable . +Otherwise set +.Ar variable +to +.Ar value . +What values are valid depends on the variable. +See the section +.Sx VARIABLES +later in this document for details. +.It Ic setenv Ar variable value +Set the environment variable +.Ar variable +to +.Ar value . +.Po +Environment variables will be passed to all programs started from +.Nm . +.Pc +.It Ic sfdump +Output all frames similar to +.Ic fdump , +but not limited to one screen, but all screens at once and with the +screen number after each frame. +.It Ic sfrestore Ar frames +Replace the current frames with the ones specified in +.Ar frames +in the format as generated by +.Ic sfdump . +.It Ic shrink +Shrink the current frame to the size of the current window with in. +.It Ic split Oo Ar split Oc Pq Ic C\-t s +alias for +.Ic vsplit +.It Ic source Ar file +Read +.Ar file +and execute each line as +.Nm +command. +.It Ic sselect Ar screennumber +Switch to the screen +.Ar screennumber . +(If you have multiple physical ones.) +.It Ic startup_message Li on | off +Select whether +.Nm +will show a startup message or not. +.It Ic swap Oo Ar dest-frame Oo Ar src-frame Oc Oc Pq Ic C\-t x +Exchange the window in +.Ar src\-frame +(or the current frame if there is no second argument) with the window +.Ar dest\-frame +(or ask interactively which frame to swap with if there is no argument). +.It Ic time Pq Ic C\-t a +Output current data and time. +.It Ic title Ar newname Pq Ic C\-t A +Overwrite the title of the current window with +.Ar newname . +All following +.Nm +commands will only know the window under the new name. +.It Ic tmpwm Ar tmpwm +Temporarily give control over to the other window manager +.Ar tmpwm , +reclaiming control when that WM terminates. +.It Ic unalias Ar alias +Remove the alias +.Ar alias . +.It Ic unbind Ar key +alias for +.Dl Ic undefinekey Ar root key +.It Ic undefinekey Ar keymap key +Remove the binding for +.Ar key +from +.Ar keymap . +.It Ic undo Pq Ic C\-t _ , C\-t u +Un\-do the last change to the frameset. +(Like splitting, resizing, deleting, ...) +.Pp +The amount of steps that can be undone is specified by the variable +.Va maxundos . +.It Ic unmanage Op Ar name +Add +.Ar name +to the list of unmanaged windows. +Thus, windows of this name will not be managed but allowed to choose +their position themselves. +.Pp +In non\-interactive mode calling it without arguments will print the list. +.Pp +The list can be cleared again by calling +.Ic clrunmanaged . +.It Ic unsetenv Ar variable +Remove variable +.Ar variable +from the list of environment variables. +.It Ic verbexec Ar cmdline +Spawn a shell executing +.Ar cmdline +after showing a message with the command. +.It Ic version Pq Ic C\-t v +Output version and compile time information. +.It Ic vsplit Oo Ar l Ns Li / Ns Ar p | "pixels from top" | "-pixels from bottom" Oc Pq Ic C\-t s +Split the current frame into upper frame and a lower frame. +If no parameter is given, split in halves. +If two numbers separated by a slash +.Pq Dq Li / +are given, the upper one is +.Ar l +times the +.Ar p Ns +th part and the lower one +.Pq Ar p Li \- Ar l +times the +.Ar p Ns +th +part of the prior height. +Otherwise the lower one is +.Ar "pixels from bottom" +wide or the upper one +.Ar "pixels from top" +high, depending whether there is a +.Dq Li \- +in front of the number or not. +.It Ic warp Op Li on | off +Select if focusing a window moves the rat cursor to the place it had been last +time this window was focused, or not. +.It Ic windows Oo Ar format Oc Pq Ic C\-t w +In interactive mode, +show the list of all windows in the current group for the duration +specified by +.Ic msgwait . +If the +.Ic msgwait +argument was zero, toggle between indefinitely showing and not showing. +.Pp +The messages are shown in columns or rows depending on the value of +.Va winliststyle +in the format set by +.Ic set Ar winfmt . +The following substitutions happen in format: +.Pp +.Bl -tag -offset 2n -width 2n -compact +.It Li %a +application name (resource name) +.It Li %c +resource class +.It Li %f +frame number +.It Li %g +gravity of the window +.It Li %h +height of the window +.It Li %H +unit to resize the window vertically (height_inc) +.It Li %i +X Window ID +.It Li %p +process ID +.It Li %l +last access number +.It Li %M +string +.Li Maxsize , +if it specifies a maximum size +.It Li %n +window number +.It Li %s +window status +.Po +.Ql * +is active window, +.Ql + +would be chosen by +.Ic other , +.Ql \- +otherwise +.Pc +.It Li %S +screen number +.It Li %t +window name +.Po see +.Ic set Ar winname +.Pc , +.It Li "%T" +the string +.Dq Li Transient , +if it is a transient window +.It Li %w +width of the window +.It Li %W +unit to resize the window horizontally (width_inc) +.It Li %x +xine screen number +.It Li %% +litteral +.Ql % +.El +.Pp +Additionally there can be a positive decimal integer number between the +percent sign and the format string to specify the length this value +should be truncated to if longer. +.Po +For example: +.Li %20t +.Pc +.Pp +In non\-interactive mode, output the list of windows in the current group +line by line. The format string can be overwritten by the optional parameter +.Ar format . +.El +.Sh VARIABLES +.Nm +variables can be shown and set with +.Ic set . +There are: +.Bl -tag -width Ds +.It Cm resizeunit Ar pixels +Set the amount of pixels interactive +.Ic resize +will add/subtract in each step. +.Pp +Default is 5. +.It Cm maxundos Ar number +The maximal amount of step +.Nm +can undo with the +.Ic undo +command. +.Pp +Default is 20. +.It Cm wingravity Li nw | w | sw | n | c | s | ne | e | se +Set the default gravity new normal windows will get. +Possible values are the same as in the +.Ic gravity +command, which changes the gravity of an existing window: cardinal +points or numbers 1 to 9. +.Pp +Default is +.Li nw . +.It Cm maxsizegravity Li nw | w | sw | n | c | s | ne | e | se +Set the default gravity new self-maximized windows will get. +Possible values are the same as in the +.Ic gravity +command, which changes the gravity of an existing window: cardinal +points or numbers 1 to 9. +.Pp +Default is +.Li c . +.It Cm transgravity Li nw | w | sw | n | c | s | ne | e | se +Set the default gravity new transient windows will get. +Possible values are the same as in the +.Ic gravity +command, which changes the gravity of an existing window: cardinal +points or numbers 1 to 9. +.Pp +Default is +.Li c . +.It Cm bargravity Li nw | w | sw | n | c | s | ne | e | se +Select the location where message and prompt bars appear. +.Pp +Default is +.Li ne . +.It Cm font Ar font +Make +.Nm +use font +.Ar font . +.It Cm padding Ar left top right bottom +Set how much space at the borders of the screen will not be used. +.Pp +Default is +.Li 0 0 0 0 . +.It Cm border Ar pixels +Selects how thick the frame around windows is. +.Pp +Default is +.Li 1 . +.It Cm barborder Ar pixels +Selects how thick the frame around +.Nm Ap +s +prompt or message windows is. +.Pp +Default is +.Li 1 . +.It Cm inputwidth Ar pixels +Determine the width of the input window. +.Pp +Default is +.Li 200 . +.It Cm barinpadding Li 0 | 1 +If there is padding, determines whether the bar appears at the edge of +the screen +.Pq Li 1 +or at the edge of the window area +.Pq Li 0 . +.Pp +Default is +.Li 0 . +.It Cm topkmap Ar kmap +Make +.Ar kmap +the top keymap +.Nm +grabs directly. +.Pp +The default value is +.Li top . +.It Cm waitcursor Li 0 | 1 +Determine whether to change the rat cursor when waiting for a key +.Pq Li 1 +or not +.Pq Li 0 +See +.Ic readkey +and +.Ic describekey . +.Pp +Default is +.Li 1 . +.It Cm winfmt Ar format +Choose the default format for the the +.Ic windows +command. +.Pp +Default is +.Li %n%s%t . +.It Cm winname Li title | name | class +Choose what is considered the "name" of the window by +.Nm : +.Pp +.Bl -tag -width Ds -compact +.It title +The title of the window. +.It name +The resource name of the window. +.It class +The resource class i.e. the name of the application. +.El +.Pp +Default is +.Li title . +.It Cm fgcolor Ar color +The foreground color of the windows +.Nm +creates. +.Pp +Default is +.Li black . +.It Cm bgcolor Ar color +The background color of the windows +.Nm +creates. +.Pp +Default is +.Li white . +.It Cm fwcolor Ar color +The border color of the focused window. +.Pp +Default is +.Li black . +.It Cm bwcolor Ar color +The border color of unfocused windows. +.Pp +Default is +.Li black . +.It Cm barpadding Ar x y +Set horizontal padding of +.Nm +windows to +.Ar x +and vertical padding to +.Ar y . +.Pp +Default is +.Li 4 0 . +.It Cm winliststyle Li row | column +Determines whether windows are shown in rows or in columns. +.Pp +Default is column. +.It Cm framesels Ar selectors +Override the frame selectors +.Ic fselect +uses. +The first character is the selector for the first frame, +the second character is the selector for the second frame and so on. +.Pp +Using this variable, one can directly access more than 10 frames. +.Pp +Default is an empty string, which is equivalent to "0123456789". +.It Cm historysize Ar number +Specify maximum number of values kept in input history. +.Pp +Default is +.Li 20 . +.It Cm historycompaction Li 0 | 1 +Decide if new input lines added to history delete +older equal lines from history. +.Pp +Default is +.Li 1 +(on). +.It Cm historyexpansion Li 0 | 1 +Decide if history expansion using ! is available. +(Can only be activated when compiled with readline's libhistory.) +.Pp +Default is +.Li 0 +(off). +.El +.Sh FILES +.Bl -tag -width "%%sysconfdir%%/ratpoisonrc" -compact +.It Pa ~/.ratpoisonrc +Configuration file read at startup time, if present. +.It Pa %%sysconfdir%%/ratpoisonrc +Fallback configuration file, if +.Pa ~/.ratpoisonrc +is not found. +.El +.Sh EXIT STATUS +.Ex -std +.Sh AUTHORS +.An -nosplit +Upstream author is +.An Shawn Betts Aq Mt sabetts@gmail.com . +.Pp +See the +.Pa %%docdir%%/AUTHORS +file for other contributors. +.Pp +This manual page was written by +.An Bernhard R. Link Aq Mt brlink@debian.org . +The conversion to the +.Xr mdoc 7 +language +.Pq Lk http://mdocml.bsd.lv +was done by +.An Jeremie Courreges-Anglas Aq Mt jca@wxcvbn.org . +.Sh BUGS +Please report any bug you find to the ratpoison mailing-list, +.Aq Mt ratpoison-devel@nongnu.org . -- cgit v1.2.3