Home liberachat/#xmonad: Logs Calendar

Logs on 2022-07-08 (liberachat/#xmonad)

00:34:28 Kaladin joins (~Kaladin@157-131-200-16.fiber.dynamic.sonic.net)
00:36:45 <Kaladin> hello #xmonad, I'm planning to upgrade from 0.15 to 0.17 today and I'm wondering if anyone has a recommendation for a guide or steps to take before getting started, I'm on arch linux, planning to backup my .xmonad folder so I can go back to my current state if needed, is there anything else I should backup? ty for any suggestions :)
00:39:15 <geekosaur> that should be it
00:48:04 Forkk joins (~forkk@li926-228.members.linode.com)
00:50:04 <Kaladin> @geekosaur, thank you, I am a bit nervous since I put in a lot of work over a long time to get the state I have with xmonad and not sure I can remember all the things I did to get it this way, your confirmation helps :)
00:50:04 <lambdabot> Unknown command, try @list
00:50:40 <geekosaur> your xmonad.hs is the big one. if you have any local modules in .xmonad/lib, you'll want those as well
00:50:52 <geekosaur> (most people don't)
00:54:18 <Kaladin> I don't think so but I backed up the entire .xmonad folder so should be good either way
01:00:43 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
01:19:51 × Kaladin quits (~Kaladin@157-131-200-16.fiber.dynamic.sonic.net) (Quit: Leaving)
01:29:39 Kaladin joins (~Kaladin@157-131-200-16.fiber.dynamic.sonic.net)
01:38:39 tjmciver joins (~tjmciver@cpe-198-255-176-114.maine.res.rr.com)
01:41:04 <tjmciver> Hello folks. I'm currently running Xmonad 0.15 and am trying to figure out what hook to use to call (spawn) autorandr to configure external monitors when docking/undocking my laptop. I know there's XMonad.Hooks.Rescreen in 0.17 but that's not available in 0.15. What do I do instead?
02:02:57 × banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 276 seconds)
02:13:30 × Kaladin quits (~Kaladin@157-131-200-16.fiber.dynamic.sonic.net) (Quit: Leaving)
02:14:44 jaybird joins (~cjayross@47-185-199-160.dlls.tx.frontiernet.net)
02:15:23 jaybird parts (~cjayross@47-185-199-160.dlls.tx.frontiernet.net) ()
02:18:19 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds)
02:24:42 banc joins (banc@gateway/vpn/airvpn/banc)
02:33:10 × td_ quits (~td@muedsl-82-207-238-170.citykom.de) (Ping timeout: 240 seconds)
02:35:21 td_ joins (~td@94.134.91.254)
04:22:50 × steve__ quits (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 244 seconds)
05:43:47 <Solid> tjmciver: you could upgrade to 0.17.0 :>
05:44:18 <Solid> copying the module itself would probably be quite complicated, since it depends on ExtensibleConfig
05:44:34 <Solid> though I recall fizzie having a standalone module that was the basis for X.H.Rescreen? So perhaps copying that would work
06:28:27 × nev_yn quits (~nyven@c-68-43-234-118.hsd1.mi.comcast.net) (Remote host closed the connection)
07:00:19 Zedgamer9128 joins (~Zedgamer9@2409:4064:2d8c:d471:3792:1457:5b3a:1e2)
07:01:19 × Zedgamer9128 quits (~Zedgamer9@2409:4064:2d8c:d471:3792:1457:5b3a:1e2) (Client Quit)
07:29:37 × hexo quits (~hexo@user/hexo) (Quit: Leaving)
07:36:03 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:e563:a1c3:b513:f7a5)
07:45:53 cfricke joins (~cfricke@user/cfricke)
07:58:00 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:e563:a1c3:b513:f7a5) (Ping timeout: 276 seconds)
07:59:22 alternateved joins (~alternate@82.180.151.80)
08:42:49 Guest9 joins (~Guest9@48.red-83-55-226.dynamicip.rima-tde.net)
08:44:16 Guest9 is now known as Baitinq
08:44:40 <Baitinq> Hi everyone, I was having a problem with xmobar <box> tag and I was wondering whether I was doing something wrong or this was a bug with xmobar (probably the former). I am trying to draw a empty rectangle on top of my inactive but not empty workspaces (in a dwm style). I have succesfully drawn the box, but when I try to apply left and right margins
08:44:40 <Baitinq> they are not respected by the two <box type=Top> that make up the empty rectangle, while they are respected by the <box type=HBoth> that also makes up the empty triangle. Am I doing something wrong? Is there a better way of implementing this? Many thanks https://pastebin.com/vYWRNG7k. I have asked in the xmobar specific channel but it seems pretty
08:44:41 <Baitinq> inactive so I hope you dont mind me asking here.
08:51:30 <fizzie> tjmciver: Solid: Yes, I had one of those. The hooky part is just xrandrStartupHook + xrandrScreenChangeEventHook at https://github.com/fis/dot-xmonad/blob/master/zem/src/Zem/AutoRandr.hs#L243
08:55:44 × ^[ quits (~user@user//x-8473491) (Ping timeout: 255 seconds)
08:59:03 × Baitinq quits (~Guest9@48.red-83-55-226.dynamicip.rima-tde.net) (Quit: Client closed)
09:00:12 Baitinq joins (~Baitinq@48.red-83-55-226.dynamicip.rima-tde.net)
09:24:56 Zedgamer9128 joins (~Zedgamer9@2409:4064:2d8c:d471:3792:1457:5b3a:1e2)
09:27:14 <Zedgamer9128> how to send custom log to xmobar like i want to send songs title by playerctl from xmonad.hs i am sending all worksapce info by UnsafeXmonadLog and i was thinking if there was a way to send another variabe
09:27:45 × Baitinq quits (~Baitinq@48.red-83-55-226.dynamicip.rima-tde.net) (Quit: Client closed)
09:28:48 <Zedgamer9128> l am seeing a statusbarpropto function but i dont know if that is what is what i want or how to even implement it
09:41:18 × Zedgamer9128 quits (~Zedgamer9@2409:4064:2d8c:d471:3792:1457:5b3a:1e2) (Quit: Client closed)
09:41:31 Zedgamer9128 joins (~Zedgamer9@2409:4064:2d8c:d471:3792:1457:5b3a:1e2)
09:43:13 <vrs> Zedgamer9128: I do it with a PipeReader
09:44:59 <vrs> my player is mpd and I monitor the state with `mpc idle`
09:52:32 × Zedgamer9128 quits (~Zedgamer9@2409:4064:2d8c:d471:3792:1457:5b3a:1e2) (Ping timeout: 252 seconds)
10:05:35 Zedgamer9128 joins (~Zedgamer9@2409:4064:4e8e:a7aa:28d1:bb05:df72:c820)
10:09:33 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5)
10:30:06 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
10:30:43 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Client Quit)
10:43:10 Jade1 joins (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de)
10:48:10 <Jade1> How would you build a layout in which the side to the master has a second "master" window and the stack is vertical to the side? https://imgur.com/a/gwR41yq
10:51:03 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:bd6:dafd:ce58:5eb6)
11:16:18 × Zedgamer9128 quits (~Zedgamer9@2409:4064:4e8e:a7aa:28d1:bb05:df72:c820) (Quit: Client closed)
11:24:44 × defjam quits (~eb0t@33ba38ab.skybroadband.com) (Ping timeout: 272 seconds)
11:25:39 Zedgamer9128 joins (~Zedgamer9@2409:4064:4e8e:a7aa:28d1:bb05:df72:c820)
11:26:34 defjam joins (~eb0t@33bb8326.skybroadband.com)
11:26:34 × Zedgamer9128 quits (~Zedgamer9@2409:4064:4e8e:a7aa:28d1:bb05:df72:c820) (Client Quit)
11:52:39 <tjmciver> Solid: Yes, I'd love to upgrade but I'm using NixOS and that's giving me 0.15 and I'm not savvy enough with Nix yet to know how to upgrade.
11:53:41 <tjmciver> fizzie: thanks. If I read that correctly it looks like you're not directly using autoxrandr there but have implemented much of it yourself there.
11:54:31 <fizzie> Yeah, but that was just out of perversity, you could just shell out from the hook and ignore all the rest.
11:55:23 <tjmciver> Cool, thanks!
11:55:28 <fizzie> Although you might want some form of "debouncing" in there.
11:55:40 <fizzie> And the version done by X.H.Rescreen is objectively better. :)
11:56:08 <fizzie> (There tends to be a bunch of events fired off when unplugging/replugging screens, not just one.)
11:59:30 <fizzie> My kludge is based on just adding a delay of 0.5 seconds, and ignoring subsequent events while that timer is pending. X.H.Rescreen does some smarter to the event queue.
12:00:59 <tjmciver> Yeah, it sounds like I should invest the time in upgrading to 0.17.
12:09:27 MUT joins (~MUT@91.196.39.241)
12:13:01 <MUT> Hello everyone. I've been a long time haskell fan and just decided to give xmonad a good try. I am trying to make the default configuration template provided to work and i came across this issue. The keybinding configuration provided in it is given by `myKeys :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ())`. Now i want to put
12:13:01 <MUT> XMonad.Util.EZConfig.checkKeymap into my startup hook to use.
12:13:28 <geekosaur> Jade1, XMonad.Layout.Master lets you add a second master window
12:14:13 <MUT> The issue is that checkKeymap takes [(String, X())] and not the Map. I can use toList from Data.Map to take the map into [(KeyMask, KeySym), X())], but that wont cut it
12:14:35 <geekosaur> checkKeymap is designed for use with additionalKeysP maps
12:15:16 <MUT> is there a  Map (KeyMask, KeySym) (X ()) -> [(String, X ())] function that would be able to take the tuples and return the short string syntax of keymaps?
12:15:58 × Jade1 quits (~Jade1@ip-178-201-128-039.um46.pools.vodafone-ip.de) (Quit: Client closed)
12:16:04 <MUT> geekosaur how do i check my initial keymaps for duplicates then?
12:16:17 <MUT> is it assumed you have to manually do that?
12:16:49 <geekosaur> yes, because the duplicates will already have overwritten by the time you reach the startupHook
12:17:39 <MUT> fair enough i guess.
12:17:59 <geekosaur> and we're kinda strongly encouraging use of the newer keymap style
12:25:54 <MUT> the short string  thing??
12:25:58 <MUT> the short string  thing?
12:26:07 <MUT> damn. sorry
12:32:23 <MUT> there are just some cool list comprehensions done for the workspace switching and moving that i dont think can be possible to refactor to work with the string syntax.
12:32:39 <MUT> i might be wrong tho
12:35:23 <alternateved> What those list comprehensions do for workspace switching?
12:36:40 <MUT>     -- mod-[1..9], Switch to workspace N
12:36:41 <MUT>     -- mod-shift-[1..9], Move client to workspace N
12:36:41 <MUT>     --
12:36:42 <MUT>     [((m .|. modm, k), windows $ f i)
12:36:42 <MUT>         | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9]
12:36:43 <MUT>         , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]
12:36:56 <alternateved> I do like X.U.EZConfig module, but I also come from Emacs world so this makes it familiar for me
12:37:26 <alternateved> I have those comprehensions for that short syntax
12:38:18 <alternateved> [ ("M-" <> m <> show k, withNthWorkspace' f i)
12:38:18 <alternateved> | (k, i) <- zip workspaceNumbers [0 ..]
12:38:18 <alternateved> , (m, f) <- [("", W.greedyView), ("S-", W.shift), ("C-", copy)]
12:38:18 <alternateved> ]
12:39:56 <alternateved> There is a bit more since I also wanted to filter out scratchpads
12:44:53 × tjmciver quits (~tjmciver@cpe-198-255-176-114.maine.res.rr.com) (Read error: Connection reset by peer)
12:45:10 tjmciver joins (~tjmciver@cpe-198-255-176-114.maine.res.rr.com)
12:49:59 <MUT> hmm
12:50:04 <MUT> that can work yeah
12:50:34 <MUT> still if theres a function from "old" syntax to "new" syntax, it would be good to have one from new to old too
13:01:50 <geekosaur> do you have that backwards? mkKeymap turns an additionalKeysP list into a keymap (but it's already a Map at that point so dups are already lost)
13:20:14 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:21:35 <MUT> mkKeymap :: XConfig l -> [(String, X ())] -> M.Map (KeyMask, KeySym) (X ())
13:21:53 <MUT> i want unmkKeymap, if that makes sense
13:23:30 <MUT> something like
13:23:30 <MUT> mkNewKeymap ::  M.Map (KeyMask, KeySym) -> (X ()) [(String, X ())]
13:25:02 <geekosaur> that's why I asked if you had that ackwards; I suspected that
13:26:00 <geekosaur> it's doable, but EZConfig is all about going the other direction
13:26:47 <MUT> oh is the map from (KeyMask, Keysym) to X actions the "newer" keymap style that you encourage?
13:27:34 <geekosaur> no, that's the original style and what is used internally
13:28:26 <MUT> yeah i see.
13:28:38 <geekosaur> since keygrabs are done on (KeyMask,KeyCode) and an internal lookup is done to go from KeySym to KeyCode
13:29:03 <geekosaur> (and that will produce surprises if the KeySym has modifiers associated with it, which is the original reason for checkKeymap)
13:29:34 <geekosaur> which means we should really have a checkKeymap-alike for old style keys too
13:32:11 <geekosaur> maybe I'll write that this weekend
13:39:39 <MUT> [4:16:14 PM] <geekosaur> yes, because the duplicates will already have overwritten by the time you reach the startupHook
13:39:40 <MUT> But given this i dont think it will be any useful
13:40:05 <MUT> since the only use i had for it, is like not valid
13:40:23 <geekosaur> it would still check for non-base plane keys and such. but checkKeymap as is also won't do what you want
13:41:05 <geekosaur> a version could be written that took a list and checked for dupes along with the other checks, of course
13:43:16 <MUT> myStartupHook :: X ()
13:43:16 <MUT> myStartupHook = do
13:43:17 <MUT>   checkKeymap defaults $ map mkNewKeymap $ M.toList $ myKeys defaults
13:43:17 <MUT>   where
13:43:18 <MUT>     mkNewKeymap = ...
13:43:18 <MUT> this is what how i thought id use the mkNewKeymap
13:44:15 <MUT> inside the man/xmonad.hs
13:44:39 <geekosaur> I'd be worried that the conversion would change something I cared about, and would want something more direct
13:58:29 <valarMorghulis[m> > <@lladeebll:matrix.org> I was trying to implement top bar in xmonad to show active window instead of the boarder. If I user `noFillsDeco` the problem is that it's not smart even if there is just one window it shows the top bar, therefore I got a code snippet for smart top bar from reddit and I'm using it. It... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/9c2b5472f13b769907607584b7a7d69fd3219192)
13:58:31 <valarMorghulis[m> Anyone got a suggestion on where to ask this so get an answer?
13:58:31 <lambdabot> <hint>:1:1: error: parse error on input ‘<@’
13:59:08 <valarMorghulis[m> s/so/to/
13:59:54 <MUT> geekosaur im guessing you're part of the dev team for xmonad? can you please explain why you use strict types for all the records of XConfig record?
14:00:06 <MUT> Does it bring any noticable performance boost or is it for something else?
14:00:47 <geekosaur> I'm part of the current dev team but not the original one that made that decision. I think it's for performance though
14:01:02 <geekosaur> sjanssen and dons are sadly long gone
14:01:59 <MUT> aeef36f7 Spencer Janssen (2007-12-29 06:19):
14:01:59 <MUT> Strictify all XConfig fields, gives nice error messages when a field is forgotten on construction
14:02:00 <MUT> found this on when git blaming
14:02:35 <MUT> on Xconfig fields*
14:03:10 <geekosaur> that seems odd though as users don't generally build one up completely from scratch
14:03:33 <MUT> yeah
14:03:34 <geekosaur> there's a lot in there and users typically only touch part of it
14:04:00 <geekosaur> it's very rare that anyone touches rootMask, for example
14:05:28 <MUT> yeah i was searching for places where the inner fields are exposed to modification from user, there's a lot that never do
14:05:51 <alternateved> Is there an easy way to restrict ppCurrent also to the current screen?
14:07:28 <alternateved> Apart from just using logCurrentOnScreen
14:07:55 <geekosaur> alternateved, I know it's been done but it's not particularly easy the way DyanmicLog / StatusBar is set up
14:21:53 <alternateved> Hmm, that is what I've thought. I might play with logCurrentOnScreen then
14:25:49 <geekosaur> might hang around in here and see if someone else speaks up. someone else had an xmobar per screen, each showing that screen's state
14:26:25 <geekosaur> sadly they didn't do it in an issue or discussion, and the logs aren't searchable currently
14:27:19 <geekosaur> Solid might remember a bit more but I think he's away for the next 2 weeks
14:33:31 <alternateved> Thanks, I will keep that in mind, although I might just use logCurrentOnScreen and then the rest of the workspaces that are hidden as I don't really care about ordering here
14:46:08 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
14:48:06 geekosaur joins (~geekosaur@xmonad/geekosaur)
14:54:10 × alternateved quits (~alternate@82.180.151.80) (Remote host closed the connection)
15:01:30 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
15:01:48 alternateved joins (~alternate@82.180.151.80)
15:05:56 Baitinq joins (~Baitinq@48.red-83-55-226.dynamicip.rima-tde.net)
15:06:37 <Baitinq> Hi everyone, I was having a problem with xmobar <box> tag and I was wondering whether I was doing something wrong or this was a bug with xmobar (probably the former). I am trying to draw a empty rectangle on top of my inactive but not empty workspaces (in a dwm style). I have succesfully drawn the box, but when I try to apply left and right margins
15:06:37 <Baitinq> they are not respected by the two <box type=Top> that make up the empty rectangle, while they are respected by the <box type=HBoth> that also makes up the empty triangle. Am I doing something wrong? Is there a better way of implementing this? Many thanks https://pastebin.com/vYWRNG7k. I have asked in the xmobar specific channel but it seems pretty
15:06:38 <Baitinq> inactive so I hope you dont mind me asking here.
15:10:26 × MUT quits (~MUT@91.196.39.241) (Ping timeout: 252 seconds)
15:13:35 <geekosaur> you can ask in here but you may have to hang around for someone who can answer. (I don't use xmobar so can't help. I vaguely recall a bug regarding box borders but I thought it was top/bottom rather than left/right)
15:43:41 × alternateved quits (~alternate@82.180.151.80) (Remote host closed the connection)
15:44:04 alternateved joins (~alternate@82.180.151.80)
15:56:48 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
15:59:50 × alternateved quits (~alternate@82.180.151.80) (Remote host closed the connection)
16:09:09 alternateved joins (~alternate@82.180.151.80)
16:11:20 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
16:23:46 × telser quits (~quassel@user/telser) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
16:46:49 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
18:16:00 cidra[m] joins (~cidramatr@2001:470:69fc:105::2:4207)
19:13:14 × alternateved quits (~alternate@82.180.151.80) (Remote host closed the connection)
19:16:22 alternateved joins (~alternate@82.180.151.80)
19:21:04 × alternateved quits (~alternate@82.180.151.80) (Remote host closed the connection)
21:08:15 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:bd6:dafd:ce58:5eb6) (Ping timeout: 276 seconds)
21:22:58 × tjmciver quits (~tjmciver@cpe-198-255-176-114.maine.res.rr.com) (Ping timeout: 240 seconds)
21:31:17 × noex quits (~null@user/noex) (Ping timeout: 255 seconds)
21:31:37 steve__ joins (~steve@ool-182c2b80.dyn.optonline.net)
21:41:15 tjmciver joins (~tjmciver@cpe-172-101-39-156.maine.res.rr.com)
22:05:09 noex_ joins (~null@2600:8804:14e0:104::1e13)
22:59:56 × joshproehl quits (~quassel@user/joshproehl) (Remote host closed the connection)
23:00:50 joshproehl joins (~quassel@user/joshproehl)
23:04:58 × Baitinq quits (~Baitinq@48.red-83-55-226.dynamicip.rima-tde.net) (Quit: Client closed)
23:52:42 × gdd1 quits (~gdd@2001:470:1f13:187:2e9b:467c:7a38:be67) (Ping timeout: 272 seconds)
23:54:19 gdd1 joins (~gdd@129.199.146.230)

All times are in UTC on 2022-07-08.