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-----
4 files changed,
100 insertions(+),
2 deletions(-)
M
ryudo.1
→
ryudo.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.html
→
ryudo.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="mailto:nilix@nilfm.cc" data-bare-link="true">nilix@nilfm.cc</a></li> -<li>Russ Cox <a href="mailto:rsc@swtch.com" data-bare-link="true">rsc@swtch.com</a></li> +<li>Derek Stevens <a href="mailto:nilix@nilfm.cc" data-bare-link="true">nilix@nilfm.cc</a></li> +<li>Russ Cox <a href="mailto:rsc@swtch.com" data-bare-link="true">rsc@swtch.com</a></li> <li>David Hogan, RIP</li> </ul>
M
ryudo.1.md
→
ryudo.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