Newest at the top
| 2025-11-16 05:00:15 +0100 | <haskellbridge> | <Nexilva> Thank you |
| 2025-11-16 04:51:14 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-11-16 04:49:30 +0100 | <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 04:47:57 +0100 | <geekosaur> | this isn't so much Haskell as (historical) xmonad specific behavior |
| 2025-11-16 04:47:02 +0100 | <geekosaur> | composeAll, mconcat, or do |
| 2025-11-16 04:45:58 +0100 | <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 04:45:19 +0100 | <haskellbridge> | <Nexilva> I see. |
| 2025-11-16 04:42:44 +0100 | <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 04:41:14 +0100 | <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 04:39:35 +0100 | <geekosaur> | https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Hooks-OnPropertyChange.html |
| 2025-11-16 04:39:09 +0100 | <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 04:38:05 +0100 | <geekosaur> | browsers don't obey normal rules |
| 2025-11-16 04:31:13 +0100 | <haskellbridge> | <Nexilva> https://bpa.st/5ZEA here is the full config |
| 2025-11-16 04:30:33 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/HuGGaJvQAKqIxBMpbWXmBjxR/7pUEcrVERTo (28 lines) |
| 2025-11-16 04:30:33 +0100 | <haskellbridge> | <Nexilva> -- Workspaces |
| 2025-11-16 04:26:45 +0100 | td_ | (~td@i5387093F.versanet.de) |
| 2025-11-16 04:24:43 +0100 | td_ | (~td@i53870938.versanet.de) (Ping timeout: 244 seconds) |
| 2025-11-16 04:05:01 +0100 | YamiFrankc | (YamiFrankc@2600:3c00::f03c:95ff:fece:ea52) |
| 2025-11-15 23:56:38 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-15 22:14:19 +0100 | uhdhdh | (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 2025-11-15 21:22:50 +0100 | uhdhdh | (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) |
| 2025-11-15 21:21:53 +0100 | uhdhdh | (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) (Ping timeout: 250 seconds) |
| 2025-11-15 21:11:29 +0100 | uhdhdh | (~uhdhdh@dslb-002-205-170-105.002.205.pools.vodafone-ip.de) |
| 2025-11-15 20:48:29 +0100 | Digit | (~user@user/digit) Digit |
| 2025-11-15 20:47:07 +0100 | Digit | (~user@user/digit) (Read error: Connection reset by peer) |
| 2025-11-15 20:11:57 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-11-15 20:05:33 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
| 2025-11-15 19:53:51 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
| 2025-11-15 19:48:24 +0100 | iridium.libera.chat | +o ChanServ |
| 2025-11-15 19:48:24 +0100 | ChanServ | (ChanServ@services.libera.chat) |
| 2025-11-15 19:34:28 +0100 | ChanServ | (ChanServ@services.libera.chat) (*.net *.split) |
| 2025-11-15 19:10:04 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-15 18:42:01 +0100 | <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:41:18 +0100 | <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 18:39:26 +0100 | <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 18:38:25 +0100 | <geekosaur> | then match on appName =? "nsp" |
| 2025-11-15 18:38:08 +0100 | <geekosaur> | kitty --instance-group nsp --single-instance --name nsp -d /home/daily/plans |
| 2025-11-15 18:30:26 +0100 | <haskellbridge> | <eldritchcookie> unfortunately in this case the tag was to ensure i get only the window i want. |
| 2025-11-15 18:28:39 +0100 | T_X | (~T_X@diktynna.open-mesh.org) (Read error: Connection reset by peer) |
| 2025-11-15 18:28:31 +0100 | <geekosaur> | you could still tag it if you're using the tag for something else |
| 2025-11-15 18:28:17 +0100 | T_X_ | (~T_X@diktynna.open-mesh.org) T_X |
| 2025-11-15 18:28:16 +0100 | <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 18:27:30 +0100 | <geekosaur> | but yes, that means you can't sensibly tag the window unless you do it before the namedScratchpadManageHook runs |
| 2025-11-15 18:26:48 +0100 | <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 18:24:22 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/SxIplZEXNEUSSdgLMJsYPWCJ/jCx2KYIumgg (7 lines) |
| 2025-11-15 18:24:22 +0100 | <haskellbridge> | <eldritchcookie> i guess i know where the error is |
| 2025-11-15 18:05:06 +0100 | <geekosaur> | otherwise it looks fine |
| 2025-11-15 18:04:50 +0100 | <geekosaur> | hah. I think this is the first time I've seen anyone else use the NSP logger 🙂 |
| 2025-11-15 18:01:28 +0100 | <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 18:00:00 +0100 | <haskellbridge> | <Nexilva> I think you got it. |