Home liberachat/#xmonad: Logs Calendar

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

00:27:35 T_X_ is now known as T_X
01:07:44 × tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in)
01:21:34 thaumavorio_ joins (~thaumavor@thaumavor.io)
01:23:20 wz1000- joins (~wz1000@static.194.167.62.46.clients.your-server.de)
01:23:59 × wz1000_ quits (~wz1000@static.194.167.62.46.clients.your-server.de) (Ping timeout: 244 seconds)
01:23:59 × thaumavorio quits (~thaumavor@thaumavor.io) (Ping timeout: 244 seconds)
03:35:33 <haskellbridge> <iqubic (she/her)> Does XMonad create a new set of workspaces for every single monitor, or does it share the same workspaces across all windows?
03:35:48 <haskellbridge> <iqubic (she/her)> *across all monitors
03:36:34 <haskellbridge> <dpn> do you mean at a hashell object level? or conceptually?
03:36:38 <haskellbridge> <dpn> * haskell
03:37:49 <haskellbridge> <dpn> you can't show the same workspace on multiple monitors easily - and layouts are preserved between monitors
03:38:14 <haskellbridge> <dpn> so it seems like it's sharing them across all monitors?
03:38:33 <haskellbridge> <dpn> someone who knows the code better than me will be able to give a lower level answer i guess
03:39:15 <haskellbridge> <iqubic (she/her)> Conceptually.
03:39:44 <haskellbridge> <dpn> sorry i saw your previous messages - wasn't clear to me how much experience you had so i wasn't sure which level to answer at
03:40:06 <haskellbridge> <dpn> yeah single set of workspaces and you basically choose which workspace you want on which monitor
03:40:37 <haskellbridge> <dpn> i use alt - w/e/r to choose one of my three monitors, then alt - 1-9 to choose which workspace to show on that monitor
03:40:40 <geekosaur> workspaces are shared
03:40:46 <haskellbridge> <iqubic (she/her)> I've been using XMonad and haskell for about 2 years now.
03:41:11 <geekosaur> IndependentScreens provides a hack to emulate per-monitor workspaces, but it's easy to break it
03:41:51 <haskellbridge> <iqubic (she/her)> I know that some WMs create a set of workspaces for each monitor. Like "Monitor 1 has a workspaces 1-9" and "Monitor 2 also has a completely different set of workspaces 1-9" for 18 different workspaces total.
03:42:16 <geekosaur> most WMs do the opposite: a workspace spans all monitors
03:42:33 <haskellbridge> <dpn> yeah - main reason i can't bring myself to use gnome :/
03:43:07 <geekosaur> dwm and xmonad have a list of workspaces, and the StackSet assigns a workspace to the active monitor, other workspaces to visible monitors, and the rest are hidden
03:43:24 <haskellbridge> <dpn> i could suffer the horrible tiling, but the multihead setup is incredibly frustrating as someone who has mainlined xmonad for like 15 years
03:43:45 <haskellbridge> <iqubic (she/her)> What does Gnom do?
03:43:46 <geekosaur> EWMH expects the GNOME/KDE-like behavior, fwiw, and a number of things in EWMH make little sense with xmonad as a result
03:43:46 <haskellbridge> <dpn> omg - i am embarassingly bad at xmonad given that timeframe :/
03:45:28 <haskellbridge> <dpn> gnome has two modes - one that has a workspace that spans all monitors... the second one is truly bizzare.. from memory it lets you switch between workspaces on your secondary monitor but not the main... or vice versa
03:46:16 <geekosaur> that doesn't sound bizarre to me, it sounds like allowing access to additional information while working on a primary thing
03:46:30 <haskellbridge> <iqubic (she/her)> I wonder how my Polybar setup will work with extra monitors.
03:46:38 <geekosaur> I do that fairly often with xmonad
03:47:09 <haskellbridge> <dpn> coming from xmonad - it was frustrating because I tend to shift a specific workspace onto my main screen to do something
03:47:40 <haskellbridge> <iqubic (she/her)> I'm just using the off the shelf polybar modules for EXWM (showing workspace numbers) and XWindow (showing window title)
03:48:05 <geekosaur> when I'm programming, I Have the editor on my left monitor, my web browser on the right, and may look up local information on the center
03:48:18 <haskellbridge> <iqubic (she/her)> I don't know if that will keep working when I plug in a second monitor.
03:48:40 <haskellbridge> <iqubic (she/her)> That = Polybar
03:48:51 <geekosaur> I don't know how polybar will work there given EWMH and xmonad differ on how workspaces relate to monitors
03:49:07 <haskellbridge> <dpn> geekosaur: i recently bought an extra wide monitor - now i have ws 1 and 2 on the same monitor basically (1 = code, 2 = browser)
03:49:14 <geekosaur> but I think polybar has a plugin that will let you get information directly from xmonad
03:49:23 <haskellbridge> <iqubic (she/her)> Oh? Does it?
03:49:39 <geekosaur> I use two editor panes on mine 🙂
03:49:39 <haskellbridge> <iqubic (she/her)> I haven't found any Polybar and XMonad plugin.
03:50:42 <haskellbridge> <dpn> i still haven't added a bar - running stalonetray and nothing else ... taffy was nice but used too much memory
03:50:55 <haskellbridge> <dpn> i should check out poly
03:51:38 <haskellbridge> <iqubic (she/her)> geekosaur: Do you use any bars?
03:51:54 <geekosaur> okay, looks like it's not specifically an xmonad plugin, it's a dbus plugin. you then configure your xmonad.hs to send xmonad PP information over dbus (see for example https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L426-L444)
03:52:17 <geekosaur> I use dbus to feed xmonad-log-applet built for mate-panel
03:52:32 <haskellbridge> <iqubic (she/her)> Yeah, but does that work with multiple monitors?
03:52:37 <geekosaur> yes
03:52:46 <geekosaur> if you followed what I said above, I have 3
03:53:15 <haskellbridge> <dpn> iirc dzen works like this too - i couldn't quite get it playing nicely with lightdm
03:53:37 <haskellbridge> <iqubic (she/her)> Right, but the question I actually have is "how do I get a new polybar instance spawned when I plug in a new monitor and killed when the monitor is unplugged"?
03:56:19 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Hooks-StatusBar.html#g:4
03:58:08 <haskellbridge> <iqubic (she/her)> I'm not understanding how that works...
03:59:05 <geekosaur> https://0x0.st/KTsa.png fwiw
04:00:50 <haskellbridge> <iqubic (she/her)> Secure connection failed
04:00:58 <haskellbridge> <iqubic (she/her)> Error code: SSL_ERROR_RX_RECORD_TOO_LONG
04:01:07 <haskellbridge> <iqubic (she/her)> Firefox doesn't like that website
04:01:13 <haskellbridge> <dpn> https://kf8nh.com/_heisenbridge/media/matrix.org/ZRNnakKRrsXhuXSAundwtahg/Z_CZ-LDEdnA/image.png
04:01:13 <geekosaur> the function you pass to dyanmicSBs is run once per screen, with the screen number as parameter. you do fir each screen what you would do with withSB, but you're in X so you can query stuff yourself or whatever (which is why there's a `pure` wrapped around it in the example)
04:01:56 <geekosaur> chrome likes it fine. nop idea what ff is doing
04:02:15 <haskellbridge> <iqubic (she/her)> geekosaur: Does that work with hot-plugging monitors while the system is running?
04:02:16 <geekosaur> but I gave up on ff long ago
04:02:48 <geekosaur> yes, it kills the running bars and runs the new ones as specified by your function
04:02:50 <haskellbridge> <iqubic (she/her)> Why?
04:03:00 <haskellbridge> <iqubic (she/her)> Oh, nice.
04:03:08 <geekosaur> because of things like that and a UI that seemed to be getting worse all the time
04:03:58 <geekosaur> I'm really not happy with firefox development over the past couple years
04:04:29 <geekosaur> and even less happy with their data minimg. I thouyght google's was bad, firefox managed to outdo them
04:04:58 <geekosaur> *mining *thought
04:06:53 <haskellbridge> <iqubic (she/her)> Should I switch from Polybar to XMobar? XMobar seems like it might work better for me, seeing as it was specifically made for XMonad.
04:08:19 <geekosaur> it would certainly be easier to set up, but does it do what you want?
04:09:05 <haskellbridge> <iqubic (she/her)> I think so, yeah. I'm not really using any of the advanced Polybar features.
04:10:46 <haskellbridge> <iqubic (she/her)> Are there any guides on how to set up XMobar?
04:12:33 <geekosaur> lots, including on its website (https://codeberg.org/xmobar/xmobar/src/branch/master/doc/quick-start.org)
04:17:49 <haskellbridge> <iqubic (she/her)> Does XMobar support Nerdfonts?
04:22:04 <geekosaur> no idea
04:41:45 <haskellbridge> <dpn> looking at my old config, it looks like i used a nerd font then:
04:41:45 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/nBfhHyaFSysrvoERtAgzTfoB/jiKHn8SsqVA (24 lines)
04:54:50 <haskellbridge> <iqubic (she/her)> Does XMobar support fallback fonts or not?
04:58:29 <haskellbridge> <dpn> it's using X resources syntax - so however that works most likely
05:31:01 × OftenFaded quits (~Al@user/tisktisk) (Ping timeout: 265 seconds)
05:38:00 OftenFaded joins (~Al@user/tisktisk)
06:25:45 wz1000_ joins (~wz1000@2a01:4f9:c012:de50::1)
06:25:57 <haskellbridge> <iqubic (she/her)> So, I've read the quick-start guide for xmobar, but I don't know what all the modules are. Is there a list of commands I can have it run?
06:26:31 × wz1000- quits (~wz1000@static.194.167.62.46.clients.your-server.de) (Ping timeout: 256 seconds)
06:49:16 thaumavorio joins (~thaumavor@thaumavor.io)
06:51:16 × ft quits (~ft@p4fc2a25a.dip0.t-ipconnect.de) (Quit: leaving)
06:52:00 × wz1000_ quits (~wz1000@2a01:4f9:c012:de50::1) (*.net *.split)
06:52:00 × thaumavorio_ quits (~thaumavor@thaumavor.io) (*.net *.split)
06:52:01 × de-vri-es quits (~de-vri-es@voyager.de-vri.es) (*.net *.split)
06:56:02 047AALI5L joins (~wz1000@2a01:4f9:c012:de50::1)
06:56:02 de-vri-es joins (~de-vri-es@voyager.de-vri.es)
07:00:24 <haskellbridge> <Solid> iqubic (she/her): they're all documented here: https://codeberg.org/xmobar/xmobar/src/branch/master/doc/plugins.org
09:16:29 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
10:02:19 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
10:12:43 × redgloboli quits (~redglobol@user/redgloboli) (Quit: ...enter the matrix...)
10:14:21 redgloboli joins (~redglobol@user/redgloboli)
10:50:01 × redgloboli quits (~redglobol@user/redgloboli) (Ping timeout: 256 seconds)
10:50:23 redgloboli joins (~redglobol@user/redgloboli)
13:02:25 Magician is now known as Dreamcast
13:07:07 assfacedgollum joins (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
13:30:51 × assfacedgollum quits (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
15:15:04 assfacedgollum joins (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
15:53:53 × assfacedgollum quits (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Quit: Client closed)
15:56:19 assfacedgollum joins (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
16:13:33 × ectospasm quits (~ectospasm@user/ectospasm) (Quit: WeeChat 4.7.0)
16:18:34 assfacedgollum50 joins (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
16:20:17 × assfacedgollum quits (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
16:40:39 × assfacedgollum50 quits (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Ping timeout: 250 seconds)
16:57:44 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
17:17:22 ectospasm joins (~ectospasm@user/ectospasm)
17:40:08 assfacedgollum joins (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
17:43:13 × assfacedgollum quits (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Client Quit)
17:43:37 assfaced joins (~assfaced@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
17:43:54 × assfaced quits (~assfaced@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Client Quit)
17:56:16 ft joins (~ft@p4fc2a25a.dip0.t-ipconnect.de)
18:15:09 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
18:44:28 <haskellbridge> <iqubic (she/her)> The documentation for the Battery Module is confusing me. I see that I can use "-P" for a color to display for positive power (charging), but it doesn't look like there's a way to modify the display template to show something different when charging.
18:45:24 <haskellbridge> <iqubic (she/her)> I want it to show a "CHRG" label when charging.
18:45:30 <haskellbridge> <iqubic (she/her)> Just those 4 characters.
18:46:30 <haskellbridge> <iqubic (she/her)> And actually, if it's discharging, I want it to show the approximate time left.
19:49:23 <haskellbridge> <iqubic (she/her)> How do I use dynamicSB when I'm also using xmobar's StdinReader?
21:03:35 <geekosaur> use statusBarPipe instead of statusBarProp / statusBarPropTo
21:13:34 assfacedgollum joins (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de)
21:15:56 × assfacedgollum quits (~assfacedg@dslb-002-201-020-218.002.201.pools.vodafone-ip.de) (Client Quit)
21:28:19 Enrico63 joins (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213)
23:07:11 × dibblego quits (~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
23:07:23 dibblego joins (~dibblego@116-255-1-119.ip4.superloop.au)
23:07:23 × dibblego quits (~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
23:07:23 dibblego joins (~dibblego@haskell/developer/dibblego)
23:26:00 × Enrico63 quits (~Enrico63@2a0b:e541:10d0:0:9efc:e8ff:fe24:3213) (Quit: Client closed)
23:26:39 <haskellbridge> <iqubic (she/her)> Hmm... dynamicSBs wants a function of type (ScreenId -> X StatusBarConfig) but statusBarPipe returns IO StatusBarConfig
23:33:55 <haskellbridge> <iqubic (she/her)> https://github.com/IQubic/nixos-config/blob/master/hm/xmonad/XMonad.hs#L218
23:34:00 <haskellbridge> <iqubic (she/her)> That's my config.
23:34:34 <haskellbridge> <iqubic (she/her)> Here's the error I'm getting: https://dpaste.org/j4SbV
23:35:38 <haskellbridge> <iqubic (she/her)> I'm not sure how to fix this...
23:37:11 <liskin> There `io` somewhere that lifts IO a into X a
23:37:55 <liskin> But also why would you even bother with pipes if xmobar can do props?
23:38:14 <haskellbridge> <iqubic (she/her)> I didn't know it could do props, TBH.
23:38:49 <liskin> I though we made this very prominent in the docs
23:39:01 <liskin> Anyway, bedtime.
23:39:31 <haskellbridge> <iqubic (she/her)> But also, I want to have a main screen bar and an auxiliary screen bar. How do I tell xmobar which prop to read from in the config?
23:49:58 <geekosaur> statuiisBarPropTo, and whatever your bar's configuration is for reading properties
23:53:01 <haskellbridge> <iqubic (she/her)> My bar is XMobar.
23:53:22 <haskellbridge> <iqubic (she/her)> I want to tell XMobar to read from _XMONAD_LOG_1
23:53:47 <haskellbridge> <iqubic (she/her)> I'm switching to XMobar here, because I like the integration with XMonad.

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