Logs: liberachat/#xmonad
| 2022-03-24 17:25:41 | <Solid> | iqubic: you either install via stack (as on other OSes), build with the flake (no idea about that one) or wait until NixOS has finished upgrading to stackage lts-19 (not sure how far along that is, but we're in there) |
| 2022-03-24 17:29:41 | → | Benzi-Junior joins (~BenziJuni@dsl-149-64-179.hive.is) |
| 2022-03-24 17:40:58 | <CodeBitCookie[m]> | geekosaur: I am still confused, sorry. I do not understand Haskell that much and I did import XMonad.Hooks.ToggleHook, however, I do not understand what to do next. |
| 2022-03-24 17:41:21 | → | nomadxx3 joins (~lanomadx@69.167.36.244) |
| 2022-03-24 17:41:37 | × | nomadxxxx3 quits (~lanomadx@69.167.36.76) (Ping timeout: 256 seconds) |
| 2022-03-24 17:42:00 | <CodeBitCookie[m]> | you sent me a Foldr thing, was that message for me? If so, what does that have to do with the problem? |
| 2022-03-24 17:43:09 | <geekosaur> | no, that was showing what the bot you were trying to talk to does |
| 2022-03-24 17:43:25 | <geekosaur> | and I think you want to talk to fizzie as they suggested toggleHook |
| 2022-03-24 17:47:27 | <fizzie> | You'd use ToggleHook a little differently. The way it works is, you define "named" operations in advance, and then can use hookNext to execute one of them on the next newly opened window. |
| 2022-03-24 17:47:31 | <fizzie> | So for your use case, you'd add something like `toggleHook "toX" (doShift "X")` to make an action to send a window to workspace X, and then for your key binding, something like `hookNext "toX" True >> spawn "a_thing"`. |
| 2022-03-24 17:47:48 | <fizzie> | Also that's all entirely hypothetical, I haven't tried it. |
| 2022-03-24 17:48:30 | <fizzie> | The toggleHook would be part of your configuration's manageHook, that is. |
| 2022-03-24 17:49:20 | <abastro[m]> | The foldr & abc thing was quite a magic to begin with |
| 2022-03-24 17:49:43 | <CodeBitCookie[m]> | Ohhhh, yeah that was nice. |
| 2022-03-24 17:50:57 | <CodeBitCookie[m]> | fizzie: I don't know Haskell much, can you kindly tell me what to do after Importing ToggleHook? I did not understand. If I change my ManageHook, it moves the window to a specific workspace EVERY TIME I spawn that program. I only want it once on startup. |
| 2022-03-24 17:52:10 | <CodeBitCookie[m]> | Ooooh, let me try that, thanks. |
| 2022-03-24 17:54:05 | <CodeBitCookie[m]> | I get an error: |
| 2022-03-24 17:54:19 | <CodeBitCookie[m]> | Couldn't match type `Query (Endo WindowSet)` with `Bool` |
| 2022-03-24 17:54:19 | <CodeBitCookie[m]> | Expected type: Bool |
| 2022-03-24 17:54:19 | <CodeBitCookie[m]> | Actual type: ManageHook |
| 2022-03-24 17:54:58 | → | chomwitt joins (~chomwitt@2a02:587:dc0d:b200:f874:1c07:de06:7cf8) |
| 2022-03-24 17:55:51 | <CodeBitCookie[m]> | where I put: ``hookNext myBrowser (doShift "6")`` in my StartupHook |
| 2022-03-24 17:55:59 | <CodeBitCookie[m]> | fizzie: ^ |
| 2022-03-24 17:56:04 | × | iqubic quits (~iqubic@2601:602:9502:c70:742a:b30a:543c:2639) (Quit: Client closed) |
| 2022-03-24 17:56:26 | <CodeBitCookie[m]> | oh wait nvm |
| 2022-03-24 17:56:26 | <fizzie> | Like I said: "-- you define 'named' operations in advance --". |
| 2022-03-24 17:56:27 | <CodeBitCookie[m]> | sorry |
| 2022-03-24 17:56:38 | <CodeBitCookie[m]> | let me try that again. |
| 2022-03-24 17:56:40 | <fizzie> | But I think I missed the context of doing it on *startup*. I don't think the approach will really work for that, sadly. |
| 2022-03-24 17:56:46 | → | iqubic joins (~iqubic@2601:602:9502:c70:742a:b30a:543c:2639) |
| 2022-03-24 17:56:51 | <fizzie> | Because the ordering in which the windows appear is pretty unpredictable. |
| 2022-03-24 17:59:18 | <geekosaur> | you just need to do it the way I said the other day |
| 2022-03-24 17:59:44 | <geekosaur> | use threadDelay after spawn/spawnOnce |
| 2022-03-24 18:00:50 | <geekosaur> | https://github.com/geekosaur/xmonad.hs/blob/skkukuk/xmonad.hs#L135-L146 note line 139 |
| 2022-03-24 18:01:22 | <geekosaur> | import Control.Concurrent for threadDelay and remember that itworks in microseconds (that bites even experts occasionally) |
| 2022-03-24 18:01:52 | <CodeBitCookie[m]> | fizzie: OH, It worked! Yayyy. Although, my Manage Hook is now looking something like: |
| 2022-03-24 18:02:11 | <CodeBitCookie[m]> | <+> toggleHook "shiftTo1" (doShift "1") |
| 2022-03-24 18:02:11 | <CodeBitCookie[m]> | <+> toggleHook "shiftTo2" (doShift "2") |
| 2022-03-24 18:02:11 | <CodeBitCookie[m]> | <+> toggleHook "shiftTo3" (doShift "3") |
| 2022-03-24 18:02:11 | <CodeBitCookie[m]> | ... |
| 2022-03-24 18:02:32 | <CodeBitCookie[m]> | Is there a more elegant way? |
| 2022-03-24 18:03:04 | <fizzie> | `composeAll` + a list comprehension, perhaps. |
| 2022-03-24 18:04:21 | <fizzie> | composeAll [toggleHook ("shiftTo" ++ (show i)) (doShift (show i)) | i <- [1..9]] -- or something along those lines. If it does actually work for you. Slightly surprised though that the order would be so predictable. |
| 2022-03-24 18:05:24 | <CodeBitCookie[m]> | Actually, with more than one call on |
| 2022-03-24 18:05:34 | <CodeBitCookie[m]> | * call on startup, it goes back to the old behaviour. |
| 2022-03-24 18:05:57 | <CodeBitCookie[m]> | so with something like: |
| 2022-03-24 18:06:14 | <CodeBitCookie[m]> | hookNext "shiftTo2" True >> spawn myBrowser |
| 2022-03-24 18:06:14 | <CodeBitCookie[m]> | hookNext "shiftTo9" True >> spawn "gtk-pipe-viewer" |
| 2022-03-24 18:06:14 | <CodeBitCookie[m]> | hookNext "shiftTo1" True >> spawn "emacs --daemon && emacsclient -c" |
| 2022-03-24 18:06:25 | <CodeBitCookie[m]> | It spawns everything on the current workspace. |
| 2022-03-24 18:06:57 | <fizzie> | Yeah, that's more what I was expecting, because all those `hookNext` operations run well before any of the windows come up, so you'll just get the behavior of the last one. |
| 2022-03-24 18:08:23 | <fizzie> | One possible workaround might be to put all those "shift window type X to workspace Y" rules into a *single* named toggleHook (call it "startup" for example), turn it on in the startupHook (with hookAllNew "startup" True), and then after the windows have spawned (that's the tricky bit; maybe with that threadDelay, or some kind of a timer) turn it off (with hookAllNew "startup" False). |
| 2022-03-24 18:08:47 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-03-24 18:11:17 | <geekosaur> | I'd just stuff a threadDelay 250000 between each of them, then adjust as needed |
| 2022-03-24 18:31:13 | → | mvk joins (~mvk@2607:fea8:5cc3:7e00::7980) |
| 2022-03-24 18:41:43 | → | steve_ joins (~steve@ool-182c2b80.dyn.optonline.net) |
| 2022-03-24 19:24:35 | × | iqubic quits (~iqubic@2601:602:9502:c70:742a:b30a:543c:2639) (Quit: Client closed) |
| 2022-03-24 19:41:03 | → | benin3 joins (~benin@183.82.207.30) |
| 2022-03-24 19:43:17 | × | benin quits (~benin@183.82.207.30) (Ping timeout: 268 seconds) |
| 2022-03-24 19:43:17 | benin3 | is now known as benin |
| 2022-03-24 20:16:28 | × | steve_ quits (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 2022-03-24 20:16:42 | → | steve_ joins (~steve@ool-182c2b80.dyn.optonline.net) |
| 2022-03-24 20:26:57 | → | pentagrade[m] joins (~pentagrad@2001:470:69fc:105::1:e4ae) |
| 2022-03-24 21:50:21 | → | iqubic joins (~iqubic@2601:602:9502:c70:418b:3a0d:9b68:d50c) |
| 2022-03-24 21:54:47 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 2022-03-24 22:40:21 | × | iqubic quits (~iqubic@2601:602:9502:c70:418b:3a0d:9b68:d50c) (Quit: Client closed) |
| 2022-03-24 23:12:55 | × | seschwar quits (~seschwar@user/seschwar) (Quit: :wq) |
| 2022-03-24 23:40:35 | × | benin quits (~benin@183.82.207.30) (Quit: The Lounge - https://thelounge.chat) |
| 2022-03-24 23:48:10 | → | benin joins (~benin@183.82.207.30) |
| 2022-03-25 01:05:13 | → | abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
| 2022-03-25 01:12:08 | × | steve_ quits (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 2022-03-25 01:18:26 | × | chomwitt quits (~chomwitt@2a02:587:dc0d:b200:f874:1c07:de06:7cf8) (Ping timeout: 260 seconds) |
| 2022-03-25 01:49:58 | × | erts quits (~erts@user/erts) (Quit: .) |
| 2022-03-25 02:00:36 | → | iqubic joins (~iqubic@2601:602:9502:c70:d198:df68:f316:33d1) |
| 2022-03-25 02:24:20 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection) |
| 2022-03-25 02:27:14 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-03-25 02:44:59 | <abhixec> | is there a module for seperate number of workspaces for each screen? |
| 2022-03-25 02:51:10 | × | benin quits (~benin@183.82.207.30) (Ping timeout: 272 seconds) |
| 2022-03-25 02:58:30 | → | steve_ joins (~steve@ool-182c2b80.dyn.optonline.net) |
| 2022-03-25 03:02:53 | → | benin joins (~benin@183.82.207.30) |
| 2022-03-25 03:03:14 | × | banc- quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 252 seconds) |
| 2022-03-25 03:08:09 | × | benin quits (~benin@183.82.207.30) (Quit: Ping timeout (120 seconds)) |
| 2022-03-25 03:11:47 | → | benin joins (~benin@183.82.207.30) |
| 2022-03-25 03:21:04 | × | benin quits (~benin@183.82.207.30) (Quit: Ping timeout (120 seconds)) |
| 2022-03-25 03:22:58 | → | banc joins (banc@gateway/vpn/airvpn/banc) |
| 2022-03-25 03:25:56 | → | benin joins (~benin@183.82.207.30) |
| 2022-03-25 03:27:27 | <abastro[m]> | Oh, the buggy app was just dumb, it was spawning extra windows for no apparent reason |
| 2022-03-25 03:31:00 | × | bla quits (~bla@79.191.246.124.ipv4.supernova.orange.pl) (Ping timeout: 240 seconds) |
| 2022-03-25 03:32:20 | → | bla joins (~bla@79.191.153.117.ipv4.supernova.orange.pl) |
| 2022-03-25 03:40:13 | <abastro[m]> | Somehow spawns shadow and edge.. |
| 2022-03-25 03:43:13 | × | benin quits (~benin@183.82.207.30) (Quit: Ping timeout (120 seconds)) |
| 2022-03-25 03:43:33 | → | benin joins (~benin@183.82.207.30) |
| 2022-03-25 03:49:59 | × | mvk quits (~mvk@2607:fea8:5cc3:7e00::7980) (Ping timeout: 256 seconds) |
| 2022-03-25 04:02:59 | <abastro[m]> | It seems like somehow its class name changes after spawning or something. How do I resolve this problem? |
| 2022-03-25 04:03:46 | <abastro[m]> | Can I detect class change? |
| 2022-03-25 04:04:54 | <abastro[m]> | Maybe it is even automatically retiling |
| 2022-03-25 04:12:11 | → | mvk joins (~mvk@2607:fea8:5cc3:7e00::7980) |
| 2022-03-25 04:44:08 | × | twiclo quits (~twiclo@204.14.20.66.static.utbb.net) (Quit: WeeChat 3.4) |
| 2022-03-25 04:48:17 | × | mvk quits (~mvk@2607:fea8:5cc3:7e00::7980) (Ping timeout: 240 seconds) |
| 2022-03-25 05:38:37 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
All times are in UTC.