all repos — ryudo @ 87c8c4a26cffd4f9158db33f5555c449be14118f

the floatiling window manager that flows; fork of rio from plan9port

update documentation
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmDOk8EACgkQO3+8IhRO
Y5i3kw/8DNZdoipn0rLeYHqahprPRDKP3A1b30e7Exm9rK38PvtfQ8EHV88EF+Fg
ofoXCM5llbSOseDx0GS2HwpSVlWsRwXXiGHA3lMscoEWLZDLSJmvjnRySrZyiuE0
rMq1SqmnFllaqclfQo8hwgTpQAWKJSplsk3drY8oSsV2nq3jOvWtSqeJcQ1YTBC9
B0JKKzxGs13Q8gICAfT0HxGL3ywYO31Au4+7bdJdcJjf8NpvdjjNsrgy8uLp81xk
0o9geUQvguTEI0s9GINKKrSghpnNL+IOsjYqQaBNtpFaNhzzXaMEnXWfQLQik9OH
YktNoU6zENHxOG+IaaEH3Sxr14FLbRrXivgY0ow9CRWOIa2ld7ZzIW0W+W2pxx27
mLaqlz79J27bKaX7ubP9u8+xQfNhdCg8qJYyuAvQo6MtTdArbtnO6TOdtbfbi/P7
Jj2nQ2pU0uGX0o884DG+i0MpQtkGod7yXsTM3/WjCBBln5hzBMoRwfHhzAqTUS4e
Ba5Kn+UdOLBGRkdTHBw7ZN96BHcy1KsJ7X92VzTBubmdWfccLaA+F/F2PJBh25Ev
nK1RHfQC+HjyeuGAIm3wUvOKYxqy1outUWdhtH6Mt7NAvV2zEm2zL7DF7ZD3+1IH
I69UlSSUpl5NtIMO/JCpK+sXKEtDjzHY7d2sZjordgkGCQp4SXY=
=1iAf
-----END PGP SIGNATURE-----
commit

87c8c4a26cffd4f9158db33f5555c449be14118f

parent

71814a723bd59bdfbde34b7ca32c085243ef7077

3 files changed, 344 insertions(+), 0 deletions(-)

jump to
A ryudo.1

@@ -0,0 +1,156 @@

