all repos — ryudo @ 296b743db3dd2271510efce777363bd81b575ea7

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

update docs again, include transsetter.sh
Iris Lightshard nilix@nilfm.cc
PGP Signature
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEkFh6dA+k/6CXFXU4O3+8IhROY5gFAmDOljEACgkQO3+8IhRO
Y5j0iw//ap0N7M/Vt5WJ6TwlXdgaOs+q3NTxvS/Uv2Jm6fpPU+VRzQbVXQ45d7xb
LFL6e1Twm41f42iXzbaAbmb5tGE1xMlidyVCgZ+GU6ASvraDBirmx1vj3h0NH79T
uTPVNEb3nj0ahZIzyxgWKUcz2J93adZTUkNo72aM3/FsGjcbt+/FDu9Dq+mzpV3v
6Ttc3KKd+8z6C42YQO/i2U6pyJS/vKyapVkYjHK09AkGmqVnznd3m2JaXtVPxXPI
GIctWZS4njX9Y2P4YcD2a5w19AzqhsIWKDIR+DZxoWlHtoqVq8W2WSkwZh22zKKE
UoMjL1HX+kPedTx8VrNJAXFbUR/4Vpt3D4/X75TA3doHHVOuNFaP1Xq74yXf475R
n72k82Z8i+2kPLd7L4nYrX7lvaxxPkV1v1sCDg7s95lctXi6o3BKdykAXQvdWSa6
rAXqulhz4maP0/LF+q3r+D9j2h8SILeFo5ckBJKty9DEmJ3zWWVy7YtodqTEJGJo
NU5K5hQhnpVNXqP1v1lqvha7JkgSywlgRmVqyKpHoesvGfHGFka65ImDv+0V9257
Pw5KS7/oEMP/PbGZq+p8l0oRD6uRrubbLDflF1lfvVKYatuC6YCL93ujPSxpT8zS
juwVhyvrgyiCXYU3FJMhIEyPekVgJ4EYx4KiVpmzLoSuiN8Hy9M=
=sXBe
-----END PGP SIGNATURE-----
commit

296b743db3dd2271510efce777363bd81b575ea7

parent

87c8c4a26cffd4f9158db33f5555c449be14118f

4 files changed, 100 insertions(+), 2 deletions(-)

jump to
M ryudo.1ryudo.1

@@ -139,6 +139,24 @@ \fBCenter/Alternate\fR (Super + Shift + C): Center the currently active window (alternate geometry preference)\.

. .IP "" 0 . +.SH "BUGS AND CAVEATS" +Multimonitor output is not currently supported \-\- the whole "screen" (collection of active monitors) is treated as one monitor, and keybinds and automatic window placement will not work properly\. +. +.P +Click events don\'t pass through when clicking to activate a window\. +. +.P +Clicking mouse button 3 on an inactive window brings up the Button 3 Menu instead of focusing the window\. I personally sometimes find this behavior useful\. +. +.P +Programs that expect to run fullscreen will probably just open in a window the size of whatever resolution they expect to run at\. Depending on the implementation, they may respond well to being maximized or you may have to change your screen resolution manually before doing so\. +. +.P +Fullscreen Virtualbox VM windows are a strange outlier and start with their graphics offset\. Maximize the window after opening and it should be good\. +. +.P +There is no native support for compositing, but included is a shell script (\fBtranssetter\.sh\fR) which I use for translucent terminal and editor windows\. It works well and is decently lightweight\. +. .SH "AUTHORS" . .IP "\(bu" 4
M ryudo.1.htmlryudo.1.html

@@ -59,6 +59,7 @@ <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="#BUGS-AND-CAVEATS">BUGS AND CAVEATS</a> <a href="#AUTHORS">AUTHORS</a> <a href="#SEE-ALSO">SEE ALSO</a> </div>

@@ -153,11 +154,25 @@ <li><code>Center/Alternate</code> (Super + Shift + C): Center the currently active window (alternate geometry preference).</li>

