2025/01/23

2025-01-23 01:40:42 +0100 <haskellbridge> <m1mir> Hi, I have simple question. Does anyone know where I could configure what runs when I do a _wmctrl -s_ command?
2025-01-23 01:42:12 +0100 <geekosaur> it's part of EwmhDesktops but I don't know if we have a hook for _NET_CURRENT_DESKTOP
2025-01-23 01:43:48 +0100 <geekosaur> doesn't look like we do. what exactly are you trying to do?
2025-01-23 01:50:32 +0100 <haskellbridge> <m1mir> I'm trying to keep the windows with the independent screens module on the right screen. If the workspace that I'm trying to switch to is on the other screen and it is hidden it grabs that workspace and shows it on the screen where I ran the command instead of switching to the right screen. I managed to replace the doFocus with "doF . focusWindow' =<< ask" but I.
2025-01-23 01:51:18 +0100 <haskellbridge> <m1mir> I'm trying to keep the windows with the independent screens module on the right screen. If the workspace that I'm trying to switch to is on the other screen and it is hidden it grabs that workspace and shows it on the screen where I ran the command instead of switching to the right screen. I managed to replace the doFocus with "doF . focusWindow' =<< ask" but I couldn't find a way to do that with the wmctrl -s...
2025-01-23 01:51:23 +0100 <haskellbridge> ... command handling.
2025-01-23 01:54:59 +0100 <geekosaur> I don't think there's a good way to handle it. wmctrl requests workspaces by number, not name, and the numbers don't necessarily map to anything in your xmonad.hs. (EWMH starts numbering reported workspaces from 0 and uses only those numbers.)
2025-01-23 01:56:57 +0100 <geekosaur> `xprop -root _NET_DESKTOP_NAMES is the workspaces names that wmctrl knows about, and it uses an index into that list when it makes its request
2025-01-23 03:09:02 +0100 <haskellbridge> <m1mir> I got confused by the last reply. After reading the code/docs a lot, think it does deal with the index to workspace conversion by sorting workspaces the same way it listed them and taking the nth element using the "!?" operator.
2025-01-23 03:09:04 +0100 <haskellbridge> If i haven't misunderstood the code( which is not unlikely because), then if I want to make switching action customizable for the "wmctrl -s" type window switching I need to switch the W.view to a config parameter in this line (https://github.com/xmonad/xmonad-contrib/blob/c0a5bc5f0f5263108ad5a144711dceff4fb99cde/XMonad/Hook…). Am I correct?
2025-01-23 03:09:34 +0100 <haskellbridge> <m1mir> * because I haven't done a lot of haskell/Xmonad),
2025-01-23 03:11:52 +0100ft(~ft@p4fc2a1c1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2025-01-23 03:13:50 +0100ft(~ft@p3e9bcab6.dip0.t-ipconnect.de) ft
2025-01-23 03:14:32 +0100 <geekosaur> I'm not wntirely clear on your issue, but I think the real problem is that it's picking the workspace on the wrong monitor; note that workspaces as seen by EWMH and therefore wmctrl are in an internal <screen>_<wsname> form, and you need to replace the <screen> part? Or do you want to ensure it's activated on the other monitor, which will need more than just replacing W.view?
2025-01-23 03:15:26 +0100 <geekosaur> in particular you need https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Actions-OnScreen.html for the latter
2025-01-23 03:15:55 +0100 <geekosaur> (and internally xmonad will be switching focus to the other screen, doing something, and switching back)
2025-01-23 03:29:45 +0100 <haskellbridge> <m1mir> I'll try to clarify.
2025-01-23 03:29:45 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/ScFdScYZlfYGsQRcOyOYRAbK/ECx1CjIn-g8 (6 lines)
2025-01-23 03:37:21 +0100 <haskellbridge> <m1mir> I'll try to clarify.
2025-01-23 03:37:21 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/FVLbbxxHYnbZnFneyTcgZCwR/wVcRLQxShto (8 lines)
2025-01-23 03:39:00 +0100 <geekosaur> okay. so you will have to translate the workspace index to its name, extract the screen number, and use viewOnScreen from the module I listed earlier
2025-01-23 03:39:04 +0100 <haskellbridge> <m1mir> If I'm correct with what needs to be configurable I can probably make a pr if I can figure out what to name the option.
2025-01-23 03:40:03 +0100 <haskellbridge> <m1mir> I'll try to clarify.
2025-01-23 03:40:03 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/wdjcyyOWKboiIXrLkHHmUAfD/QQAgMXiEPxk (8 lines)
2025-01-23 03:40:46 +0100 <geekosaur> edits don't work well IRC-side
2025-01-23 03:40:57 +0100 <haskellbridge> <m1mir> Sorry-
2025-01-23 03:41:36 +0100 <geekosaur> and the answer is still what I just said, you need to extract the screen number and use viewOnScreen instead of W.view
2025-01-23 03:42:14 +0100 <geekosaur> https://hackage.haskell.org/package/xmonad-contrib-0.18.1/docs/XMonad-Actions-OnScreen.html#v:view…
2025-01-23 03:46:20 +0100 <haskellbridge> <m1mir> Ty for the help. I'll try to make a pr to make that action configurable.
2025-01-23 03:47:29 +0100 <geekosaur> one complication: screen numbers are not simple integers, you need to wrap them in W.S (that is, after extracting the 1 from 1_foo and making an Int out of it, you need to apply "S" to it (https://hackage.haskell.org/package/xmonad-0.18.0/docs/XMonad-Core.html#t:ScreenId) to make it into a screen number acceptable to viewOnScreen)
2025-01-23 03:49:07 +0100 <geekosaur> (the documentation shows using literal numbers, but that's because someone got the bright idea of giving it a Num instance so they get fromInteger applied to them. it doesn't work for variables, only for literals)
2025-01-23 03:50:59 +0100 <haskellbridge> <m1mir> Ty for the tip. If I ran into that one I would probably never figure it out on my own.
2025-01-23 03:52:08 +0100 <geekosaur> that's why I warned you
2025-01-23 03:52:33 +0100 <geekosaur> I disapprove of Num instances thsat exist solely to abuse fromInteger precisely because they lead to this kind of nasty surprise
2025-01-23 03:53:19 +0100 <geekosaur> and unless you know how numeric literals are handled in Haskell you will have trouble figuring out the spooky action at a distance
2025-01-23 04:02:01 +0100horzion(~horzion@ProtonDB/horzion) horzion
2025-01-23 04:02:43 +0100horzion(~horzion@ProtonDB/horzion) ()
2025-01-23 04:42:03 +0100terrorjack45(~terrorjac@2a01:4f8:c17:a66e::) (Quit: The Lounge - https://thelounge.chat)
2025-01-23 04:44:59 +0100terrorjack45(~terrorjac@2a01:4f8:c17:a66e::) terrorjack
2025-01-23 06:00:20 +0100ChubaDuba(~ChubaDuba@46.147.219.211) ChubaDuba
2025-01-23 06:28:00 +0100rekahsoft(~rekahsoft@70.51.99.237) (Remote host closed the connection)
2025-01-23 06:29:16 +0100rekahsoft(~rekahsoft@70.51.99.237) rekahsoft
2025-01-23 06:45:23 +0100rekahsoft(~rekahsoft@70.51.99.237) (Ping timeout: 245 seconds)
2025-01-23 07:20:58 +0100ft(~ft@p3e9bcab6.dip0.t-ipconnect.de) (Quit: leaving)
2025-01-23 07:29:42 +0100ChubaDuba(~ChubaDuba@46.147.219.211) (Quit: WeeChat 4.5.1)
2025-01-23 07:30:08 +0100ChubaDuba(~ChubaDuba@46.147.219.211) ChubaDuba
2025-01-23 07:45:24 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 260 seconds)
2025-01-23 07:48:54 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-01-23 09:00:52 +0100mc47(~yecinem@p200300ee0f038dc39287614d4759a7ca.dip0.t-ipconnect.de)
2025-01-23 10:11:39 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
2025-01-23 10:13:20 +0100haskellbridge(~hackager@syn-024-093-192-219.res.spectrum.com) hackager
2025-01-23 11:37:23 +0100ChubaDuba(~ChubaDuba@46.147.219.211) (Quit: WeeChat 4.5.1)
2025-01-23 11:52:57 +0100Natch(~natch@c-92-34-7-158.bbcust.telenor.se) (Ping timeout: 276 seconds)
2025-01-23 11:54:46 +0100Natch(~natch@c-92-34-7-158.bbcust.telenor.se)
2025-01-23 12:22:27 +0100ash3en(~Thunderbi@31.16.203.214) ash3en
2025-01-23 12:22:48 +0100ash3en(~Thunderbi@31.16.203.214) (Client Quit)
2025-01-23 13:56:13 +0100Digitteknohippie(~user@user/digit) Digit
2025-01-23 13:57:18 +0100Digit(~user@user/digit) (Ping timeout: 252 seconds)
2025-01-23 14:31:18 +0100redgloboli(~redglobol@user/redgloboli) (Ping timeout: 252 seconds)
2025-01-23 14:31:54 +0100redgloboli(~redglobol@user/redgloboli) redgloboli
2025-01-23 14:38:27 +0100ChubaDuba(~ChubaDuba@46.147.219.211) ChubaDuba
2025-01-23 15:06:17 +0100ChubaDuba(~ChubaDuba@46.147.219.211) (Quit: WeeChat 4.5.1)
2025-01-23 16:00:47 +0100kaskal(~kaskal@84-115-237-124.cable.dynamic.surfer.at) (*.net *.split)
2025-01-23 16:00:47 +0100srk(~sorki@user/srk) (*.net *.split)
2025-01-23 16:00:47 +0100jzargo(~jzargo@user/jzargo) (*.net *.split)
2025-01-23 16:00:47 +0100Leary(~Leary@user/Leary/x-0910699) (*.net *.split)
2025-01-23 16:00:48 +0100RMSBach(~guygastin@137.184.131.156) (*.net *.split)
2025-01-23 16:05:45 +0100kaskal(~kaskal@84-115-237-124.cable.dynamic.surfer.at) kaskal
2025-01-23 16:05:45 +0100srk(~sorki@user/srk) srk
2025-01-23 16:05:45 +0100jzargo(~jzargo@user/jzargo) jzargo
2025-01-23 16:05:45 +0100Leary(~Leary@user/Leary/x-0910699) Leary
2025-01-23 16:05:45 +0100RMSBach(~guygastin@137.184.131.156) RMSBach
2025-01-23 16:14:14 +0100ft(~ft@p3e9bcab6.dip0.t-ipconnect.de) ft
2025-01-23 16:16:01 +0100ft(~ft@p3e9bcab6.dip0.t-ipconnect.de) (Client Quit)
2025-01-23 16:18:00 +0100ft(~ft@p3e9bcab6.dip0.t-ipconnect.de) ft
2025-01-23 17:06:32 +0100DigitteknohippieDigit
2025-01-23 17:30:13 +0100m5zs7k(aquares@web10.mydevil.net) (Ping timeout: 248 seconds)
2025-01-23 17:33:02 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2025-01-23 17:34:46 +0100Guest12(~Guest12@2a02:2f0f:6109:3500:6bf:1bff:fec0:9354)
2025-01-23 17:44:48 +0100 <Guest12> Hello! I have a problem with xmonad. I am reusing my config when using one screen or multiple screens. When multiple screens are connected, I can swap to workspaces (on different screens) with M-w (to the left) and M-e (to the right). When using only one screen i would still want to be able to do this (like if I'm on workspace 0_2 and I press M-e i
2025-01-23 17:44:49 +0100 <Guest12> would like to "swap" to screen 1, workspace 1_1 (basically extending my 9 workspaces). My code currently works using greedyView (I can swap to workspace 1_1), but that does not change the screen, it only swaps to that workspace... The screen is still 0, so M-5 would send me to 0_5 instead of 1_5. Is there a way to *switch* completely to screen 1
2025-01-23 17:44:49 +0100 <Guest12> with empty workspaces (not hacking my M-1, M-2, M-X etc keybinds that are doing: "windows $ onCurrentScreen W.view (workspaces' conf !! X)" Code: https://pastebin.com/LFaRxQ0A
2025-01-23 17:47:37 +0100 <Guest12> I think what I'm asking is if there is a way to simulate multiple (virtual) screens on a single physical screen.