+.TH "RYUDO" "1" "June 2021" "" "" +. +.SH "NAME" +\fBryudo\fR \- The floatiling window manager that flows +. +.SH "SYNOPSIS" +\fBryudo\fR [ \-font FONTNAME ] [ \-term TERMPROG ] [ \-virtuals NUMVIRTS ] [ \-ffm ] [ \-version ] [ exit | restart ] +. +.SH "DESCRIPTION" +Ryudo is a window manager for X which is a fork of \fBrio\fR from \fBplan9port\fR by Russ Cox, which is itself a fork of David Hogan\'s \fB9wm\fR\. Ryudo aims to be a more dynamic and configurable window manager while keeping most of the behavior of Rio\. +. +.P +The \fB\-font\fR option sets the font in ryudo\'s menu to FONTNAME, overriding the default/fallback list in the \fBconfig\.h\fR\. As in rio, this is an X11 font, not a Plan 9 font\. +. +.P +The \fB\-term\fR option sets the default terminal emulator, overriding the builtin defaults of \fBurxvt\fR, \fB9term\fR, and \fBxterm\fR\. +. +.P +The \fB\-virtuals\fR option sets the number of virtual desktops (an integer from 1 to 12)\. The default, and their names, is set in the \fBconfig\.h\fR\. +. +.P +The \fB\-ffm\fR option sets the focus model to "focus\-follows\-mouse", instead of "click\-to\-focus"\. +. +.P +The \fB\-version\fR option prints the current version to \fBstderr\fR and then exits\. +. +.P +If either \fBexit\fR or \fBrestart\fR is given, the appropriate message is sent to an already\-running \fBryudo\fR instance to execute the named action\. +. +.SH "CONFIGURATION" +Many configuration options have been enabled as compile\-time options configured in the \fBconfig\.h\fR configuration file\. The \fBconfig\.def\.h\fR file shipped with the source code documents all of the options in the comments\. After changing the configuration, it is necessary to run the \fBbuild\.sh\fR and/or \fBinstall\.sh\fR script again and restart the program\. +. +.SH "BUILDING AND INSTALLATION" +Run the provided \fBbuild\.sh\fR and \fBinstall\.sh\fR scripts to build and install \fBryudo\fR\. If run as root, they will install the program and manual pages to the PLAN9 installation path\. If run as a regular user, they will install the program to \fB~/bin/9/\fR and not install the manual pages\. +. +.P +Building requires \fBplan9port\fR and the \fBlibX11\fR and \fBlibXT\fR headers\. Optionally, \fBlibnotify\fR is used to show notifications when switching virtual desktops\. +. +.SH "USAGE" +Right\-clicking on the desktop or an inactive window opens a menu with the following options (not all enabled by default): +. +.IP "\(bu" 4 +\fBNew\fR: Create a terminal window\. Press mouse button 3 where one corner of the new window\'s area should start, hold it down, and drag the mouse to the opposite corner\. Release the button to draw the window\. The new window will be made active\. The terminal program is either specified by the \fB\-term\fR runtime option or the first of whichever of \fBurxvt\fR, \fB9term\fR, or \fBxterm\fR is installed\. +. +.IP "\(bu" 4 +\fBReshape\fR: Change the size and location of a window\. Click mouse button 3 in the window to be changed, then sweep out the new window geometry as in the \fBNew\fR operation\. The changed window is made active\. +. +.IP "\(bu" 4 +\fBMove\fR: Change the location of a window\. Press and hold mouse button 3 on the window to be moved, and then drag the window to its new position\. The window is made active\. +. +.IP "\(bu" 4 +\fBMaximize\fR: Not enabled by default\. Click mouse button 3 on the window to maximize, and it will fill the entire screen and be made active\. +. +.IP "\(bu" 4 +\fBStick\fR: Not enabled by default\. Click mouse button 3 on a window to toggle its stickiness\. If sticky, it will be present on all virtual desktops\. If made unsticky, the window will be restricted to the current virtual desktop\. +. +.IP "\(bu" 4 +\fBDelete\fR: Closes a window\. Click the window to close with mouse button 3\. \fBSIGHUP\fR (hangup signal) is sent to all processes in the window\'s process group\. +. +.IP "\(bu" 4 +\fBHide\fR: Minimize a window\. Click the window with mouse button 3\. It will be hidden and its label truncated and appended to the menu\. There is a compiled\-in limit of 128 hidden windows\. +. +.IP "\(bu" 4 +\fBLABEL\fR: Select any label after the \fBHide\fR option to restore it to the current virtual desktop\. +. +.IP "" 0 +. +.P +Windows may be arranged by dragging their borders\. Mouse buttons 1 or 2 can be used to drag an individual side/corner of a window around, resizing it\. Mouse button 3 can be used to move the whole window\. +. +.P +Mouse button 2 on the desktop or an inactive window opens the virtual desktop list\. +. +.P +Mouse button 1 focuses a window\. The click is not transferred to the window (you can only interact with it once it has been made active)\. +. +.P +Alt\-Tab cycles focus through all windows on the current desktop\. +. +.P +The following operations are bindable to key combinations (shown are the default bindings): +. +.IP "\(bu" 4 +\fBLaunch\fR (Super + /): Open a new terminal in the center of the screen and make it active\. +. +.IP "\(bu" 4 +\fBReshape\fR (Super + R): Initiate a reshape operation as if the \fBReshape\fR option was selected in the menu and the currently active window selected for the operation\. +. +.IP "\(bu" 4 +\fBMove\fR (Super + V): Initiate a move operation as if the \fBMove\fR option was selected from the menu and the currently active window selected for the operation\. +. +.IP "\(bu" 4 +\fBMaximize\fR (Super + M): Maximize the currently active window\. +. +.IP "\(bu" 4 +\fBHide\fR (Super + I): Minimize the currently active window\. +. +.IP "\(bu" 4 +\fBUnhide\fR (Super + U): Restore the most recently minimized window\. +. +.IP "\(bu" 4 +\fBDelete\fR (Super + D): Close the currently active window\. +. +.IP "\(bu" 4 +\fBStick\fR (Super + S): Toggle stickiness of the currently active window\. +. +.IP "\(bu" 4 +\fBZoom\fR (Super + Z): Toggle zoom mode\. In zoom mode, the currently active window is maximized, new windows are opened maximized, and using Alt\-Tab to switch to another window maximizes it\. +. +.IP "\(bu" 4 +\fBTile Left\fR (Super + H): Tile the currently active window to fill the left half of the screen\. +. +.IP "\(bu" 4 +\fBTile Right\fR (Super + L): Tile the currently active window to fill the right half of the screen\. +. +.IP "\(bu" 4 +\fBTile Top\fR (Super + K): Tile the currently active window to fill the top half of the screen\. +. +.IP "\(bu" 4 +\fBTile Bottom\fR (Super + J): Tile the currently active window to fill the bottom half of the screen\. +. +.IP "\(bu" 4 +\fBTile Top\-Left\fR (Super + Q): Tile the currently active window to fill the top\-left quarter of the screen\. +. +.IP "\(bu" 4 +\fBTile Bottom\-Left\fR (Super + W): Tile the currently active window to fill the bottom\-left quarter of the screen\. +. +.IP "\(bu" 4 +\fBTile Bottom\-Right\fR (Super + O): Tile the currently active window to fill the bottom\-right quarter of the screen\. +. +.IP "\(bu" 4 +\fBTile Top\-Right\fR (Super + P): Tile the currently active window to fill the top\-right quarter of the screen\. +. +.IP "\(bu" 4 +\fBCenter\fR (Super + C): Center the currently active window (primary geometry preference)\. +. +.IP "\(bu" 4 +\fBCenter/Alternate\fR (Super + Shift + C): Center the currently active window (alternate geometry preference)\. +. +.IP "" 0 +. +.SH "AUTHORS" +. +.IP "\(bu" 4 +Derek Stevens \fInilix@nilfm\.cc\fR +. +.IP "\(bu" 4 +Russ Cox \fIrsc@swtch\.com\fR +. +.IP "\(bu" 4 +David Hogan, RIP +. +.IP "" 0 +. +.SH "SEE ALSO" +rio(1), 9term(1)
A ryudo.1.html

@@ -0,0 +1,178 @@

+<!DOCTYPE html> +<html> +<head> + <meta http-equiv='content-type' value='text/html;charset=utf8'> + <meta name='generator' value='Ronn/v0.7.3 (http://github.com/rtomayko/ronn/tree/0.7.3)'> + <title>ryudo(1) - The floatiling window manager that flows</title> + <style type='text/css' media='all'> + /* style: man */ + body#manpage {margin:0} + .mp {max-width:100ex;padding:0 9ex 1ex 4ex} + .mp p,.mp pre,.mp ul,.mp ol,.mp dl {margin:0 0 20px 0} + .mp h2 {margin:10px 0 0 0} + .mp > p,.mp > pre,.mp > ul,.mp > ol,.mp > dl {margin-left:8ex} + .mp h3 {margin:0 0 0 4ex} + .mp dt {margin:0;clear:left} + .mp dt.flush {float:left;width:8ex} + .mp dd {margin:0 0 0 9ex} + .mp h1,.mp h2,.mp h3,.mp h4 {clear:left} + .mp pre {margin-bottom:20px} + .mp pre+h2,.mp pre+h3 {margin-top:22px} + .mp h2+pre,.mp h3+pre {margin-top:5px} + .mp img {display:block;margin:auto} + .mp h1.man-title {display:none} + .mp,.mp code,.mp pre,.mp tt,.mp kbd,.mp samp,.mp h3,.mp h4 {font-family:monospace;font-size:14px;line-height:1.42857142857143} + .mp h2 {font-size:16px;line-height:1.25} + .mp h1 {font-size:20px;line-height:2} + .mp {text-align:justify;background:#fff} + .mp,.mp code,.mp pre,.mp pre code,.mp tt,.mp kbd,.mp samp {color:#131211} + .mp h1,.mp h2,.mp h3,.mp h4 {color:#030201} + .mp u {text-decoration:underline} + .mp code,.mp strong,.mp b {font-weight:bold;color:#131211} + .mp em,.mp var {font-style:italic;color:#232221;text-decoration:none} + .mp a,.mp a:link,.mp a:hover,.mp a code,.mp a pre,.mp a tt,.mp a kbd,.mp a samp {color:#0000ff} + .mp b.man-ref {font-weight:normal;color:#434241} + .mp pre {padding:0 4ex} + .mp pre code {font-weight:normal;color:#434241} + .mp h2+pre,h3+pre {padding-left:0} + ol.man-decor,ol.man-decor li {margin:3px 0 10px 0;padding:0;float:left;width:33%;list-style-type:none;text-transform:uppercase;color:#999;letter-spacing:1px} + ol.man-decor {width:100%} + ol.man-decor li.tl {text-align:left} + ol.man-decor li.tc {text-align:center;letter-spacing:4px} + ol.man-decor li.tr {text-align:right;float:right} + </style> +</head> +<!-- + The following styles are deprecated and will be removed at some point: + div#man, div#man ol.man, div#man ol.head, div#man ol.man. + + The .man-page, .man-decor, .man-head, .man-foot, .man-title, and + .man-navigation should be used instead. +--> +<body id='manpage'> + <div class='mp' id='man'> + + <div class='man-navigation' style='display:none'> + <a href="#NAME">NAME</a> + <a href="#SYNOPSIS">SYNOPSIS</a> + <a href="#DESCRIPTION">DESCRIPTION</a> + <a href="#CONFIGURATION">CONFIGURATION</a> + <a href="#BUILDING-AND-INSTALLATION">BUILDING AND INSTALLATION</a> + <a href="#USAGE">USAGE</a> + <a href="#AUTHORS">AUTHORS</a> + <a href="#SEE-ALSO">SEE ALSO</a> + </div> + + <ol class='man-decor man-head man head'> + <li class='tl'>ryudo(1)</li> + <li class='tc'></li> + <li class='tr'>ryudo(1)</li> + </ol> + + <h2 id="NAME">NAME</h2> +<p class="man-name"> + <code>ryudo</code> - <span class="man-whatis">The floatiling window manager that flows</span> +</p> + +<h2 id="SYNOPSIS">SYNOPSIS</h2> + +<p><code>ryudo</code> [ -font FONTNAME ] [ -term TERMPROG ] [ -virtuals NUMVIRTS ] [ -ffm ] [ -version ] [ exit | restart ]</p> + +<h2 id="DESCRIPTION">DESCRIPTION</h2> + +<p>Ryudo is a window manager for X which is a fork of <code>rio</code> from <code>plan9port</code> by Russ Cox, which is itself a fork of David Hogan's <code>9wm</code>. Ryudo aims to be a more dynamic and configurable window manager while keeping most of the behavior of Rio.</p> + +<p>The <code>-font</code> option sets the font in ryudo's menu to FONTNAME, overriding the default/fallback list in the <code>config.h</code>. As in rio, this is an X11 font, not a Plan 9 font.</p> + +<p>The <code>-term</code> option sets the default terminal emulator, overriding the builtin defaults of <code>urxvt</code>, <code>9term</code>, and <code>xterm</code>.</p> + +<p>The <code>-virtuals</code> option sets the number of virtual desktops (an integer from 1 to 12). The default, and their names, is set in the <code>config.h</code>.</p> + +<p>The <code>-ffm</code> option sets the focus model to "focus-follows-mouse", instead of "click-to-focus".</p> + +<p>The <code>-version</code> option prints the current version to <code>stderr</code> and then exits.</p> + +<p>If either <code>exit</code> or <code>restart</code> is given, the appropriate message is sent to an already-running <code>ryudo</code> instance to execute the named action.</p> + +<h2 id="CONFIGURATION">CONFIGURATION</h2> + +<p>Many configuration options have been enabled as compile-time options configured in the <code>config.h</code> configuration file. The <code>config.def.h</code> file shipped with the source code documents all of the options in the comments. After changing the configuration, it is necessary to run the <code>build.sh</code> and/or <code>install.sh</code> script again and restart the program.</p> + +<h2 id="BUILDING-AND-INSTALLATION">BUILDING AND INSTALLATION</h2> + +<p>Run the provided <code>build.sh</code> and <code>install.sh</code> scripts to build and install <code>ryudo</code>. If run as root, they will install the program and manual pages to the PLAN9 installation path. If run as a regular user, they will install the program to <code>~/bin/9/</code> and not install the manual pages.</p> + +<p>Building requires <code>plan9port</code> and the <code>libX11</code> and <code>libXT</code> headers. Optionally, <code>libnotify</code> is used to show notifications when switching virtual desktops.</p> + +<h2 id="USAGE">USAGE</h2> + +<p>Right-clicking on the desktop or an inactive window opens a menu with the following options (not all enabled by default):</p> + +<ul> +<li><code>New</code>: Create a terminal window. Press mouse button 3 where one corner of the new window's area should start, hold it down, and drag the mouse to the opposite corner. Release the button to draw the window. The new window will be made active. The terminal program is either specified by the <code>-term</code> runtime option or the first of whichever of <code>urxvt</code>, <code>9term</code>, or <code>xterm</code> is installed.</li> +<li><code>Reshape</code>: Change the size and location of a window. Click mouse button 3 in the window to be changed, then sweep out the new window geometry as in the <code>New</code> operation. The changed window is made active.</li> +<li><code>Move</code>: Change the location of a window. Press and hold mouse button 3 on the window to be moved, and then drag the window to its new position. The window is made active.</li> +<li><code>Maximize</code>: Not enabled by default. Click mouse button 3 on the window to maximize, and it will fill the entire screen and be made active.</li> +<li><code>Stick</code>: Not enabled by default. Click mouse button 3 on a window to toggle its stickiness. If sticky, it will be present on all virtual desktops. If made unsticky, the window will be restricted to the current virtual desktop.</li> +<li><code>Delete</code>: Closes a window. Click the window to close with mouse button 3. <code>SIGHUP</code> (hangup signal) is sent to all processes in the window's process group.</li> +<li><code>Hide</code>: Minimize a window. Click the window with mouse button 3. It will be hidden and its label truncated and appended to the menu. There is a compiled-in limit of 128 hidden windows.</li> +<li><code>LABEL</code>: Select any label after the <code>Hide</code> option to restore it to the current virtual desktop.</li> +</ul> + + +<p>Windows may be arranged by dragging their borders. Mouse buttons 1 or 2 can be used to drag an individual side/corner of a window around, resizing it. Mouse button 3 can be used to move the whole window.</p> + +<p>Mouse button 2 on the desktop or an inactive window opens the virtual desktop list.</p> + +<p>Mouse button 1 focuses a window. The click is not transferred to the window (you can only interact with it once it has been made active).</p> + +<p>Alt-Tab cycles focus through all windows on the current desktop.</p> + +<p>The following operations are bindable to key combinations (shown are the default bindings):</p> + +<ul> +<li><code>Launch</code> (Super + /): Open a new terminal in the center of the screen and make it active.</li> +<li><code>Reshape</code> (Super + R): Initiate a reshape operation as if the <code>Reshape</code> option was selected in the menu and the currently active window selected for the operation.</li> +<li><code>Move</code> (Super + V): Initiate a move operation as if the <code>Move</code> option was selected from the menu and the currently active window selected for the operation.</li> +<li><code>Maximize</code> (Super + M): Maximize the currently active window.</li> +<li><code>Hide</code> (Super + I): Minimize the currently active window.</li> +<li><code>Unhide</code> (Super + U): Restore the most recently minimized window.</li> +<li><code>Delete</code> (Super + D): Close the currently active window.</li> +<li><code>Stick</code> (Super + S): Toggle stickiness of the currently active window.</li> +<li><code>Zoom</code> (Super + Z): Toggle zoom mode. In zoom mode, the currently active window is maximized, new windows are opened maximized, and using Alt-Tab to switch to another window maximizes it.</li> +<li><code>Tile Left</code> (Super + H): Tile the currently active window to fill the left half of the screen.</li> +<li><code>Tile Right</code> (Super + L): Tile the currently active window to fill the right half of the screen.</li> +<li><code>Tile Top</code> (Super + K): Tile the currently active window to fill the top half of the screen.</li> +<li><code>Tile Bottom</code> (Super + J): Tile the currently active window to fill the bottom half of the screen.</li> +<li><code>Tile Top-Left</code> (Super + Q): Tile the currently active window to fill the top-left quarter of the screen.</li> +<li><code>Tile Bottom-Left</code> (Super + W): Tile the currently active window to fill the bottom-left quarter of the screen.</li> +<li><code>Tile Bottom-Right</code> (Super + O): Tile the currently active window to fill the bottom-right quarter of the screen.</li> +<li><code>Tile Top-Right</code> (Super + P): Tile the currently active window to fill the top-right quarter of the screen.</li> +<li><code>Center</code> (Super + C): Center the currently active window (primary geometry preference).</li> +<li><code>Center/Alternate</code> (Super + Shift + C): Center the currently active window (alternate geometry preference).</li> +</ul> + + +<h2 id="AUTHORS">AUTHORS</h2> + +<ul> +<li>Derek Stevens <a href="&#109;&#x61;&#x69;&#108;&#116;&#111;&#58;&#110;&#105;&#108;&#x69;&#120;&#64;&#x6e;&#105;&#108;&#x66;&#109;&#46;&#99;&#99;" data-bare-link="true">&#110;&#105;&#x6c;&#x69;&#x78;&#x40;&#x6e;&#x69;&#108;&#x66;&#x6d;&#x2e;&#99;&#99;</a></li> +<li>Russ Cox <a href="&#109;&#x61;&#105;&#108;&#x74;&#111;&#x3a;&#x72;&#115;&#99;&#x40;&#115;&#119;&#116;&#x63;&#104;&#46;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#114;&#115;&#x63;&#x40;&#115;&#x77;&#116;&#x63;&#104;&#x2e;&#x63;&#111;&#109;</a></li> +<li>David Hogan, RIP</li> +</ul> + + +<h2 id="SEE-ALSO">SEE ALSO</h2> + +<p><span class="man-ref">rio<span class="s">(1)</span></span>, <span class="man-ref">9term<span class="s">(1)</span></span></p> + + + <ol class='man-decor man-foot man foot'> + <li class='tl'></li> + <li class='tc'>June 2021</li> + <li class='tr'>ryudo(1)</li> + </ol> + + </div> +</body> +</html>
M ryudo.1.mdryudo.1.md

@@ -73,3 +73,13 @@ - `Tile Bottom-Right` (Super + O): Tile the currently active window to fill the bottom-right quarter of the screen.

- `Tile Top-Right` (Super + P): Tile the currently active window to fill the top-right quarter of the screen. - `Center` (Super + C): Center the currently active window (primary geometry preference). - `Center/Alternate` (Super + Shift + C): Center the currently active window (alternate geometry preference). + +## AUTHORS + +- Derek Stevens <nilix@nilfm.cc> +- Russ Cox <rsc@swtch.com> +- David Hogan, RIP + +## SEE ALSO + +rio(1), 9term(1)