Home liberachat/#xmonad: Logs Calendar

Logs on 2025-09-19 (liberachat/#xmonad)

00:01:44 <geekosaur> https://codeberg.org/xmobar/xmobar/src/branch/master/doc/plugins.org#headline-63
00:06:26 <haskellbridge> <iqubic (she/her)> Hmm.... Now I need to work out why my xmobar isn't spawning...
00:06:36 <haskellbridge> <iqubic (she/her)> My config compiles properly.
00:18:55 <haskellbridge> <iqubic (she/her)> So, I have this xmobarrc file: https://dpaste.org/0pATb/raw
00:19:02 <haskellbridge> <iqubic (she/her)> And it's not working properly...
00:20:08 <haskellbridge> <iqubic (she/her)> When I try to run xmobar from the terminal I'm getting an error: Invalid configuration file: "Config" (line 34, column 10):
00:20:13 <haskellbridge> <iqubic (she/her)> unexpected "s"
00:20:14 <haskellbridge> <iqubic (she/her)> expecting space or "Run"
00:31:35 <haskellbridge> <iqubic (she/her)> geekosaur: Do you know what's going wrong here?
00:33:31 <geekosaur> that's usually a missing pugin combined with a horrible parser
00:35:17 <haskellbridge> <iqubic (she/her)> Hmm.... How do I figure it out?
00:35:31 <haskellbridge> <iqubic (she/her)> I'm just trying to run my XMobar config...
00:35:35 <geekosaur> so it fails to parse "sepChar" with a weird error when the real problem is in the "Run" list
00:36:34 <geekosaur> also I don't think comments work in there. It only looks like Haskell
00:36:37 <haskellbridge> <iqubic (she/her)> Is the issue that I'm commenting out the ALSA section because I haven't finished configuring it?
00:36:46 <geekosaur> it might be
00:37:30 <geekosaur> the other ones look fine, I think they're all builtins. so yeh, I think I'd try removing the "comment"
00:37:47 <geekosaur> xmobar's config parser is really horrible
00:38:31 <haskellbridge> <iqubic (she/her)> The battery config was taken from here: https://jao.io/blog/xmobar-a-battery-trick.html and lightly modified it.
00:39:09 <geekosaur> that part shouldn't affect it (I think)
00:39:49 <haskellbridge> <iqubic (she/her)> Right... Removing the line that's supposed to be a comment still doesn't work.
00:40:07 <haskellbridge> <iqubic (she/her)> Same error
00:40:13 <geekosaur> this is one of the reasons I don't run xmobar, debugging config errors is a nightmare
00:40:27 <haskellbridge> <iqubic (she/her)> I see...
00:41:07 <geekosaur> oh. I see a problem
00:42:56 <geekosaur> hm, maybe not. your page uses BatteryN, you're using BatteryP
00:43:07 <haskellbridge> <iqubic (she/her)> Is there a way I can write my config in actual haskell and call it directly from my XMonad config? I assume GHC compiler errors would be better than the errors from the XMobar parser.
00:44:42 <haskellbridge> <iqubic (she/her)> Yeah, BatteryN is basically the same but just lets you provide a string to be used as the alias in the template string.
00:44:50 <geekosaur> hm
00:45:02 <geekosaur> are you using an xmonad build from git?
00:45:10 <geekosaur> er, xmobar build
00:46:23 <haskellbridge> <iqubic (she/her)> I don't think so. I'm using the latest version from Hackage.
00:47:23 <geekosaur> right, I just checked versions, the trick came with 0.36 but they're on at least 0.45 now
00:47:46 <geekosaur> 0.50 in fact
00:48:02 <haskellbridge> <iqubic (she/her)> I'm using Nix and I'm telling Nix to download the XMonad and XMonad-Contrib libraries from hackage and using that to compile my XMonad config.
00:48:22 <haskellbridge> <iqubic (she/her)> I'm using xmobar 0.49
00:48:41 <haskellbridge> <iqubic (she/her)> That's what "xmobar --version" gives me.
00:51:07 <geekosaur> then it's not getting the latest
00:51:46 <geekosaur> https://hackage.haskell.org/package/xmobar-0.50
00:52:06 <haskellbridge> <iqubic (she/her)> I'm pulling the latest versions of XMonad and XMonad-Contrib. I'm not pulling the latest version of XMobar.
00:52:38 <geekosaur> right, my asking about that was a mistake, I meant xmobar
00:52:44 <geekosaur> xmonad isn't actually relevant here
00:53:03 <haskellbridge> <iqubic (she/her)> But if the fancy -w 0 trick was added in 0.36, then it should just work, right?
00:53:09 <geekosaur> \I was trying to figure out if your xmobar actually supported the "trick" in that blog page
00:54:06 <haskellbridge> <iqubic (she/her)> It should...
00:59:11 <geekosaur> I'm not seeing anything here, you probably need someone who knows xmobar better
00:59:41 <haskellbridge> <iqubic (she/her)> Sounds good.
01:23:25 <haskellbridge> <iqubic (she/her)> Alright... I've removed the Battery section for now and it seems to work...
01:55:25 <haskellbridge> <iqubic (she/her)> Why is there no easy way to search through a repo that's being hosted on codeberg?
02:18:34 <haskellbridge> <iqubic (she/her)> geekosaur: Here's what I get for not using a tool with proper syntax highlighting... The error was that I was missing a few commas on the line "-l" and "-h".
02:18:57 <haskellbridge> <iqubic (she/her)> https://dpaste.org/0pATb/raw
02:19:01 <haskellbridge> <iqubic (she/her)> That's the broken version.
02:35:52 × haskellbridge quits (~hackager@syn-096-028-224-214.res.spectrum.com) (Remote host closed the connection)
02:36:21 haskellbridge joins (~hackager@syn-096-028-224-214.res.spectrum.com)
03:19:44 <haskellbridge> <iqubic (she/her)> Hmm... The xmobar module for Wireless networking seems to be lacking a way to set a different display string and color when the machine isn't connected to internet.
03:20:07 <haskellbridge> <iqubic (she/her)> https://codeberg.org/xmobar/xmobar/src/branch/master/doc/plugins.org#headline-50
04:08:59 × zawaken quits (~zawaken@user/zawaken) (Ping timeout: 260 seconds)
04:10:50 zawaken joins (~zawaken@user/zawaken)
05:28:20 × Lears quits (~Leary@user/Leary/x-0910699) (Remote host closed the connection)
05:35:38 Leary joins (~Leary@user/Leary/x-0910699)
06:42:46 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
07:03:04 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
07:05:14 <Enrico63> Hi there, I have a question about key bindings, that stems from my attempt to see the window with the default commands. To spawn that window, one needs to use these bindings:
07:05:15 <Enrico63>     , ((modMask .|. shiftMask, xK_slash ), helpCommand) -- %! Run xmessage with a summary of the default keybindings (useful for beginners)
07:05:15 <Enrico63>     -- repeat the binding for non-American layout keyboards
07:05:16 <Enrico63>     , ((modMask , xK_question), helpCommand)
07:05:16 <Enrico63> The former works on American keyboard layout where / is a "plain" character (I'm glad if you can tell me the terminology for "plain". Is it "unmodified"?).
07:05:17 <Enrico63> The latter works on not-better-identified non-American layout. What is that? From wikipedia https://en.wikipedia.org/wiki/British_and_American_keyboards I see that typing ? on a British keyboard amounts to hitting shift+/ , just like on the American keyboard.
07:05:17 <Enrico63> I, on my end, use an Italian layout, but ? still requires shift+' , and / still requires shift+7
07:05:18 <Enrico63> So... how am I supposed to run helpCommand?
07:07:10 <Enrico63> It seems to me that if doing xK_something requires a shift-modified keystroke, then such a binding won't work..
07:08:19 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
07:11:03 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
07:23:30 <Leary> Enrico63: I don't see a better way than this: https://gist.github.com/LSLeary/6047e083e778da13c2e0d0615c6809f5
07:25:13 assface joins (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
07:25:37 × assface quits (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Client Quit)
07:28:36 <Enrico63> Leary, it doesn't seem to work :O
07:29:14 <Enrico63> No, wait, it does
07:31:34 <Leary> Apparently `EZConfig` exposes `remapKeysP`, so you could also write `xmonad $ def{ ... } `remapKeysP` [("S-'", "?")]`.
07:31:35 <Enrico63> Oh, in the example it was mapped to just shift+' , i.e. without super
07:32:04 <Leary> Ah, right, you'll want another modifier.
07:36:48 <Enrico63> A bit sad that there's there's no remapKeys, just remapKeysP, whereas additionalKeysP comes with additionalKeys too :(
07:37:11 <Enrico63> `remapKeysP` [("M-S-?", "M-S-'")]
07:37:12 <Enrico63> doesn't work
07:37:35 <Leary> It should be M-S-/ or M-?
07:37:58 <Enrico63> What do you mean?
07:38:17 <Enrico63> On my layout ? is shift+'
07:38:42 <Enrico63> so I'd want super+shift+' to be mapped to help
07:38:54 <Enrico63> hence
07:38:55 <Enrico63> `remapKeysP` [("M-S-?", "M-S-'")]
07:39:02 <Leary> Err, and the order is flipped. Try `[("M-S-'", "M-?")]`.
07:39:43 <Enrico63> doesn't work either
07:44:05 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
08:06:32 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
08:42:27 × byorgey quits (~byorgey@user/byorgey) (Ping timeout: 258 seconds)
08:42:33 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-15-174-95-4-83.dsl.bell.ca) (Ping timeout: 260 seconds)
08:44:12 byorgey joins (~byorgey@user/byorgey)
10:23:47 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
11:28:36 × thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 244 seconds)
11:28:36 × ectospasm quits (~ectospasm@user/ectospasm) (Ping timeout: 244 seconds)
11:28:37 × byorgey quits (~byorgey@user/byorgey) (Ping timeout: 244 seconds)
11:28:55 dobblego joins (~dibblego@116.255.1.119)
11:28:55 byorgey joins (~byorgey@155.138.238.211)
11:28:55 × dobblego quits (~dibblego@116.255.1.119) (Changing host)
11:28:55 dobblego joins (~dibblego@haskell/developer/dibblego)
11:28:55 × byorgey quits (~byorgey@155.138.238.211) (Changing host)
11:28:55 byorgey joins (~byorgey@user/byorgey)
11:29:26 Lears joins (~Leary@user/Leary/x-0910699)
11:34:47 × Lears quits (~Leary@user/Leary/x-0910699) (Read error: Connection reset by peer)
11:34:47 × haskellbridge quits (~hackager@syn-096-028-224-214.res.spectrum.com) (Ping timeout: 256 seconds)
11:35:52 × Leary quits (~Leary@user/Leary/x-0910699) (*.net *.split)
11:35:52 × zawaken quits (~zawaken@user/zawaken) (*.net *.split)
11:35:52 × dibblego quits (~dibblego@haskell/developer/dibblego) (*.net *.split)
11:35:53 × 047AALI5L quits (~wz1000@2a01:4f9:c012:de50::1) (*.net *.split)
11:35:53 × de-vri-es quits (~de-vri-es@voyager.de-vri.es) (*.net *.split)
11:35:54 dobblego is now known as dibblego
11:36:07 thaumavorio joins (~thaumavor@thaumavor.io)
11:37:32 haskellbridge joins (~hackager@syn-096-028-224-214.res.spectrum.com)
11:37:41 Leary joins (~Leary@user/Leary/x-0910699)
11:40:25 ecto joins (~ectospasm@mail.eldon.me)
11:40:25 zawaken joins (~zawaken@user/zawaken)
11:40:25 047AALI5L joins (~wz1000@2a01:4f9:c012:de50::1)
11:40:25 de-vri-es joins (~de-vri-es@voyager.de-vri.es)
11:57:15 × Leary quits (~Leary@user/Leary/x-0910699) (Read error: Connection reset by peer)
11:57:48 Lears joins (~Leary@user/Leary/x-0910699)
11:58:40 Lears is now known as Leary
12:52:30 Lears joins (~Leary@user/Leary/x-0910699)
12:54:33 × Leary quits (~Leary@user/Leary/x-0910699) (Read error: Connection reset by peer)
12:58:11 Lears is now known as Leary
14:15:43 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
14:40:15 × mkoskar quits (~mkoskar@user/mkoskar) (Quit: mkoskar)
14:41:29 mkoskar joins (~mkoskar@user/mkoskar)
15:53:25 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
16:08:23 assface joins (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
16:13:55 L29Ah joins (~L29Ah@wikipedia/L29Ah)
16:24:35 × assface quits (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
16:58:42 <haskellbridge> <iqubic (she/her)> Does XMonad do something weird when trying to connect an external monitor and get it running?
16:59:01 <haskellbridge> <iqubic (she/her)> I should just be able to run xrandr myself, but I can't seem to do that.
17:00:40 <geekosaur> it shouldn't
17:01:18 <haskellbridge> <iqubic (she/her)> Right... Well, running "xrandr --output eDP-1 --output HDMI-1 --left-of eDP-1" isn't working.
17:01:32 <geekosaur> that said, if you want to configure the monitor, you might want to look into arandr and XMonad.Hooks.Rescreen
17:02:10 <geekosaur> mm, that part I don't know about, and I've had issues with it myself
17:02:19 <geekosaur> liskin would probably know more about it
17:02:35 <haskellbridge> <iqubic (she/her)> I have tried looking at arandr. It only shows me eDP-1, which is my laptop's built in screen.
17:03:39 <geekosaur> that makes me think the new monitor isn't being recognized by X11, since arandr goes by what xrandr's output
17:04:07 <haskellbridge> <iqubic (she/her)> Weird... How can I check if X11 is finding the new monitor?
17:04:38 <geekosaur> see if running `xrandr` lists it as "connected"
17:04:46 <haskellbridge> <iqubic (she/her)> xrandr -q is giving me this output: https://dpaste.org/aYTrm
17:05:05 <haskellbridge> <iqubic (she/her)> It says "HDMI-1 connected (normal left inverted right x axis y axis)"
17:05:32 <geekosaur> https://paste.tomsmeding.com/J7oZ8XUc
17:05:42 <geekosaur> then arandr should show it
17:05:53 <haskellbridge> <iqubic (she/her)> But I'm not seeing it.
17:06:02 <geekosaur> it's just a wrapper around xrandr with the option to save xrandr configuration to a shell script
17:06:23 <haskellbridge> <iqubic (she/her)> https://imgur.com/a/9e67asj
17:08:03 <geekosaur> hm. if you drag eDP-1, is HDMI-1 underneath it?
17:08:11 <haskellbridge> <iqubic (she/her)> No.
17:08:57 <geekosaur> so this is sounding like confusion inside the X server: it's reporting inconsistent information
17:09:10 <geekosaur> if arandr is being confused by it, so will xmonad
17:09:25 <haskellbridge> <iqubic (she/her)> Is this a weird NixOS bug?
17:09:40 <geekosaur> only if they've patched the X server in some way
17:09:51 <haskellbridge> <iqubic (she/her)> I don't think they have.
17:12:46 <haskellbridge> <iqubic (she/her)> I just ran "xrandr --output HDMI-1 --auto" and now the second monitor is mirroring my main laptop screen
17:15:02 <haskellbridge> <iqubic (she/her)> Just ran "xrandr --output eDP-1 --auto --output HDMI-1 --auto --left-of eDP-1" and things are working well now.
17:15:11 <haskellbridge> <iqubic (she/her)> dynamicSBs are even working.
17:15:44 <geekosaur> you could also directly check what xmonad's seeing with the monitor plugged in: ghc -e "Graphics.X11.openDisplay [] >>= Graphics.X11.Xinerama.getScreenInfo"
17:16:32 <geekosaur> (that probably doesn;t work as written these days, it'd have to be `cabal repl -b X11` and then the quoted stuff at the prompt)
17:16:50 <haskellbridge> <iqubic (she/her)> The main issue is that my scratchpad windows are stuck sitting on the second monitor and hitting the keybinding to run the named scratchpad action is swapping scratchpad windows between monitors.
17:18:02 <geekosaur> that's normal, the scratchpad keybind moves the window to the current monitor. that's because it's implemented in a weird way involving moving scratchpads between the focused workspace and an invisible workspace (NSP)
17:18:11 <haskellbridge> <iqubic (she/her)> Alright, a little bit of tweaking and it works now.
17:18:47 <haskellbridge> <iqubic (she/her)> Now, what are the keybindings for moving windows between monitors and such like that?
17:19:09 <geekosaur> mod-shift-{w,e,r} by default
17:19:26 <haskellbridge> <iqubic (she/her)> What are those actions bound to?
17:19:51 <haskellbridge> <iqubic (she/her)> Also what are the defaults for mod-{w,e,r}?
17:20:10 <geekosaur> https://github.com/xmonad/xmonad/blob/master/src/XMonad/Config.hs#L238
17:22:16 <haskellbridge> <iqubic (she/her)> Also, I know XMonad is picking up my monitors correctly because of dynamicSBs working correctly: https://github.com/IQubic/nixos-config/blob/master/hm/xmonad/XMonad.hs#L218
17:22:52 <haskellbridge> <iqubic (she/her)> My two screens have different XMobar configs running.
17:23:50 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:38:12 <haskellbridge> <iqubic (she/her)> Hmm... Both of my two XMobars are showing the same window title. If I have firefox open on workspace 1 and emacs open on workspace 2 and monitor 1 is showing workspace 1 and monitor 2 is showing workspace 2, both xmobars are showing "Emacs" as the window title even though they are reading from different property values.
17:38:54 <haskellbridge> <iqubic (she/her)> Is that because XMonad can only have one window focused at a time?
17:53:13 L29Ah joins (~L29Ah@wikipedia/L29Ah)
18:31:12 <haskellbridge> <iqubic (she/her)> Actually, my two xmobars seem to have the exact same info from XMonad's Pretty Printer. I'm fairly certain telling I'm telling XMonad to log to two different properties and I'm fairly certain I'm telling my two XMobars to read from the two different properties.
18:32:47 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> X11 can only have one window focused at a time
18:33:38 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> We remember which window was focused on a non-focused monitor but X11 doesn't know about it
18:34:08 <haskellbridge> <iqubic (she/her)> Hmm... The info on my two XMobars is the same...
18:34:22 × mkoskar quits (~mkoskar@user/mkoskar) (*.net *.split)
18:34:23 × ecto quits (~ectospasm@mail.eldon.me) (*.net *.split)
18:34:23 × zawaken quits (~zawaken@user/zawaken) (*.net *.split)
18:34:23 × 047AALI5L quits (~wz1000@2a01:4f9:c012:de50::1) (*.net *.split)
18:34:23 × de-vri-es quits (~de-vri-es@voyager.de-vri.es) (*.net *.split)
18:34:39 <haskellbridge> <iqubic (she/her)> https://imgur.com/a/IR2Bdhh
18:34:52 zawaken joins (~zawaken@user/zawaken)
18:34:52 047AALI5L joins (~wz1000@2a01:4f9:c012:de50::1)
18:34:52 de-vri-es joins (~de-vri-es@voyager.de-vri.es)
18:35:01 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> I don't think PP has access to the saved focus
18:35:33 <haskellbridge> <iqubic (she/her)> Yeah, but even the info about which window is currently open is the same.
18:36:04 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> I'll have to wait until I'm back on my desktop to look into it
18:37:16 <haskellbridge> <iqubic (she/her)> I have blue for "ppCurrent", white for "ppVisible", and dark grey for "ppHidden".
18:37:53 <haskellbridge> <iqubic (she/her)> Is this just an issue with how PP works?
18:39:25 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> Yes
18:40:10 <haskellbridge> <geekosaur (@geekosaur:matrix.org)> I think someone contributed something for per-monitor information but it requires more work on your part
18:42:45 mkoskar joins (~mkoskar@user/mkoskar)
18:44:49 ectospasm joins (~ectospasm@user/ectospasm)
18:50:37 <haskellbridge> <iqubic (she/her)> I'd love to have per-monitor info. That's a big reason why I switched to XMobar.
18:51:46 <haskellbridge> <iqubic (she/her)> Despite xmonad being told to log to two different properties, it still seems to be logging the same info to both of them.
18:53:35 <geekosaur> right, because that's what PP does by default. it has no idea where you're sending the information
18:53:54 <geekosaur> as far as PP is concerned, it's a pure String from pure StackSet information
18:54:01 <haskellbridge> <iqubic (she/her)> I see. I'll have to look into per-screen stuff, if that's even possible.
18:54:12 <haskellbridge> <iqubic (she/her)> geekosaur: Right... That makes sense.
18:54:31 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Hooks-StatusBar-WorkspaceScreen.html
18:56:29 <geekosaur> hm, WorkspaceScreen doesn't look like it does what you want eitjher
18:57:51 <haskellbridge> <iqubic (she/her)> No. I want to have the currently displayed workspace show with a different formatting on each bar, to show that my two screens are showing different workspaces.
18:58:16 <haskellbridge> <iqubic (she/her)> I don't care to annotate the workspace names with additional info.
18:59:18 <haskellbridge> <iqubic (she/her)> Surely someone else has noticed this before and fixed it...
18:59:52 <geekosaur> that's WSPP in https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Hooks-StatusBar-PP.html
19:00:33 <haskellbridge> <iqubic (she/her)> How do I use that? It just seems to be a generic interface.
19:07:20 hightower2 joins (~hightower@cpe-94-253-237-237.st.cable.xnet.hr)
19:11:01 hightower4 joins (~hightower@cpe-94-253-237-237.st.cable.xnet.hr)
19:13:41 × hightower2 quits (~hightower@cpe-94-253-237-237.st.cable.xnet.hr) (Ping timeout: 256 seconds)
19:15:12 assface joins (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
19:20:15 <geekosaur> TBH I'm not sure
19:20:41 <geekosaur> I think you want Solid for that
19:22:45 × hightower4 quits (~hightower@cpe-94-253-237-237.st.cable.xnet.hr) (Ping timeout: 256 seconds)
19:27:42 <haskellbridge> <iqubic (she/her)> Solid: When you get a chance, can you help me with this?
19:47:23 × assface quits (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
19:52:48 assface joins (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
20:36:53 × assface quits (~assface@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Quit: Client closed)
22:59:05 × jsoo_ quits (~jsoo@2600:1f14:1f03:742f:a81:1cea:a0fa:e21) (Server closed connection)
22:59:29 jsoo joins (~jsoo@2600:1f14:1f03:742f:a81:1cea:a0fa:e21)

All times are in UTC on 2025-09-19.