2026/04/24

2026-04-24 01:27:46 +0000haskellbridge(~hackager@96.28.224.214) (Remote host closed the connection)
2026-04-24 01:28:20 +0000haskellbridge(~hackager@96.28.224.214) hackager
2026-04-24 02:03:36 +0000tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2026-04-24 07:05:36 +0000ft(~ft@p508db287.dip0.t-ipconnect.de) (Quit: leaving)
2026-04-24 13:47:57 +0000rekahsoft(~rekahsoft@70.51.99.119) rekahsoft
2026-04-24 14:01:33 +0000ft(~ft@p508db287.dip0.t-ipconnect.de) ft
2026-04-24 15:57:45 +0000stefan(~stefan@176.120.178.197) vistefan
2026-04-24 15:59:22 +0000 <stefan> Hi! Why this config doesn't rebinds default "M-S-Return" terminal opening keybinding? https://paste.rs/FekhV
2026-04-24 16:04:30 +0000 <geekosaur> because you can't use `readProcess` drectly, as xmonad ignores child process termination which breaks most of `System.Process`. use https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Util-Run.html#v:runProcessWi… instead
2026-04-24 16:05:35 +0000 <geekosaur> (you don't want your window manager to be subject to child process limits)
2026-04-24 16:07:26 +0000 <stefan> geekosaur: let's ignore my WIP trial to make it work. Even if I run minimal example with nothing except additionalKeysP, and the rest is default from ezconfig, it doesn't rebinds "M-S-Return". If I delete terminal field from config (drop it to defualt xterm) and bind some spawn on "M-S-Return", after pressing xterm opens, not my handwritten spawn.
2026-04-24 16:14:19 +0000 <geekosaur> wait. why are you using mkKeymap? that's a very weird way to make keybindings and I'm not sure how well it would work. I'd just use `additionalKeysP`
2026-04-24 16:14:48 +0000 <geekosaur> working with `keys` directly is generally painful and a bit tricky
2026-04-24 16:16:22 +0000 <geekosaur> otherwise it sounds as if you have the parameters to `M.union` reversed… but they look right to me, as it's left-biased but your new keymap is on the left
2026-04-24 16:17:58 +0000 <geekosaur> (also `withoutOld` is wrong as it's not including `shiftMask`, but that shouldn't matter here)
2026-04-24 16:21:09 +0000 <stefan> geekosaur: this config is in the middle of my trial, sorry. Here is what it looked like when I started to try add logic in keybinding. https://paste.rs/FekhV
2026-04-24 16:21:48 +0000 <stefan> It still has binding for "M-S-Return" which doesn't works: alacritty opens, not firefox
2026-04-24 16:22:29 +0000 <geekosaur> those are the same paste
2026-04-24 16:23:12 +0000 <geekosaur> (not just same url but same content)
2026-04-24 16:23:13 +0000 <stefan> https://paste.rs/c4m4O
2026-04-24 16:23:15 +0000 <stefan> sorry
2026-04-24 16:25:23 +0000 <geekosaur> mm, I think the problem is actually somewhere else, your hook composition is wrong
2026-04-24 16:26:17 +0000 <stefan> xmobar troubles?
2026-04-24 16:27:42 +0000 <geekosaur> yes
2026-04-24 16:29:03 +0000 <geekosaur> you have both X.H.DynamicLog (deprecated, provides the `xmobar` combinator) and `X.H.StatusBar` (new composable interface) loaded, and use the old one which ignores your `myXmobarPP` and probably gives you a mangled config
2026-04-24 16:30:10 +0000 <stefan> I don't really understand what that ewmh magic does, but the variant with easySB doesn't make xmobar to appear. Will try to remove DynamicLog usages
2026-04-24 16:30:19 +0000 <geekosaur> you may want to go through https://xmonad.org/TUTORIAL.html and see how to do it properly, which should also fix the key bindings getting lost
2026-04-24 16:31:06 +0000 <geekosaur> one of the problems with the old way was you could have silent errors that lost configuration information
2026-04-24 16:31:33 +0000 <geekosaur> and were rather painful to debug
2026-04-24 16:32:41 +0000 <stefan> thank you!
2026-04-24 16:38:02 +0000 <geekosaur> (basically "." and ">>=" don't combine that way, and what they do when used together can be tricky to figure out)
2026-04-24 16:38:39 +0000 <geekosaur> sorry, "=<<" but it's the same problem
2026-04-24 16:43:57 +0000 <stefan> moved to . withEasySB (statusBarProp "xmobar" (pure def)) defToggleStrutsKey
2026-04-24 16:44:00 +0000 <stefan> . withEasySB (statusBarProp "xmobar" (pure def)) defToggleStrutsKey
2026-04-24 16:44:24 +0000 <stefan> moved to withEasySB (statusBarProp "xmobar" (pure def)) defToggleStrutsKey and xmobar disappeared
2026-04-24 16:46:08 +0000 <stefan> with pure myXmobarPP instead of pure def same result
2026-04-24 16:49:28 +0000 <haskellbridge> <i​jouw> Does your xmobar read property?
2026-04-24 16:50:22 +0000 <haskellbridge> <i​jouw> statusBarProp "xmobar" ... says xmonad should write into "xmobar" but you need to configure xmobar to read that
2026-04-24 16:50:54 +0000samhh_samhh
2026-04-24 16:51:34 +0000 <haskellbridge> <i​jouw> You usually do it with something like 'Run XMonadLog' (instead of Pipe)
2026-04-24 16:51:50 +0000dxld(a6d27c8ee6@2a03:6000:1812:100::52) (Ping timeout: 245 seconds)
2026-04-24 16:54:49 +0000 <geekosaur> actually it's StdinReader that has to change to XMonadLog
2026-04-24 16:55:11 +0000 <geekosaur> otherwise StdinReader will get EOF on the first read and xmobar will exit
2026-04-24 16:55:38 +0000 <haskellbridge> <i​jouw> <- did not remember the name
2026-04-24 16:55:38 +0000 <geekosaur> but there are some other nasty things that can happen if you use StdinReader, which is why we moved away from it
2026-04-24 16:56:13 +0000 <stefan> ijouw: where can I see how to configure xmobar to read from xmonad?
2026-04-24 16:57:33 +0000 <stefan> should it be in xmobarPP or somewhere else?
2026-04-24 16:58:46 +0000 <geekosaur> https://codeberg.org/xmobar/xmobar#headline-9
2026-04-24 16:58:55 +0000wsx(055e6b628d@2a03:6000:1812:100::dd6) (Ping timeout: 245 seconds)
2026-04-24 16:58:56 +0000 <geekosaur> it goes in .xmobarrc file by default
2026-04-24 16:59:30 +0000raghavgururajan(ea769b8000@user/raghavgururajan) (Ping timeout: 248 seconds)
2026-04-24 17:01:07 +0000samhh(7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 276 seconds)
2026-04-24 17:03:07 +0000 <geekosaur> the PP controls what xmonad sends to xmobar; .xmobarrc controls what xmobar does with it
2026-04-24 17:04:09 +0000eso(a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 248 seconds)
2026-04-24 17:04:21 +0000samhh_(7569f027cf@2a03:6000:1812:100::e4) samhh
2026-04-24 17:04:29 +0000wsx(055e6b628d@2a03:6000:1812:100::dd6) wsx
2026-04-24 17:05:14 +0000 <stefan> here is my xmobarrc, afaik it reads from xmonad, stdinReader is present https://paste.rs/clir7
2026-04-24 17:05:26 +0000rekahsoft(~rekahsoft@70.51.99.119) (Remote host closed the connection)
2026-04-24 17:05:51 +0000 <geekosaur> then STdinReader must be replaced with XMonadLog
2026-04-24 17:05:58 +0000 <stefan> but it doesn't start with xmonad and if I manually run xmobar, the section with stdinReader is always "Updating..."
2026-04-24 17:06:02 +0000 <geekosaur> *StdinReader
2026-04-24 17:06:06 +0000 <geekosaur> case is significant
2026-04-24 17:07:10 +0000 <haskellbridge> <i​jouw> you can test xmonad output with 'xmobar -c "[Run XMonadLog]" -t "%XMonadLog%"'
2026-04-24 17:07:58 +0000samhh_samhh
2026-04-24 17:09:34 +0000smiesner(b0cf5acf8c@user/smiesner) (Ping timeout: 276 seconds)
2026-04-24 17:12:12 +0000samhh(7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 244 seconds)
2026-04-24 17:13:58 +0000smiesner(b0cf5acf8c@user/smiesner) smiesner
2026-04-24 17:14:11 +0000dxld(a6d27c8ee6@2a03:6000:1812:100::52) dxld
2026-04-24 17:14:13 +0000samhh(7569f027cf@2a03:6000:1812:100::e4) samhh
2026-04-24 17:16:07 +0000 <stefan> ijouw: yes, it works if I run manually tour command, but from .xmobarrc it always Updating...
2026-04-24 17:17:13 +0000 <haskellbridge> <i​jouw> did you put XMonadLog instead of StdinReader?
2026-04-24 17:17:28 +0000 <stefan> yes
2026-04-24 17:18:08 +0000 <stefan> Run XMonadLog is first element in commands list
2026-04-24 17:18:12 +0000raghavgururajan(ea769b8000@user/raghavgururajan) raghavgururajan
2026-04-24 17:19:08 +0000 <haskellbridge> <i​jouw> the one in template?
2026-04-24 17:19:14 +0000eso(a0662dfd5e@2a03:6000:1812:100::1266) jeso
2026-04-24 17:23:00 +0000 <stefan> https://paste.rs/r7BlC here
2026-04-24 17:23:44 +0000 <haskellbridge> <i​jouw> You don't use %XMonadLog% but instead %StdinReader%
2026-04-24 17:24:55 +0000 <stefan> ijouw, ah, I got it, function reads, and in template there should pe a placeholder with proper name.
2026-04-24 17:24:59 +0000 <stefan> Thank you very much!
2026-04-24 17:25:14 +0000 <haskellbridge> <i​jouw> You are welcome
2026-04-24 17:59:14 +0000haskellbridge(~hackager@96.28.224.214) (Read error: Connection reset by peer)
2026-04-24 18:04:36 +0000haskellbridge(~hackager@96.28.224.214) hackager
2026-04-24 18:31:43 +0000tremon(~tremon@83.80.159.219) tremon
2026-04-24 18:35:09 +0000 <stefan> because you can't use `readProcess` drectly, as xmonad ignores child process termination which breaks most of `System.Process`. use
2026-04-24 18:35:34 +0000 <stefan> sorry, pasted by mistake. I'm back with the same problem
2026-04-24 18:35:56 +0000 <stefan> now I have correct xmobar binding, and nothing should interrupt keybindings
2026-04-24 18:36:26 +0000 <stefan> https://paste.rs/sCqdr but this still doesn't works
2026-04-24 18:36:52 +0000 <stefan> i got M-S-Return from default config, it opens what is said in config.terminal, not spawns firefox
2026-04-24 19:01:28 +0000 <geekosaur> seems to look okay
2026-04-24 19:01:34 +0000 <geekosaur> do any of the other keybindings work?
2026-04-24 19:03:29 +0000 <geekosaur> like, M-h normally moves the divider in `tiled`, but you rebound it to `prevWS`, which does it do?
2026-04-24 19:39:07 +0000f-a(ff2a@joined.irc.for-some.fun) ()
2026-04-24 19:52:49 +0000 <stefan> geekosaur: M-h perfectly dwitches tag, prevWS is executed
2026-04-24 20:05:38 +0000 <geekosaur> oh! just realzed the problem. named keys have to be in angle brackets
2026-04-24 20:05:47 +0000 <geekosaur> M-S-<Return>
2026-04-24 20:06:36 +0000 <geekosaur> what you have is equivalent to: "M-S-R e t u r n" (which won't work unless somehow you have a key which unshifted sends uppercase R)
2026-04-24 20:08:26 +0000 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Util-EZConfig.html#v:mkKeymap
2026-04-24 20:08:39 +0000vados(~vados@46-133-131-48.mobile.vf-ua.net) (Ping timeout: 245 seconds)
2026-04-24 20:08:42 +0000 <geekosaur> which has an example just above the list of named keys it understands
2026-04-24 20:17:28 +0000 <stefan> geekosaur: haha lol, so simple ) thx
2026-04-24 20:19:37 +0000vados(~vados@46-133-61-210.mobile.vf-ua.net)
2026-04-24 21:10:35 +0000stefan(~stefan@176.120.178.197) (Ping timeout: 245 seconds)