2023-03-17 00:20:23 +0100 | catman | (~catman@user/catman) (Quit: WeeChat 3.8) |
2023-03-17 00:31:25 +0100 | catman | (~catman@user/catman) |
2023-03-17 00:47:00 +0100 | catman | (~catman@user/catman) (Ping timeout: 255 seconds) |
2023-03-17 01:31:09 +0100 | thunderrd | (~thunderrd@183.182.111.130) (Ping timeout: 256 seconds) |
2023-03-17 01:53:18 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-03-17 02:39:42 +0100 | catman | (~catman@user/catman) |
2023-03-17 02:57:31 +0100 | chomwitt | (~chomwitt@2a02:587:7a19:9200:1ac0:4dff:fedb:a3f1) (Ping timeout: 246 seconds) |
2023-03-17 02:59:49 +0100 | catman | (~catman@user/catman) (Ping timeout: 276 seconds) |
2023-03-17 03:09:05 +0100 | beastwick | (~beastwick@pool-74-102-103-88.nwrknj.fios.verizon.net) (WeeChat 3.0) |
2023-03-17 03:17:07 +0100 | bla | (~bla@83.24.152.76.ipv4.supernova.orange.pl) (Ping timeout: 250 seconds) |
2023-03-17 03:18:00 +0100 | bla | (~bla@79.191.245.1.ipv4.supernova.orange.pl) |
2023-03-17 03:47:18 +0100 | bla | (~bla@79.191.245.1.ipv4.supernova.orange.pl) (Ping timeout: 268 seconds) |
2023-03-17 03:52:08 +0100 | burp_ | (~quassel@hedgewars/sysadmin/burp) (Ping timeout: 252 seconds) |
2023-03-17 03:52:21 +0100 | hightower3 | (~hightower@141-136-194-244.dsl.iskon.hr) |
2023-03-17 03:54:52 +0100 | bla | (~bla@79.191.245.1.ipv4.supernova.orange.pl) |
2023-03-17 03:55:04 +0100 | hightower2 | (~hightower@20-10.dsl.iskon.hr) (Ping timeout: 276 seconds) |
2023-03-17 04:03:07 +0100 | banc | (~banc@154.47.24.197) (Ping timeout: 248 seconds) |
2023-03-17 04:19:22 +0100 | td_ | (~td@i53870903.versanet.de) (Ping timeout: 268 seconds) |
2023-03-17 04:20:40 +0100 | banc | (~banc@154.47.24.197) |
2023-03-17 04:21:08 +0100 | td_ | (~td@i5387092E.versanet.de) |
2023-03-17 04:24:33 +0100 | bla | (~bla@79.191.245.1.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds) |
2023-03-17 04:24:44 +0100 | bla | (~bla@79.191.70.127.ipv4.supernova.orange.pl) |
2023-03-17 06:05:14 +0100 | srk | (~sorki@user/srk) (Remote host closed the connection) |
2023-03-17 06:05:35 +0100 | srk | (~sorki@user/srk) |
2023-03-17 07:03:15 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2023-03-17 07:10:54 +0100 | derfflinger | (~derffling@user/derfflinger) |
2023-03-17 07:18:59 +0100 | chomwitt | (~chomwitt@2a02:587:7a19:9200:1ac0:4dff:fedb:a3f1) |
2023-03-17 07:26:59 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
2023-03-17 07:29:27 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
2023-03-17 08:04:41 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) |
2023-03-17 08:14:12 +0100 | mncheck | (~mncheck@193.224.205.254) |
2023-03-17 08:57:51 +0100 | fnurglewitz | (uid263868@id-263868.lymington.irccloud.com) |
2023-03-17 09:26:06 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving) |
2023-03-17 09:43:24 +0100 | derfflinger | (~derffling@user/derfflinger) (Remote host closed the connection) |
2023-03-17 09:43:43 +0100 | derfflinger | (~derffling@user/derfflinger) |
2023-03-17 10:38:06 +0100 | derfflinger | (~derffling@user/derfflinger) (Remote host closed the connection) |
2023-03-17 10:39:26 +0100 | derfflinger | (~derffling@user/derfflinger) |
2023-03-17 11:00:19 +0100 | Superficial | (~user@gtsat.inesc-id.pt) |
2023-03-17 11:01:48 +0100 | Superficial | (~user@gtsat.inesc-id.pt) () |
2023-03-17 12:15:44 +0100 | hightower3 | (~hightower@141-136-194-244.dsl.iskon.hr) (Ping timeout: 246 seconds) |
2023-03-17 12:46:47 +0100 | hightower2 | (~hightower@85.94.71.188) |
2023-03-17 13:02:23 +0100 | derfflinger | (~derffling@user/derfflinger) (Remote host closed the connection) |
2023-03-17 13:02:41 +0100 | derfflinger | (~derffling@user/derfflinger) |
2023-03-17 13:58:35 +0100 | werneta | (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
2023-03-17 15:52:23 +0100 | derfflinger | (~derffling@user/derfflinger) (Quit: Leaving) |
2023-03-17 17:07:24 +0100 | fnurglewitz | (uid263868@id-263868.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-03-17 17:19:57 +0100 | ft | (~ft@p3e9bc443.dip0.t-ipconnect.de) |
2023-03-17 17:21:16 +0100 | Tom | (~Tom@151.246.204.197) |
2023-03-17 17:22:03 +0100 | Tom | Lensci |
2023-03-17 17:22:54 +0100 | <Lensci> | Is there anyway to make xmonad run a script only when you press the specific mouse button on an empty workspace |
2023-03-17 17:26:25 +0100 | <geekosaur> | yes but it won't be particularly easy |
2023-03-17 17:27:42 +0100 | <Lensci> | I thought there would be an easy way to check if there is a window or not then either abort it or go to something like const $ "xdotool [whatever]" |
2023-03-17 17:28:33 +0100 | <geekosaur> | actually I may be wrong since it's passed the window clicked on; I'll have to check what happens if there isn't one |
2023-03-17 17:28:54 +0100 | <Lensci> | nice |
2023-03-17 17:34:02 +0100 | <geekosaur> | what happens is we ungrab the button, so we dont receive it in that case 😞 |
2023-03-17 17:38:33 +0100 | <geekosaur> | well. should still be possible without doing a grab, by adjusting `rootMask` and catching it in `handleEventHook` |
2023-03-17 17:39:22 +0100 | sagax | (~sagax_nb@user/sagax) |
2023-03-17 17:40:02 +0100 | <geekosaur> | wait, `rootMask` already has `buttonPressMask`. so you can do it in `handleEventHook`. just make sure it's on the root window |
2023-03-17 17:41:47 +0100 | catman | (~catman@user/catman) |
2023-03-17 17:47:21 +0100 | <geekosaur> | https://paste.tomsmeding.com/FZh6ZIIn something like this |
2023-03-17 17:47:48 +0100 | <geekosaur> | I cheated slightly, assuming if it's the root window then there are no windows (this is true for almost all layouts) |
2023-03-17 17:48:07 +0100 | <geekosaur> | if you actually need the full one that'll be a little more work |
2023-03-17 17:52:06 +0100 | catman | (~catman@user/catman) (Ping timeout: 255 seconds) |
2023-03-17 18:01:28 +0100 | <Solid> | Lensci: if it doesn't have to be a mouse button then there is plenty functionality of doing *something* on an empty workspace with e.g. [XMonad.Actions.TopicSpace]( https://hackage.haskell.org/package/xmonad-contrib/docs/XMonad-Actions-TopicSpace.html ) or [XMonad.Actions.DynamicProjects]( https://hackage.haskell.org/package/xmonad-contrib/docs/XMonad-Actions-DynamicProjects.html ) |
2023-03-17 18:02:01 +0100 | <Lensci> | It must be, unfortunately |
2023-03-17 18:12:29 +0100 | <Lensci> | I am new to haskell and xmonad in general so this may seem stupid but can I get the number of windows in focused workspace then let the action run if it is equal to 0? I saw something like this while looking for simpler/less painful ways to do it `withWindowSet (pure . length . W.index)` |
2023-03-17 18:18:31 +0100 | <geekosaur> | pithy we don't export `with` or it'd be `withWindowSet (W.with True (const False))` |
2023-03-17 18:18:37 +0100 | <geekosaur> | *pity |
2023-03-17 18:22:08 +0100 | <geekosaur> | `withWindowSet (isJust . W.peek)` |
2023-03-17 18:22:35 +0100 | <geekosaur> | actually you want `isNothing` there, so it's `True` for an empty ws |
2023-03-17 18:23:03 +0100 | <geekosaur> | that could then be added to the code I gave you, as part of the conditional that checks for the root window |
2023-03-17 18:23:21 +0100 | <geekosaur> | line 5 |
2023-03-17 18:23:35 +0100 | <geekosaur> | hm, no, needs to be in X |
2023-03-17 18:24:18 +0100 | <geekosaur> | `empty <- withWindowSet (isNothing . W.peek)` then line 5 (which becomes line 6) is `if w == rootw && empty then` |
2023-03-17 18:25:55 +0100 | <geekosaur> | although at that point the root window check is redundant |
2023-03-17 18:26:40 +0100 | <geekosaur> | I think I'd rewire so the WindowSet check, which is more expensive, is done only when the click is on the root window |
2023-03-17 18:27:16 +0100 | <geekosaur> | not that it's very expensive |
2023-03-17 18:30:31 +0100 | <geekosaur> | https://paste.tomsmeding.com/KBzENBNl |
2023-03-17 18:31:13 +0100 | <geekosaur> | note that I still haven't tested this |
2023-03-17 18:35:16 +0100 | <geekosaur> | well, I am now and it has errors. hold on |
2023-03-17 18:39:31 +0100 | <geekosaur> | https://paste.tomsmeding.com/SuWOf1iZ |
2023-03-17 18:51:07 +0100 | <Lensci> | odd it compiled successfully but it doesn't seem to do anything when I run it, just putting it on layout hook and defining the mouse event isn't enough? |
2023-03-17 18:52:15 +0100 | <geekosaur> | layout hook? I'd expect that to throw a type error. it's a handleEventHook |
2023-03-17 18:52:43 +0100 | <geekosaur> | and "defining the mouse event" is editing line 5 |
2023-03-17 18:52:53 +0100 | <geekosaur> | where I have `spawn …` |
2023-03-17 18:53:26 +0100 | <geekosaur> | mouse presses when there's no active window never reach the normal mouse event handler |
2023-03-17 19:05:58 +0100 | <Lensci> | oh wow it works, thank you very much |
2023-03-17 19:06:18 +0100 | <Lensci> | I think I understood about 10% of what you said but still managed to get by somehow |
2023-03-17 19:08:26 +0100 | <Lensci> | it seems to trigger on every mouse click, can I just modify it to do it only on right click? |
2023-03-17 20:01:06 +0100 | Lensci | (~Tom@151.246.204.197) (Quit: Client closed) |
2023-03-17 23:52:23 +0100 | catman | (~catman@user/catman) |