Logs: liberachat/#xmonad
| 2025-11-14 14:00:58 | × | yecinem_ quits (~yecinem@host-212-114-138-22.customer.m-online.net) (Remote host closed the connection) |
| 2025-11-14 14:01:03 | → | rieper joins (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) |
| 2025-11-14 14:01:20 | → | yecinem_ joins (~yecinem@host-212-114-138-22.customer.m-online.net) |
| 2025-11-14 14:05:29 | × | rieper quits (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) (Ping timeout: 244 seconds) |
| 2025-11-14 14:05:43 | → | rieper joins (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) |
| 2025-11-14 15:48:47 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 2025-11-14 15:53:10 | × | yecinem_ quits (~yecinem@host-212-114-138-22.customer.m-online.net) (Ping timeout: 256 seconds) |
| 2025-11-14 16:09:41 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-14 17:15:02 | → | OftenFaded joins (~OftenFade@user/OftenFaded) |
| 2025-11-14 19:00:18 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 2025-11-14 19:21:55 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-14 20:55:11 | × | td_ quits (~td@i53870933.versanet.de) (Ping timeout: 256 seconds) |
| 2025-11-14 20:57:07 | → | td_ joins (~td@i5387092A.versanet.de) |
| 2025-11-14 22:36:21 | → | OftenFad1 joins (~OftenFade@user/OftenFaded) |
| 2025-11-14 22:38:17 | → | zawaken- joins (~zawaken@user/zawaken) |
| 2025-11-14 22:40:37 | × | zawaken quits (~zawaken@user/zawaken) (Ping timeout: 256 seconds) |
| 2025-11-14 22:40:37 | × | haskellbridge quits (~hackager@96.28.224.214) (Ping timeout: 256 seconds) |
| 2025-11-14 22:40:37 | × | lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Ping timeout: 256 seconds) |
| 2025-11-14 22:40:38 | × | mkoskar quits (~mkoskar@user/mkoskar) (Ping timeout: 256 seconds) |
| 2025-11-14 22:41:11 | → | td__ joins (~td@2001:9e8:19c5:1800:ec98:e836:5d0:9712) |
| 2025-11-14 22:41:11 | × | td_ quits (~td@i5387092A.versanet.de) (*.net *.split) |
| 2025-11-14 22:41:12 | × | OftenFaded quits (~OftenFade@user/OftenFaded) (*.net *.split) |
| 2025-11-14 22:41:12 | × | T_X quits (~T_X@diktynna.open-mesh.org) (*.net *.split) |
| 2025-11-14 22:42:07 | → | lambdabot joins (~lambdabot@haskell/bot/lambdabot) |
| 2025-11-14 22:43:24 | → | haskellbridge joins (~hackager@96.28.224.214) |
| 2025-11-14 22:44:19 | → | T_X joins (~T_X@diktynna.open-mesh.org) |
| 2025-11-14 22:52:36 | → | mkoskar joins (~mkoskar@user/mkoskar) |
| 2025-11-15 03:26:43 | × | td__ quits (~td@2001:9e8:19c5:1800:ec98:e836:5d0:9712) (Ping timeout: 264 seconds) |
| 2025-11-15 03:28:01 | → | td_ joins (~td@i53870938.versanet.de) |
| 2025-11-15 07:10:00 | <haskellbridge> | <Nexilva> I can confirm the fix works. "systemctl --user mask plasma-kglobalaccel.service" frees up the meta key from KDE |
| 2025-11-15 08:37:31 | <haskellbridge> | <Nexilva> Who knew AI would be right on this. ChatGPT to the rescue. |
| 2025-11-15 09:00:36 | × | rieper quits (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) (Ping timeout: 244 seconds) |
| 2025-11-15 09:02:17 | → | rieper joins (~riepernet@2a03:4000:6:f1d6:6885:6fff:fe5a:8933) |
| 2025-11-15 14:04:49 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds) |
| 2025-11-15 14:29:57 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-15 14:31:52 | × | tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 2025-11-15 15:43:51 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-15 16:04:49 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-15 16:09:34 | <geekosaur> | it's more likely to get KDE right, more users |
| 2025-11-15 16:09:42 | <geekosaur> | = more content to scrape |
| 2025-11-15 16:10:00 | <geekosaur> | (I mean, LLM "AI" is just a fancier Markov bot) |
| 2025-11-15 16:25:45 | <haskellbridge> | <eldritchcookie> can someone explain named scratchpads for me? i added all log/manage/startup/event hooks and it always runs the configured cmd instead of moving the active scratchpad, also what is the recommended way to hide a scratchpad? the module only provides a hook to auto hide when it loses focus? |
| 2025-11-15 16:34:51 | <haskellbridge> | <Nexilva> eldritchcookie: https://bpa.st/PVSA You can look at my config for example. |
| 2025-11-15 16:40:04 | → | uhdhdh joins (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) |
| 2025-11-15 16:46:43 | <geekosaur> | we really need to combinator-ize that so you don't have to add a crapload of hooks yourself someday |
| 2025-11-15 16:49:07 | × | uhdhdh quits (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 2025-11-15 16:58:26 | <haskellbridge> | <Nexilva> Did it make sense? |
| 2025-11-15 16:59:38 | <geekosaur> | as for hiding it, the activate key is supposed to be a toggle. if the matched window doesn't exist the program is launched; if it's not on the current workspace it's moved there; if it is on the current workspace it's moved to NSP |
| 2025-11-15 17:00:00 | <haskellbridge> | <Nexilva> I think you got it. |
| 2025-11-15 17:01:28 | <haskellbridge> | <eldritchcookie> i just noticed that my scratchpad isn't floating even though the fourth argument contains doFloat https://play.haskell.org/saved/DNRqpPA8 i am setting a window tag on this hook so my query searching for the tag always fails |
| 2025-11-15 17:04:50 | <geekosaur> | hah. I think this is the first time I've seen anyone else use the NSP logger 🙂 |
| 2025-11-15 17:05:06 | <geekosaur> | otherwise it looks fine |
| 2025-11-15 17:24:22 | <haskellbridge> | <eldritchcookie> i guess i know where the error is |
| 2025-11-15 17:24:22 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/SxIplZEXNEUSSdgLMJsYPWCJ/jCx2KYIumgg (7 lines) |
| 2025-11-15 17:26:48 | <geekosaur> | hm, sorry, I thought it used _NET_WM_PID like most modern stuff (although that would mean terminals would need to be run specially) |
| 2025-11-15 17:27:30 | <geekosaur> | but yes, that means you can't sensibly tag the window unless you do it before the namedScratchpadManageHook runs |
| 2025-11-15 17:28:16 | <geekosaur> | I don't think I'd use tags for this anyway; usually there's a way to set a role, which will therefore exist when the window is mapped so you can match it in the manageHook |
| 2025-11-15 17:28:17 | → | T_X_ joins (~T_X@diktynna.open-mesh.org) |
| 2025-11-15 17:28:31 | <geekosaur> | you could still tag it if you're using the tag for something else |
| 2025-11-15 17:28:39 | × | T_X quits (~T_X@diktynna.open-mesh.org) (Read error: Connection reset by peer) |
| 2025-11-15 17:30:26 | <haskellbridge> | <eldritchcookie> unfortunately in this case the tag was to ensure i get only the window i want. |
| 2025-11-15 17:38:08 | <geekosaur> | kitty --instance-group nsp --single-instance --name nsp -d /home/daily/plans |
| 2025-11-15 17:38:25 | <geekosaur> | then match on appName =? "nsp" |
| 2025-11-15 17:39:26 | <geekosaur> | (I think; can't tell from the manpage if this correctly creates a distinct-to-X11 instance that can have its own name) |
| 2025-11-15 17:41:18 | <geekosaur> | ultimately the window distinction has to come from the terminal itself; xmonad has no way to know about distinct instances otherwise and will match either every window or no window |
| 2025-11-15 17:42:01 | <geekosaur> | (as with any other window manager; in fact I ran across someone asking a similar question about kitty with hyprland) |
| 2025-11-15 18:10:04 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-15 18:34:28 | × | ChanServ quits (ChanServ@services.libera.chat) (*.net *.split) |
| 2025-11-15 18:48:24 | → | ChanServ joins (ChanServ@services.libera.chat) |
| 2025-11-15 18:48:24 | iridium.libera.chat | sets mode +o ChanServ |
| 2025-11-15 18:53:51 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-15 19:05:33 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 2025-11-15 19:11:57 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-15 19:47:07 | × | Digit quits (~user@user/digit) (Read error: Connection reset by peer) |
| 2025-11-15 19:48:29 | → | Digit joins (~user@user/digit) |
| 2025-11-15 20:11:29 | → | uhdhdh joins (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) |
| 2025-11-15 20:21:53 | × | uhdhdh quits (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 2025-11-15 20:22:50 | → | uhdhdh joins (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) |
| 2025-11-15 21:14:19 | × | uhdhdh quits (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 2025-11-15 22:56:38 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-16 03:05:01 | → | YamiFrankc joins (YamiFrankc@2600:3c00::f03c:95ff:fece:ea52) |
| 2025-11-16 03:24:43 | × | td_ quits (~td@i53870938.versanet.de) (Ping timeout: 244 seconds) |
| 2025-11-16 03:26:45 | → | td_ joins (~td@i5387093F.versanet.de) |
| 2025-11-16 03:30:33 | <haskellbridge> | <Nexilva> -- Workspaces |
| 2025-11-16 03:30:33 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/HuGGaJvQAKqIxBMpbWXmBjxR/7pUEcrVERTo (28 lines) |
| 2025-11-16 03:31:13 | <haskellbridge> | <Nexilva> https://bpa.st/5ZEA here is the full config |
| 2025-11-16 03:38:05 | <geekosaur> | browsers don't obey normal rules |
| 2025-11-16 03:39:09 | <geekosaur> | in particular, they don't set any window properties until after the initial JS (including built-in stuff like the start page) has run, which is after the window has been mapped and therefore run through the manageHook |
| 2025-11-16 03:39:35 | <geekosaur> | https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Hooks-OnPropertyChange.html |
| 2025-11-16 03:41:14 | <geekosaur> | this leads to stuff like chrome/chronium having an appName which is the internal id (a long hex string) of the start page or the chrome app used to open the window |
| 2025-11-16 03:42:44 | <geekosaur> | which means browser windows, including desktop apps which are secretly browsers like spotify or discord, can't be managed in manageHook or by NamedScratchpads etc. |
| 2025-11-16 03:45:19 | <haskellbridge> | <Nexilva> I see. |
| 2025-11-16 03:45:58 | <haskellbridge> | <Nexilva> ", handleEventHook = focusOnMouseMove <+> screenCornerEventHook <+> onXPropertyChange "WM_NAME" (title =? "waterfox" --> doShift "1:net")" is there a cleaner way to do this? I am weak in Haskell |
| 2025-11-16 03:47:02 | <geekosaur> | composeAll, mconcat, or do |
| 2025-11-16 03:47:57 | <geekosaur> | this isn't so much Haskell as (historical) xmonad specific behavior |
| 2025-11-16 03:49:30 | <geekosaur> | hooks are monoids and can be combined with <+> (which is an obsolete alias for <>, which didn't exist back then) or mconcat; composeAll is an alias for mconcat; and hooks are actions in the X monad so can be combined with do |
| 2025-11-16 03:51:14 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-16 04:00:15 | <haskellbridge> | <Nexilva> Thank you |
| 2025-11-16 05:17:28 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-16 05:22:51 | × | ft quits (~ft@p4fc2aaeb.dip0.t-ipconnect.de) (Quit: leaving) |
All times are in UTC.