</ul> +<h2 id="BUGS-AND-CAVEATS">BUGS AND CAVEATS</h2> + +<p>Multimonitor output is not currently supported -- the whole "screen" (collection of active monitors) is treated as one monitor, and keybinds and automatic window placement will not work properly.</p> + +<p>Click events don't pass through when clicking to activate a window.</p> + +<p>Clicking mouse button 3 on an inactive window brings up the Button 3 Menu instead of focusing the window. I personally sometimes find this behavior useful.</p> + +<p>Programs that expect to run fullscreen will probably just open in a window the size of whatever resolution they expect to run at. Depending on the implementation, they may respond well to being maximized or you may have to change your screen resolution manually before doing so.</p> + +<p>Fullscreen Virtualbox VM windows are a strange outlier and start with their graphics offset. Maximize the window after opening and it should be good.</p> + +<p>There is no native support for compositing, but included is a shell script (<code>transsetter.sh</code>) which I use for translucent terminal and editor windows. It works well and is decently lightweight.</p> + <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>Derek Stevens <a href="&#x6d;&#97;&#x69;&#x6c;&#116;&#x6f;&#58;&#x6e;&#x69;&#x6c;&#105;&#120;&#x40;&#x6e;&#105;&#108;&#102;&#x6d;&#46;&#x63;&#99;" data-bare-link="true">&#110;&#105;&#x6c;&#105;&#x78;&#64;&#x6e;&#x69;&#x6c;&#102;&#109;&#x2e;&#x63;&#99;</a></li> +<li>Russ Cox <a href="&#x6d;&#x61;&#105;&#108;&#116;&#111;&#58;&#114;&#x73;&#99;&#64;&#x73;&#119;&#x74;&#x63;&#x68;&#46;&#x63;&#x6f;&#x6d;" data-bare-link="true">&#x72;&#115;&#99;&#64;&#x73;&#x77;&#x74;&#99;&#x68;&#46;&#99;&#111;&#x6d;</a></li> <li>David Hogan, RIP</li> </ul>
M ryudo.1.mdryudo.1.md

@@ -74,6 +74,20 @@ - `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). +## BUGS AND CAVEATS + +Multimonitor output is not currently supported -- the whole "screen" (collection of active monitors) is treated as one monitor, and keybinds and automatic window placement will not work properly. + +Click events don't pass through when clicking to activate a window. + +Clicking mouse button 3 on an inactive window brings up the Button 3 Menu instead of focusing the window. I personally sometimes find this behavior useful. + +Programs that expect to run fullscreen will probably just open in a window the size of whatever resolution they expect to run at. Depending on the implementation, they may respond well to being maximized or you may have to change your screen resolution manually before doing so. + +Fullscreen Virtualbox VM windows are a strange outlier and start with their graphics offset. Maximize the window after opening and it should be good. + +There is no native support for compositing, but included is a shell script (`transsetter.sh`) which I use for translucent terminal and editor windows. It works well and is decently lightweight. + ## AUTHORS - Derek Stevens <nilix@nilfm.cc>
A transsetter.sh

@@ -0,0 +1,51 @@

+#!/bin/sh + +# A background script to provide terminal/editor compositing in a Ryudo +# session. +# Licensed under the MIT License -- do what you want with it. +# Copyleft 2021 Derek Stevens <drkste@zoho.com> + +termprog=Alacritty +geditor=acme +opacity=0.85 + +setter=$(which transset) +if [ -z "$setter" ]; then + setter=$(which transset-df) +fi + +if [ -z "$setter" ]; then + echo "we need transset or transset-df in PATH!" + exit 1 +fi + +#if which xcompmgr > /dev/null; then +# xcompmgr -n& +#else +# ehco "we need xcompmgr in PATH!" +# exit 1 +#fi + +if ! which xshove > /dev/null; then + echo "we need xshove in PATH!" + exit 1 +fi + +wlist=$(mktemp) +oldwlist=$(mktemp) +while true; do + xshove > $wlist + while read wprop; do + wid=$(echo ${wprop} | awk '{print $1}') + if ! grep $wid $oldwlist > /dev/null; then + wclass=$(echo ${wprop} | awk '{print $3}') + if [ "$wclass" = "${geditor}" ]; then + $setter -i 0x$wid ${opacity} > /dev/null + elif [ "${wclass}" = "${termprog}" ]; then + $setter -i 0x$wid ${opacity} > /dev/null + fi + fi + done < $wlist + cat $wlist > $oldwlist; + sleep 0.2 +done