Logs: liberachat/#xmonad
| 2022-10-21 15:41:00 | <geekosaur> | [(0,W.view),(shiftMask,W.shift)] is producted with [(xK_1,"1"),...] |
| 2022-10-21 15:41:12 | <thyriaen> | exactly |
| 2022-10-21 15:41:14 | <thyriaen> | that is what i ment |
| 2022-10-21 15:41:34 | <thyriaen> | i don't know why ( what syntax does it ) but i understand why ( for what purpose ) it is done |
| 2022-10-21 15:41:35 | <thyriaen> | ok |
| 2022-10-21 15:41:48 | <thyriaen> | that means |
| 2022-10-21 15:41:51 | <thyriaen> | quite frankly |
| 2022-10-21 15:42:03 | <thyriaen> | if i don't want shift operations for my screens |
| 2022-10-21 15:42:06 | <geekosaur> | study list comprehensions. preferably with a simpler one than these; they're tricky 🙂 |
| 2022-10-21 15:42:31 | <thyriaen> | i just use (f, m) <- [(W.view, 0)] instead of (f, m) <- [(W.view, 0), (W.shift, shiftMask)] |
| 2022-10-21 15:42:38 | <geekosaur> | yes |
| 2022-10-21 15:42:45 | <thyriaen> | ok |
| 2022-10-21 15:42:47 | <thyriaen> | awesome |
| 2022-10-21 15:42:56 | <thyriaen> | but no |
| 2022-10-21 15:42:58 | <thyriaen> | its not what i want |
| 2022-10-21 15:43:04 | <thyriaen> | i want |
| 2022-10-21 15:43:06 | <geekosaur> | you could also factor the f,m part out but I imagine this is simpler for now |
| 2022-10-21 15:43:16 | <thyriaen> | (f, m) <- [(W.shift, 0)] |
| 2022-10-21 15:43:25 | <thyriaen> | thats what i want |
| 2022-10-21 15:43:35 | <thyriaen> | then the usual shift operation is done without pressing shift |
| 2022-10-21 15:44:19 | <thyriaen> | ok that's nice |
| 2022-10-21 15:44:46 | <thyriaen> | geekosaur, if you would be willing i would like to make it simpler for me |
| 2022-10-21 15:44:53 | <thyriaen> | so i understand the whole thing that is written |
| 2022-10-21 15:45:34 | <thyriaen> | first let me get rid of the zip and use [(xK_w, 0), (xK_r, 1)] instead |
| 2022-10-21 15:46:16 | <geekosaur> | https://paste.tomsmeding.com/OevjiaOl |
| 2022-10-21 15:46:25 | <geekosaur> | compare to yours |
| 2022-10-21 15:47:02 | <thyriaen> | sure because m is always 0 now with my change |
| 2022-10-21 15:47:04 | <thyriaen> | so no need for it |
| 2022-10-21 15:47:19 | <geekosaur> | and similarly no need for f because it's alkways W.shift |
| 2022-10-21 15:47:50 | <thyriaen> | yea it is always the same |
| 2022-10-21 15:47:54 | <thyriaen> | so you can hard code it |
| 2022-10-21 15:47:56 | <thyriaen> | makes sense |
| 2022-10-21 15:49:00 | <thyriaen> | you change the "wrong" one xD |
| 2022-10-21 15:49:09 | <geekosaur> | ? |
| 2022-10-21 15:49:11 | <thyriaen> | i don't want to change that |
| 2022-10-21 15:49:27 | <geekosaur> | I removed shiftMask entirely, it just uses modm |
| 2022-10-21 15:49:32 | <thyriaen> | https://paste.tomsmeding.com/QbP2EqRE |
| 2022-10-21 15:50:07 | <geekosaur> | oh, yes, didn't edit the list comp you wanted, sorry |
| 2022-10-21 15:50:15 | <thyriaen> | no problem :p i did |
| 2022-10-21 15:50:36 | <thyriaen> | now - all i need to understand is :: screenWorkspace sc >>= flip whenJust (windows . W.shift) |
| 2022-10-21 15:50:54 | <thyriaen> | because the rest i do understand now |
| 2022-10-21 15:52:08 | <thyriaen> | and i need to read up on list comprehensions and i am golden |
| 2022-10-21 15:52:36 | <geekosaur> | [21 15:25:12] <geekosaur> and >>= , hm, in this case you can think of it as something like a unix pipe. it runs the IO expression "screenWorkspace sc" and sends the result to "flip whenJust (windows . f)" which might be better understood as "\x -> whenJust x (windows . f)" |
| 2022-10-21 15:53:37 | <geekosaur> | whenJust does something when the value it's passed is (Just x) as opposed to Nothing |
| 2022-10-21 15:53:59 | <thyriaen> | okay why can it be nothing sometimes ? |
| 2022-10-21 15:54:41 | <thyriaen> | and what is windows. W.shift |
| 2022-10-21 15:54:42 | <geekosaur> | screenWorkspace can be invoked on a nonexistent screen; (say you press mod-r but you have only 2 screens) |
| 2022-10-21 15:54:58 | <thyriaen> | ok |
| 2022-10-21 15:55:04 | <geekosaur> | \x -> windows (W.shift x) |
| 2022-10-21 15:55:24 | <geekosaur> | `windows` is the xmonad function that performs window and workspace updates |
| 2022-10-21 15:55:35 | <thyriaen> | so it shifts the window to sc ? |
| 2022-10-21 15:55:43 | <geekosaur> | W.shift moves a window to a different workspace |
| 2022-10-21 15:56:00 | <geekosaur> | it shifts the window to the workspace currently focused on screen sc |
| 2022-10-21 15:56:01 | <thyriaen> | ok |
| 2022-10-21 15:56:12 | <thyriaen> | ah |
| 2022-10-21 15:56:14 | <thyriaen> | perfect |
| 2022-10-21 15:56:17 | <thyriaen> | thats even what i want ! |
| 2022-10-21 15:56:28 | <geekosaur> | and screenWorkspace is what takes a screen and produces a workspace |
| 2022-10-21 15:57:11 | <thyriaen> | ah (!) |
| 2022-10-21 15:57:12 | <thyriaen> | ok |
| 2022-10-21 15:57:19 | <thyriaen> | and now i also understand list comprehensions |
| 2022-10-21 15:57:38 | <thyriaen> | iLike |
| 2022-10-21 15:57:40 | <thyriaen> | thanks so much |
| 2022-10-21 15:59:24 | <thyriaen> | geekosaur, can i use spawnOn "1_3" ? |
| 2022-10-21 15:59:58 | <thyriaen> | or is there some way of saying spawnOn screenNumber 2 "3" ? |
| 2022-10-21 16:00:29 | <thyriaen> | because 1_3 doesn't seem to work |
| 2022-10-21 16:00:51 | × | liskin[m] quits (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle) |
| 2022-10-21 16:02:28 | <geekosaur> | `spawnOn (marshal (S 1) "3") …` is technically how you do it, but I would have expected the first one to work too |
| 2022-10-21 16:02:40 | → | liskin[m] joins (~liskinmat@2001:470:69fc:105::768) |
| 2022-10-21 16:02:44 | <geekosaur> | it may be possible to say just `1` instead of `(S 1)` |
| 2022-10-21 16:03:18 | <thyriaen> | hmm calling the marshal for this might be a bit overkill - sheriff should be enough |
| 2022-10-21 16:04:04 | <thyriaen> | what is there is no S 1 - does it then get put into "0_3" ? |
| 2022-10-21 16:04:12 | <geekosaur> | actually it should be `marshall` because it's misspelled, which always gives me an annoying itch |
| 2022-10-21 16:04:33 | <geekosaur> | it doesn't know, I think |
| 2022-10-21 16:04:56 | <geekosaur> | if you wanted to watch out for that you'd have to use `countScreens` and verify it's in range yourself |
| 2022-10-21 16:05:22 | <geekosaur> | this is one reason I've never used IndependentScreens, you kinda lose if you don't actually have multiple screens |
| 2022-10-21 16:06:21 | <thyriaen> | sigh |
| 2022-10-21 16:08:43 | <thyriaen> | the marshall thing doesn't work |
| 2022-10-21 16:10:26 | <geekosaur> | doesn't work how? did you add manageSpawn to your manageHook? |
| 2022-10-21 16:10:49 | <thyriaen> | je |
| 2022-10-21 16:11:03 | <geekosaur> | is the program you're spawning something like a terminal or browser that plays games with _NET_WM_PID? |
| 2022-10-21 16:11:28 | <thyriaen> | https://paste.tomsmeding.com/lOT3FUM6 |
| 2022-10-21 16:12:01 | <thyriaen> | i want to change line 130 to spawn on my second screen on 6 instead of first screen on 6 |
| 2022-10-21 16:12:48 | <geekosaur> | flatpak processes run in their own process space, spawnOn won't work |
| 2022-10-21 16:13:01 | <geekosaur> | s/process space/pid space/ |
| 2022-10-21 16:13:03 | <geekosaur> | iirc |
| 2022-10-21 16:13:39 | <geekosaur> | spawnOn relies on _NET_WM_PID being useful, which it too often isn't |
| 2022-10-21 16:13:53 | <thyriaen> | spawnon 6 works fine |
| 2022-10-21 16:13:59 | <thyriaen> | with both 1 monitor or 2 |
| 2022-10-21 16:14:06 | <geekosaur> | interesting |
| 2022-10-21 16:14:07 | <thyriaen> | just not with spawning on the 2nd |
| 2022-10-21 16:14:17 | <geekosaur> | then the other should work as well |
| 2022-10-21 16:14:39 | <thyriaen> | "1_6" you mean ? |
| 2022-10-21 16:14:41 | <geekosaur> | either "1_6" or (marshall (S 1) "6") |
| 2022-10-21 16:15:57 | <thyriaen> | but for some reason it just ignores what i do |
| 2022-10-21 16:16:03 | <thyriaen> | i changed it to 1_2 |
| 2022-10-21 16:16:10 | <geekosaur> | the advantage of using marshall is that you can override how the virtual to physical mapping works (for example, you might want to use _ in a workspace name) and marshall will keep working |
| 2022-10-21 16:16:11 | <thyriaen> | and it gets started into 0_6 |
| 2022-10-21 16:16:30 | <geekosaur> | uh |
| 2022-10-21 16:16:43 | <geekosaur> | I just noticed line 90 |
All times are in UTC.