Logs: liberachat/#xmonad
| 2022-04-28 09:24:25 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 2022-04-28 09:26:11 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 2022-04-28 09:38:59 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds) |
| 2022-04-28 10:07:36 | → | cfricke joins (~cfricke@user/cfricke) |
| 2022-04-28 10:08:58 | × | [Leary] quits (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection) |
| 2022-04-28 10:19:46 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
| 2022-04-28 10:21:39 | → | [Leary] joins (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
| 2022-04-28 10:23:12 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
| 2022-04-28 11:08:13 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-04-28 11:11:07 | × | zawaken quits (~zawaken@user/zawaken) (Quit: ZNC 1.9.x-git-unknown - https://znc.in) |
| 2022-04-28 11:12:10 | → | zawaken joins (~zawaken@user/zawaken) |
| 2022-04-28 11:15:50 | <geekosaur> | gdb unlikley to help in your case |
| 2022-04-28 11:16:13 | <abastro[m]> | :< why? geekosaur |
| 2022-04-28 11:16:30 | <abastro[m]> | Sad.. |
| 2022-04-28 11:16:42 | <geekosaur> | I told you before, by the time you get that invalid closure it's already too late and there won't be a way to trace it back to its source |
| 2022-04-28 11:17:54 | <geekosaur> | xinit /usr/bin/gdb /path/to/xmonad -- /usr/bin/Xephyr :1 (or :2 or something that is not already in use) |
| 2022-04-28 11:18:35 | <Ether[m]> | I would like to create my own swap left function. How do i execute this sequence; |
| 2022-04-28 11:18:35 | <Ether[m]> | 1. sendMessage $ Go R |
| 2022-04-28 11:18:35 | <Ether[m]> | 2. sendMessage $ Swap L |
| 2022-04-28 11:18:35 | <Ether[m]> | 3. sendMessage $ Go R |
| 2022-04-28 11:18:54 | <Ether[m]> | One key bind for all. |
| 2022-04-28 11:19:01 | <Ether[m]> | Impossible? |
| 2022-04-28 11:21:22 | <geekosaur> | you should be able to join them with >> or *>, but you'll have to replace the $ with parentheses |
| 2022-04-28 11:21:45 | <abastro[m]> | do |
| 2022-04-28 11:21:45 | <abastro[m]> | sendMessage (Go R) |
| 2022-04-28 11:21:45 | <abastro[m]> | sendMessage (Swap L) |
| 2022-04-28 11:21:45 | <abastro[m]> | sendMessage (Go R) |
| 2022-04-28 11:21:56 | <geekosaur> | yes |
| 2022-04-28 11:21:57 | <abastro[m]> | A bit too advanced, ye |
| 2022-04-28 11:22:03 | <Ether[m]> | How do i bind? |
| 2022-04-28 11:22:08 | <Ether[m]> | M-l |
| 2022-04-28 11:22:39 | <abastro[m]> | Wdym by bind |
| 2022-04-28 11:22:54 | <Ether[m]> | I need this sequence as a binding |
| 2022-04-28 11:23:20 | <abastro[m]> | Bound to a key? |
| 2022-04-28 11:23:28 | <Ether[m]> | Yes |
| 2022-04-28 11:23:38 | <abastro[m]> | Just put what I said in the place where actions go |
| 2022-04-28 11:23:43 | <geekosaur> | just do it. nothing wrong with a multi-line binding |
| 2022-04-28 11:23:56 | <Ether[m]> | No comma? |
| 2022-04-28 11:23:58 | <abastro[m]> | It's okay to have multiple lines e.g. for single action |
| 2022-04-28 11:24:12 | <geekosaur> | or use >> as I said, or even do with semicolons |
| 2022-04-28 11:24:30 | <geekosaur> | ("M-l", do ...) |
| 2022-04-28 11:24:54 | <Ether[m]> | Thanks |
| 2022-04-28 11:25:10 | <Ether[m]> | Is there a way to speed up the execution? |
| 2022-04-28 11:25:13 | <abastro[m]> | Just to explode your head, you can also do `traverse_ sendMessage [Go R, Swap L, Go R]` |
| 2022-04-28 11:26:07 | abastro[m] | sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/0866f50250154fe7bff69644322f36e8cac66bb9 |
| 2022-04-28 11:26:24 | <geekosaur> | use sendMessageWithNoRefresh and then refresh afterward |
| 2022-04-28 11:29:17 | Ether[m] | uploaded an image: (520KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/zsDvqXlbcsHIlgJRGcQrslbT/20220428_172856_2034483521913583835.jpg > |
| 2022-04-28 11:29:53 | <geekosaur> | it's "traverse_ saendMessage" with a space |
| 2022-04-28 11:29:56 | <geekosaur> | er |
| 2022-04-28 11:30:05 | <geekosaur> | "traverse_ sendMessage" |
| 2022-04-28 11:30:39 | <geekosaur> | the convention is that a name ending in "_" produces only () as a result, which we use when the result of "traverse" would be a list of () |
| 2022-04-28 11:31:35 | Ether[m] | uploaded an image: (456KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/YdgsrjKUuSinpWsZnlAMlXqT/20220428_173118_4076804114934602720.jpg > |
| 2022-04-28 11:34:47 | <abastro[m]> | Ouch. You could import Data.Foldable to fix it. |
| 2022-04-28 11:34:47 | <abastro[m]> | I should have not mentioned the traverse_ way.. I meant it mostly as a lterrible) joke |
| 2022-04-28 11:35:50 | <Ether[m]> | Actually the smallest and cleanest piece of code for this |
| 2022-04-28 11:37:45 | <Ether[m]> | Works like a charm! |
| 2022-04-28 11:37:59 | <Ether[m]> | Thanks geekosaur and abastro.. |
| 2022-04-28 11:41:37 | <geekosaur> | you may still want to try the sendMessageWithNoRefresh way to make it a bit faster |
| 2022-04-28 11:41:53 | <geekosaur> | traverse_ sendMessageWithNoRefresh [...] >> refresh |
| 2022-04-28 11:49:04 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 2022-04-28 11:53:58 | → | cfricke joins (~cfricke@user/cfricke) |
| 2022-04-28 12:24:02 | <Ether[m]> | Its fast enough, will experiment with it, Thanks |
| 2022-04-28 12:41:06 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 276 seconds) |
| 2022-04-28 12:41:36 | → | abastro joins (~abab9579@220.75.216.63) |
| 2022-04-28 12:57:30 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2022-04-28 13:15:39 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 2022-04-28 13:23:47 | <Ether[m]> | Why is this not the default? It seems extremely sane to me! |
| 2022-04-28 13:24:36 | <Ether[m]> | It works with all layouts. |
| 2022-04-28 13:25:02 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
| 2022-04-28 13:31:17 | <geekosaur> | mostly for historical reasons |
| 2022-04-28 13:31:30 | <geekosaur> | most people except the current default, which came from dwm |
| 2022-04-28 13:39:30 | × | abastro quits (~abab9579@220.75.216.63) (Ping timeout: 250 seconds) |
| 2022-04-28 13:42:43 | → | benin joins (~benin@183.82.204.110) |
| 2022-04-28 13:47:50 | <Ether[m]> | <geekosaur> "you may still want to try the..." <- How does this change execution speed? |
| 2022-04-28 13:48:19 | <geekosaur> | instead of redrawing everything after each action in the list, it does one redraw at the end |
| 2022-04-28 13:48:41 | <Ether[m]> | And is a there chance for it cause instability? |
| 2022-04-28 13:48:57 | <geekosaur> | there shouldn't be |
| 2022-04-28 13:49:26 | <Ether[m]> | geekosaur: Ohh, is it should be more stable? |
| 2022-04-28 13:50:21 | <geekosaur> | should be just as stable, just faster because it doesn't force a redraw between each step of the traversal |
| 2022-04-28 14:00:21 | <geekosaur> | mm, not just redraws even. it'll also delay the logHook run until the end, which is good if you have ewmh because that does a lot of updates that only really need to be done once in this case |
| 2022-04-28 14:01:53 | <abastro[m]> | What is ewmh? |
| 2022-04-28 14:02:20 | <geekosaur> | https://specifications.freedesktop.org/wm-spec/latest |
| 2022-04-28 14:02:45 | <abastro[m]> | Oh |
| 2022-04-28 14:02:52 | <geekosaur> | X11R4 and later came with a specification for how window managers and clients communicate with each other, EWMH extends that protocol |
| 2022-04-28 14:02:58 | <abastro[m]> | Is it like X extension? |
| 2022-04-28 14:03:10 | <geekosaur> | but in this case I'm talking about the `ewmh` combinator that implements it for xmonad |
| 2022-04-28 14:03:23 | <geekosaur> | no, it's not a server extension |
| 2022-04-28 14:04:23 | <abastro[m]> | Hm I thought X specification also touches the communication protocol |
| 2022-04-28 14:04:28 | <geekosaur> | it *is* an xmonad extension because by default it only supports the old specification (ICCCM) |
| 2022-04-28 14:05:09 | <geekosaur> | the communication protocol remains the same. EWMH (and ICCCM) is implemented as specific property atoms set on the root window and client windows |
| 2022-04-28 14:05:50 | <geekosaur> | and a couple of client messages that can be sent to the root window (which the window manager listens on since it doesn't have a window of its own) |
| 2022-04-28 14:06:31 | <geekosaur> | so it's not extensions to the protocol, it's using the existing protocol in specific ways |
| 2022-04-28 14:08:14 | <geekosaur> | properties and client messages beginning with "WM_" are part of ICCCM; those starting with "_NET_WM_" belong to EWMH |
| 2022-04-28 14:16:48 | <geekosaur> | and the server is only a passive conduit; this is all about communication between a WM and other GUI programs |
| 2022-04-28 14:47:48 | → | valarMorghulis[m joins (~lladeebll@2001:470:69fc:105::2:72) |
| 2022-04-28 14:51:39 | <valarMorghulis[m> | Does anyome know of a way to implement windows snapping (window goes to fullscreen if u drag it with mouse to the top of the screen) in xmonad? |
| 2022-04-28 14:58:52 | <geekosaur> | https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Actions-FloatSnap.html this doesn't quite do what you want but you could probably implement something based on it |
| 2022-04-28 15:03:57 | <valarMorghulis[m> | <geekosaur> "https://hackage.haskell.org/..." <- I tried it and customer implement that, it snaps a window on some another window |
| 2022-04-28 15:04:12 | <valarMorghulis[m> | * couldn't implement |
| 2022-04-28 15:04:23 | <geekosaur> | right, as I said, you could start from its code to write what you want |
All times are in UTC.