merge 1.5.0 into main
PGP Signature
-----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQT/foVVmI9pK13hPWFohAcXSWbK8wUCZvVnpwAKCRBohAcXSWbK 80g2AQDiIKQQHAa0giFAK9UXctzbE1dVK85tgvjW4AR228RZfAEAgBv/O1G5IDWF 1nGz7DG7n85TGWq3nf6q7POvgomV0QA= =j/jx -----END PGP SIGNATURE-----
@@ -13,7 +13,6 @@ IndentCaseLabels: true
SpaceBeforeParens: ControlStatements AlignAfterOpenBracket: AlwaysBreak BinPackArguments: false -BinPackArguments: false PointerAlignment: Left BreakBeforeBraces: Attach SortIncludes: false
@@ -1,4 +1,4 @@
- Ryudo is free software, and is Copyright (c) 2019-20022 Derek Stevens, + Ryudo is free software, and is Copyright (c) 2019-2024 Iris Lightshard, 2004 by Russ Cox, and 1994-1996 by David Hogan. Permission is granted to all sentient beings to use this software, to make copies of it, and to distribute those copies, provided that:
@@ -1,6 +1,6 @@
# [[ RYUDO ]] ## the minimalist floatiling window manager that flows - -- Derek Stevens <nilix@nilfm.cc> 2019 -- + -- Iris Lightshard <nilix@nilfm.cc> 2019 -- [![micro centered](./screenshots/micro_centered.png.thumb.png)](./screenshots/micro_centered.png) [![floating porn](./screenshots/floating.png.thumb.png)](./screenshots/floating.png)@@ -63,9 +63,6 @@ * a full `plan9port` installation
* `libX11` and development headers * `libXT` and development headers * `libXrandr` and development headers - -If virtual desktop switching notification is enabled, it requires - * `libnotify` and development headers Build with `build.sh` (calls `mk` and does some other magic), and install with `install.sh` (will install to a local folder if run as a normal user, or to your `$PLAN9/bin/` plus session wrapper in `/usr/bin` and `.desktop` file in `/usr/share/xsessions/` if run as root).@@ -75,7 +72,7 @@
### Bugs and Caveats Of the bugs and caveats not already mentioned in `rio`'s README: -- No per-pixel alpha support beyond `XShape` extension. +- Compositing rules in picom are ignored in favor of the ones in config.h. - Switching back and forth between virtual desktops very quickly can cause some windows to glitch out, lose their parent (border), and become unfocusable. - Some applications that render fullscreen or dedicated OSD windows (Virtualbox, Zoom, etc) will need to be manually maximized to fix their alignment (in the former case) or otherwise misbehave. - Probably more!
@@ -22,8 +22,8 @@ #include "fns.h"
#include "patchlevel.h" char* version[] = { - "ryudo version 1.4.2\nCopyright (c) 1994-1996 David Hogan,\n(c) 2004 Russ " - "Cox,\n(c) 2019-2023 Derek Stevens", + "ryudo version 1.5.0\nCopyright (c) 1994-1996 David Hogan,\n(c) 2004 Russ " + "Cox,\n(c) 2019-2024 Iris Lightshard", 0}; Display* dpy;
@@ -3,7 +3,7 @@ * Window management.
*/ /* - * Copyright (c) 2019 Derek Stevens, 2005 Russ Cox, 1994-1996 David Hogan + * Copyright (c) 2019 Iris Lightshard, 2005 Russ Cox, 1994-1996 David Hogan * see README for licence details */@@ -209,12 +209,12 @@ XMapWindow(dpy, c->parent);
XUnmapWindow(dpy, c->screen->sweepwin); #ifdef AUTOSTICK if (!isautostick(c)) -#endif active(c); - /*else if(c->trans != None && current && current->window == c->trans) - active(c);*/ else setactive(c, 0); +#else + active(c); +#endif setstate(c, NormalState); } if (current && (current != c))
@@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3 .\" http://github.com/rtomayko/ronn/tree/0.7.3 . -.TH "RYUDO" "1" "January 2023" "" "" +.TH "RYUDO" "1" "September 2024" "" "" . .SH "NAME" \fBryudo\fR \- The floatiling window manager that flows@@ -47,11 +47,6 @@ \fBlibXT\fR and development headers
. .IP "\(bu" 4 \fBlibXrandr\fR and development headers -. -.IP "" 0 -. -.P -If virtual desktop switching notification is enabled, it requires . .IP "\(bu" 4 \fBlibnotify\fR and development headers@@ -194,7 +189,7 @@ .
.SH "AUTHORS" . .IP "\(bu" 4 -Derek Stevens \fInilix@nilfm\.cc\fR +Iris Lightshard \fInilix@nilfm\.cc\fR . .IP "\(bu" 4 Russ Cox \fIrsc@swtch\.com\fR
@@ -106,12 +106,6 @@ <li>a full <code>plan9port</code> installation</li>
<li><code>libX11</code> and development headers</li> <li><code>libXT</code> and development headers</li> <li><code>libXrandr</code> and development headers</li> -</ul> - - -<p>If virtual desktop switching notification is enabled, it requires</p> - -<ul> <li><code>libnotify</code> and development headers</li> </ul>@@ -189,8 +183,8 @@
<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>Iris Lightshard <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>@@ -202,7 +196,7 @@
<ol class='man-decor man-foot man foot'> <li class='tl'></li> - <li class='tc'>January 2023</li> + <li class='tc'>September 2024</li> <li class='tr'>ryudo(1)</li> </ol>
@@ -32,9 +32,6 @@ * a full `plan9port` installation
* `libX11` and development headers * `libXT` and development headers * `libXrandr` and development headers - -If virtual desktop switching notification is enabled, it requires - * `libnotify` and development headers ## CONFIGURATION@@ -103,7 +100,7 @@ While there is naitive support for per-window opacity via the `OPACITY` and `TRANSPARENTLIST` configuration macros, there is no support for per-pixel opacity. Programs that expect this behavior will render all pixels at the same opacity (unless using the `XSHAPE` extension for boolean opacity per-pixel (eg, `xeyes`), which works.)
## AUTHORS -- Derek Stevens <nilix@nilfm.cc> +- Iris Lightshard <nilix@nilfm.cc> - Russ Cox <rsc@swtch.com> - David Hogan, RIP
@@ -24,7 +24,8 @@ }
} /* Returns the string equivalent of a property notify state */ -static char* PropertyState(state) int state; +static char* PropertyState(state) +int state; { switch (state) { case PropertyNewValue:@@ -39,7 +40,8 @@ }
} /* Returns the string equivalent of a visibility notify state */ -static char* VisibilityState(state) int state; +static char* VisibilityState(state) +int state; { switch (state) { case VisibilityUnobscured:@@ -57,7 +59,8 @@ }
} /* Returns the string equivalent of a timestamp */ -static char* ServerTime(time) Time time; +static char* ServerTime(time) +Time time; { unsigned long msec; unsigned long sec;@@ -95,7 +98,8 @@ char* string;
} MaskType; /* Returns the string equivalent of a mask of buttons and/or modifier keys */ -static char* ButtonAndOrModifierState(state) unsigned int state; +static char* ButtonAndOrModifierState(state) +unsigned int state; { static char buffer[256]; static MaskType masks[] = {@@ -132,7 +136,8 @@ return (buffer);
} /* Returns the string equivalent of a mask of configure window values */ -static char* ConfigureValueMask(valuemask) unsigned int valuemask; +static char* ConfigureValueMask(valuemask) +unsigned int valuemask; { static char buffer[256]; static MaskType masks[] = {@@ -164,7 +169,8 @@ return (buffer);
} /* Returns the string equivalent of a motion hint */ -static char* IsHint(is_hint) char is_hint; +static char* IsHint(is_hint) +char is_hint; { switch (is_hint) { case NotifyNormal:@@ -179,7 +185,8 @@ }
} /* Returns the string equivalent of an id or the value "None" */ -static char* MaybeNone(value) int value; +static char* MaybeNone(value) +int value; { static char buffer[16];@@ -192,7 +199,8 @@ }
} /* Returns the string equivalent of a colormap state */ -static char* ColormapState(state) int state; +static char* ColormapState(state) +int state; { switch (state) { case ColormapInstalled:@@ -207,7 +215,8 @@ }
} /* Returns the string equivalent of a crossing detail */ -static char* CrossingDetail(detail) int detail; +static char* CrossingDetail(detail) +int detail; { switch (detail) { case NotifyAncestor:@@ -231,7 +240,8 @@ }
} /* Returns the string equivalent of a focus change detail */ -static char* FocusChangeDetail(detail) int detail; +static char* FocusChangeDetail(detail) +int detail; { switch (detail) { case NotifyAncestor:@@ -264,7 +274,8 @@ }
} /* Returns the string equivalent of a configure detail */ -static char* ConfigureDetail(detail) int detail; +static char* ConfigureDetail(detail) +int detail; { switch (detail) { case Above:@@ -288,7 +299,8 @@ }
} /* Returns the string equivalent of a grab mode */ -static char* GrabMode(mode) int mode; +static char* GrabMode(mode) +int mode; { switch (mode) { case NotifyNormal:@@ -309,7 +321,8 @@ }
} /* Returns the string equivalent of a mapping request */ -static char* MappingRequest(request) int request; +static char* MappingRequest(request) +int request; { switch (request) { case MappingModifier:@@ -327,7 +340,8 @@ }
} /* Returns the string equivalent of a stacking order place */ -static char* Place(place) int place; +static char* Place(place) +int place; { switch (place) { case PlaceOnTop:@@ -342,7 +356,8 @@ }
} /* Returns the string equivalent of a major code */ -static char* MajorCode(code) int code; +static char* MajorCode(code) +int code; { static char buffer[32];@@ -360,7 +375,8 @@ }
} /* Returns the string equivalent the keycode contained in the key event */ -static char* Keycode(ev) XKeyEvent* ev; +static char* Keycode(ev) +XKeyEvent* ev; { static char buffer[256]; KeySym keysym_str;@@ -635,7 +651,8 @@ /******************************************************************************/
/************ Return the string representation for type of an event ***********/ /******************************************************************************/ -char* GetType(ev) XEvent* ev; +char* GetType(ev) +XEvent* ev; { switch (ev->type) { case KeyPress: