Logs: freenode/#xmonad
| 2021-01-22 17:14:11 | <geekosaur> | this is why the hack to disable the focus change message in ewmh |
| 2021-01-22 17:14:17 | <ttmx> | Mine also worked it seems. |
| 2021-01-22 17:14:43 | <ttmx> | Whats that "." in yours mc47? |
| 2021-01-22 17:15:29 | <mc47> | geekosaur but somehow it's still managing to steal the focus in my setup |
| 2021-01-22 17:15:44 | <mc47> | ttmx it's the good-old function composition! |
| 2021-01-22 17:15:54 | <ttmx> | Isn't that $ ? |
| 2021-01-22 17:16:12 | <geekosaur> | $ is just low precedence application to save parens |
| 2021-01-22 17:16:18 | <geekosaur> | composition is something else |
| 2021-01-22 17:16:20 | <mc47> | Not quite, $ changes the precedence |
| 2021-01-22 17:16:52 | × | Rockj quits (~rockj@2001:67c:550:feed::1) (Ping timeout: 260 seconds) |
| 2021-01-22 17:18:26 | <geekosaur> | anyway re spotify in a manageHook, that doesn't work because it's also a browser window and doesn't set its title/class until it renders, which is too late. need XMonad.Hooks.DynamicProperty |
| 2021-01-22 17:18:49 | → | seschwar joins (~seschwar@unaffiliated/seschwar) |
| 2021-01-22 17:19:24 | <geekosaur> | browsers kinda suck… but they're more or less what the web forces them to be. |
| 2021-01-22 17:19:43 | <ttmx> | Well, but it works for discord xD |
| 2021-01-22 17:20:22 | <ttmx> | I have a love hate relationship with browsers tbh |
| 2021-01-22 17:21:10 | <geekosaur> | discord may force the issue. spotify is known not to |
| 2021-01-22 17:21:21 | <geekosaur> | this question comes up every couple weeks |
| 2021-01-22 17:22:29 | <geekosaur> | every so often I consider using ManageDebug to see what the window initially claims to be, but I don't use spotify so I don't care enough and my machine is overloaded as it is |
| 2021-01-22 17:23:52 | <geekosaur> | and I more than half expect it to come up with some 32 digit hex string that changes with every version |
| 2021-01-22 17:24:01 | <ttmx> | Right |
| 2021-01-22 17:24:13 | × | ADG1089__ quits (~aditya@122.163.160.223) (Remote host closed the connection) |
| 2021-01-22 17:24:17 | <ttmx> | It werks on i3, because I have a special lib that I use on spoopify |
| 2021-01-22 17:24:33 | <ttmx> | This is my spotify launch command |
| 2021-01-22 17:24:35 | <ttmx> | LD_PRELOAD=/usr/lib/libcurl.so.3:/home/tiago/Documents/src/spotifywm/spotifywm.so /opt/spotify/spotify |
| 2021-01-22 17:24:39 | → | ADG1089__ joins (~aditya@122.163.160.223) |
| 2021-01-22 17:25:00 | <ttmx> | So it should fix that issue? Since it does it on i3? |
| 2021-01-22 17:25:21 | <geekosaur> | oh, fascinating. I bet that spotifywm.so does fix it |
| 2021-01-22 17:25:37 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 2021-01-22 17:25:52 | <ttmx> | Huh |
| 2021-01-22 17:26:04 | <ttmx> | I got it to work with a higher case S in "spotify" |
| 2021-01-22 17:26:05 | <ttmx> | Nice! |
| 2021-01-22 17:28:32 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 2021-01-22 17:36:34 | <ttmx> | Aand another question |
| 2021-01-22 17:37:06 | <ttmx> | Is there a way to have a "SpawnOnce" that kills the process when xmonad restarts, and then starts it again? |
| 2021-01-22 17:38:24 | <mc47> | spawnPipe should do that |
| 2021-01-22 17:38:43 | <mc47> | or just spawn |
| 2021-01-22 17:38:43 | <geekosaur> | only if the other side is reading from the pipe |
| 2021-01-22 17:38:50 | <mc47> | yeah right :) |
| 2021-01-22 17:39:00 | <geekosaur> | because what "kills"" the process is its stdin returning EOF on read |
| 2021-01-22 17:39:38 | <ttmx> | Will "spawn" not try to spawn a new one every time it restarts and not kill the last one? |
| 2021-01-22 17:39:56 | <mc47> | yes my bad, I was distracted xD |
| 2021-01-22 17:40:46 | <mc47> | ttmx is there a pipe? |
| 2021-01-22 17:40:50 | <ttmx> | Noppes. |
| 2021-01-22 17:40:53 | <ttmx> | Its just the systray |
| 2021-01-22 17:40:55 | <mc47> | alright |
| 2021-01-22 17:41:50 | <mc47> | there is `spawnStatusBarAndRemember` in DynamicLog, that we're using for status bars, but you could spawn a systray with it |
| 2021-01-22 17:42:23 | <ttmx> | Would this be cool? spawnStatusBarAndRemember "trayer" |
| 2021-01-22 17:43:05 | <mc47> | it comes with `cleanupStatusBars` that cleans the processes from the previous session |
| 2021-01-22 17:43:31 | <mc47> | so it'll be something like cleanupStatusBars >> spawnStatusBarAndRemember "trayer" |
| 2021-01-22 17:44:03 | <mc47> | what yould you need to restart a systray though ? ttmx |
| 2021-01-22 17:44:21 | <mc47> | (it'll only work if you're using the git version of xmonad-contrib) |
| 2021-01-22 17:45:15 | <ttmx> | I'm just modifying it |
| 2021-01-22 17:45:26 | <ttmx> | so updates on refresh are nice |
| 2021-01-22 17:46:53 | <ttmx> | Uhh, what is the >> ? |
| 2021-01-22 17:47:22 | <geekosaur> | it chains actions together |
| 2021-01-22 17:47:53 | <ttmx> | That seems to work! |
| 2021-01-22 17:47:59 | <mc47> | It's what happens under the hood when you write `do ... ' (>> and >>=) |
| 2021-01-22 17:48:30 | <geekosaur> | @redo cleanupStatusBars >> spawnStatusBarAndRemember "trayer" |
| 2021-01-22 17:48:30 | <lambdabot> | Maybe you meant: undo todo do |
| 2021-01-22 17:48:45 | <geekosaur> | @do cleanupStatusBars >> spawnStatusBarAndRemember "trayer" |
| 2021-01-22 17:48:45 | <lambdabot> | do { cleanupStatusBars; spawnStatusBarAndRemember "trayer"} |
| 2021-01-22 17:51:25 | <ttmx> | Aaaand what about gaps? How would I get that to werk? |
| 2021-01-22 17:53:32 | <mc47> | Between the windows? |
| 2021-01-22 17:54:35 | <mc47> | XMonad.Layout.Spacing should have what you want |
| 2021-01-22 18:00:19 | <ttmx> | Between the windows yes! |
| 2021-01-22 18:00:35 | <ttmx> | Right, I wanna be able to toggle the spacing, how would I do that? |
| 2021-01-22 18:04:44 | <mc47> | you could add the function `toggleWindowSpacingEnabled` to a keybinding |
| 2021-01-22 18:05:02 | <ttmx> | Hmm, and what would I add to the layout part? |
| 2021-01-22 18:06:08 | <mc47> | You'd just combine it like you did with toggleStruts and the other stuff |
| 2021-01-22 18:07:11 | <mc47> | spacingRaw False (Border 0 0 0 0) True (Border 10 10 10 10) True . smartBorders . avoidStruts $ tiled ||| Mirror tiled ||| Full |
| 2021-01-22 18:08:01 | <mc47> | I forgot why I had that exact combination in spacingRaw, but the documentation for the module is pretty good, so you'll probably find what fits your needs |
| 2021-01-22 18:09:10 | <ttmx> | Right, what are those parameters? |
| 2021-01-22 18:09:18 | <ttmx> | I wanna try to copy my i3's spacing xD |
| 2021-01-22 18:09:31 | <ttmx> | Which is just this |
| 2021-01-22 18:09:33 | <ttmx> | gaps inner 15 |
| 2021-01-22 18:09:33 | <ttmx> | gaps outer 15 |
| 2021-01-22 18:12:22 | <mc47> | spacingRaw False (Border 0 0 0 0) True (Border 10 10 10 10) True . gaps [(U, 10), (R, 10), (L, 10), (D, 10)] . .... |
| 2021-01-22 18:12:35 | <mc47> | you'd also need to import XMonad.Layout.Gaps |
| 2021-01-22 18:13:07 | <mc47> | I forgot about the parameters exactly, but that combination made it work for me (and I wanted the same as you) |
| 2021-01-22 18:13:11 | <mc47> | ofc replace 10 with 15 |
| 2021-01-22 18:17:37 | <ttmx> | Uhh I'm not sure what I did, but gaps don't seem to be changing? |
| 2021-01-22 18:17:41 | <ttmx> | Whenever I change the config? |
| 2021-01-22 18:18:15 | <mc47> | what do you mean? |
| 2021-01-22 18:18:31 | <ttmx> | Its almost as if its not recompiling? |
| 2021-01-22 18:18:35 | <ttmx> | But it doesnt spit out an error |
| 2021-01-22 18:18:49 | → | Rockj joins (~rockj@2001:67c:550:feed::1) |
| 2021-01-22 18:18:53 | × | xaltsc quits (~xaltsc@unaffiliated/xaltsc) (Ping timeout: 272 seconds) |
| 2021-01-22 18:18:57 | <Liskni_si> | you may need to mod-space to reset the layout |
| 2021-01-22 18:19:28 | <Liskni_si> | when you only change the constants, but not the type of the layout, xmonad will keep the old layout after restart |
| 2021-01-22 18:19:33 | <geekosaur> | mod-shift-space |
| 2021-01-22 18:19:45 | <geekosaur> | mod-space switches to the next layout |
| 2021-01-22 18:19:52 | <Liskni_si> | (when the type changes, e.g. when adding modifiers, xmonad is unable to restore the layout, so it's forced to reset to default) |
| 2021-01-22 18:19:57 | <Liskni_si> | geekosaur: oh, right, indeed |
| 2021-01-22 18:21:42 | <ttmx> | That makes sense geekosaur, thank you |
| 2021-01-22 18:22:54 | <geekosaur> | and the reason it restores the layout is things like the divider between the master and slave areas, number of master windows, etc. that can be changed dynamically (and for that matter whether your spacing is enabled or not) |
| 2021-01-22 18:23:50 | <geekosaur> | you usually want that to survive a mod-q, so it tries to restore the layout on restart and only resets it if the new layout has the wrong type |
| 2021-01-22 18:32:53 | <Liskni_si> | and most importantly the state of Choose/NewSelect, so that your Full workspaces don't become Tall |
| 2021-01-22 18:45:55 | → | novas0x2a joins (~blah@157-131-126-102.fiber.dynamic.sonic.net) |
| 2021-01-22 18:46:24 | <ttmx> | Uhhh |
| 2021-01-22 18:46:31 | <ttmx> | myLayout = spacingRaw True (Border 0 0 0 0) True (Border 15 15 15 15) True . gaps [(U, 15), (R, 15), (L, 15), (D, 15)] . smartBorders . avoidStruts $ tiled ||| Mirror tiled ||| Full |
All times are in UTC.