Logs on 2022-04-28 (liberachat/#xmonad)
| 00:06:50 | × | lisq quits (~quassel@lis.moe) (Quit: lisq) |
| 00:23:26 | × | [Leary] quits (~Leary]@122-58-90-96-vdsl.sparkbb.co.nz) (Ping timeout: 272 seconds) |
| 00:26:00 | × | stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
| 00:29:19 | × | srk quits (~sorki@user/srk) (Ping timeout: 240 seconds) |
| 00:44:44 | → | srk joins (~sorki@user/srk) |
| 00:48:08 | → | lis joins (~quassel@lis.moe) |
| 00:49:18 | lis | is now known as lisq |
| 01:09:33 | → | stackdroid18 joins (~stackdroi@user/stackdroid) |
| 01:27:04 | × | stackdroid18 quits (~stackdroi@user/stackdroid) (Quit: hasta la vista... tchau!) |
| 01:28:04 | → | [Leary] joins (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
| 02:03:39 | × | banc- quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 240 seconds) |
| 02:12:04 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 02:13:58 | → | ectospasm joins (~ectospasm@user/ectospasm) |
| 02:24:46 | → | banc joins (banc@gateway/vpn/airvpn/banc) |
| 02:35:19 | × | td_ quits (~td@muedsl-82-207-238-136.citykom.de) (Ping timeout: 240 seconds) |
| 02:37:22 | → | td_ joins (~td@muedsl-82-207-238-120.citykom.de) |
| 02:40:19 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 03:59:52 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::aa1d) (Ping timeout: 248 seconds) |
| 04:20:30 | × | twiclo quits (~twiclo@204.14.20.66.static.utbb.net) (Ping timeout: 250 seconds) |
| 04:22:32 | → | twiclo joins (~twiclo@mail.twil.cx) |
| 04:33:28 | × | zawaken quits (~zawaken@user/zawaken) (Ping timeout: 248 seconds) |
| 04:54:20 | <abastro[m]> | So how do I do nested X sessions again? geekosaur |
| 05:08:35 | → | zawaken joins (~zawaken@user/zawaken) |
| 06:30:22 | <liskin> | Xephyr |
| 06:57:37 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 07:24:51 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:23:49 | <abastro[m]> | How do I invoke Xephyr with gdb debugging xmonad |
| 09:00:08 | × | iffsid quits (~iffsid@2001:470:69fc:105::a3e) (Quit: You have been kicked for being idle) |
| 09:24:25 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds) |
| 09:26:11 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 09:38:59 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds) |
| 10:07:36 | → | cfricke joins (~cfricke@user/cfricke) |
| 10:08:58 | × | [Leary] quits (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) (Remote host closed the connection) |
| 10:19:46 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
| 10:21:39 | → | [Leary] joins (~Leary]@122-58-228-205-vdsl.sparkbb.co.nz) |
| 10:23:12 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 272 seconds) |
| 11:08:13 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 11:11:07 | × | zawaken quits (~zawaken@user/zawaken) (Quit: ZNC 1.9.x-git-unknown - https://znc.in) |
| 11:12:10 | → | zawaken joins (~zawaken@user/zawaken) |
| 11:15:50 | <geekosaur> | gdb unlikley to help in your case |
| 11:16:13 | <abastro[m]> | :< why? geekosaur |
| 11:16:30 | <abastro[m]> | Sad.. |
| 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 |
| 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) |
| 11:18:35 | <Ether[m]> | I would like to create my own swap left function. How do i execute this sequence; |
| 11:18:35 | <Ether[m]> | 1. sendMessage $ Go R |
| 11:18:35 | <Ether[m]> | 2. sendMessage $ Swap L |
| 11:18:35 | <Ether[m]> | 3. sendMessage $ Go R |
| 11:18:54 | <Ether[m]> | One key bind for all. |
| 11:19:01 | <Ether[m]> | Impossible? |
| 11:21:22 | <geekosaur> | you should be able to join them with >> or *>, but you'll have to replace the $ with parentheses |
| 11:21:45 | <abastro[m]> | do |
| 11:21:45 | <abastro[m]> | sendMessage (Go R) |
| 11:21:45 | <abastro[m]> | sendMessage (Swap L) |
| 11:21:45 | <abastro[m]> | sendMessage (Go R) |
| 11:21:56 | <geekosaur> | yes |
| 11:21:57 | <abastro[m]> | A bit too advanced, ye |
| 11:22:03 | <Ether[m]> | How do i bind? |
| 11:22:08 | <Ether[m]> | M-l |
| 11:22:39 | <abastro[m]> | Wdym by bind |
| 11:22:54 | <Ether[m]> | I need this sequence as a binding |
| 11:23:20 | <abastro[m]> | Bound to a key? |
| 11:23:28 | <Ether[m]> | Yes |
| 11:23:38 | <abastro[m]> | Just put what I said in the place where actions go |
| 11:23:43 | <geekosaur> | just do it. nothing wrong with a multi-line binding |
| 11:23:56 | <Ether[m]> | No comma? |
| 11:23:58 | <abastro[m]> | It's okay to have multiple lines e.g. for single action |
| 11:24:12 | <geekosaur> | or use >> as I said, or even do with semicolons |
| 11:24:30 | <geekosaur> | ("M-l", do ...) |
| 11:24:54 | <Ether[m]> | Thanks |
| 11:25:10 | <Ether[m]> | Is there a way to speed up the execution? |
| 11:25:13 | <abastro[m]> | Just to explode your head, you can also do `traverse_ sendMessage [Go R, Swap L, Go R]` |
| 11:26:07 | abastro[m] | sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/0866f50250154fe7bff69644322f36e8cac66bb9 |
| 11:26:24 | <geekosaur> | use sendMessageWithNoRefresh and then refresh afterward |
| 11:29:17 | Ether[m] | uploaded an image: (520KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/zsDvqXlbcsHIlgJRGcQrslbT/20220428_172856_2034483521913583835.jpg > |
| 11:29:53 | <geekosaur> | it's "traverse_ saendMessage" with a space |
| 11:29:56 | <geekosaur> | er |
| 11:30:05 | <geekosaur> | "traverse_ sendMessage" |
| 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 () |
| 11:31:35 | Ether[m] | uploaded an image: (456KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/YdgsrjKUuSinpWsZnlAMlXqT/20220428_173118_4076804114934602720.jpg > |
| 11:34:47 | <abastro[m]> | Ouch. You could import Data.Foldable to fix it. |
| 11:34:47 | <abastro[m]> | I should have not mentioned the traverse_ way.. I meant it mostly as a lterrible) joke |
| 11:35:50 | <Ether[m]> | Actually the smallest and cleanest piece of code for this |
| 11:37:45 | <Ether[m]> | Works like a charm! |
| 11:37:59 | <Ether[m]> | Thanks geekosaur and abastro.. |
| 11:41:37 | <geekosaur> | you may still want to try the sendMessageWithNoRefresh way to make it a bit faster |
| 11:41:53 | <geekosaur> | traverse_ sendMessageWithNoRefresh [...] >> refresh |
| 11:49:04 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 11:53:58 | → | cfricke joins (~cfricke@user/cfricke) |
| 12:24:02 | <Ether[m]> | Its fast enough, will experiment with it, Thanks |
| 12:41:06 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 276 seconds) |
| 12:41:36 | → | abastro joins (~abab9579@220.75.216.63) |
| 12:57:30 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 13:15:39 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 240 seconds) |
| 13:23:47 | <Ether[m]> | Why is this not the default? It seems extremely sane to me! |
| 13:24:36 | <Ether[m]> | It works with all layouts. |
| 13:25:02 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.4.1) |
| 13:31:17 | <geekosaur> | mostly for historical reasons |
| 13:31:30 | <geekosaur> | most people except the current default, which came from dwm |
| 13:39:30 | × | abastro quits (~abab9579@220.75.216.63) (Ping timeout: 250 seconds) |
| 13:42:43 | → | benin joins (~benin@183.82.204.110) |
| 13:47:50 | <Ether[m]> | <geekosaur> "you may still want to try the..." <- How does this change execution speed? |
| 13:48:19 | <geekosaur> | instead of redrawing everything after each action in the list, it does one redraw at the end |
| 13:48:41 | <Ether[m]> | And is a there chance for it cause instability? |
| 13:48:57 | <geekosaur> | there shouldn't be |
| 13:49:26 | <Ether[m]> | geekosaur: Ohh, is it should be more stable? |
| 13:50:21 | <geekosaur> | should be just as stable, just faster because it doesn't force a redraw between each step of the traversal |
| 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 |
| 14:01:53 | <abastro[m]> | What is ewmh? |
| 14:02:20 | <geekosaur> | https://specifications.freedesktop.org/wm-spec/latest |
| 14:02:45 | <abastro[m]> | Oh |
| 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 |
| 14:02:58 | <abastro[m]> | Is it like X extension? |
| 14:03:10 | <geekosaur> | but in this case I'm talking about the `ewmh` combinator that implements it for xmonad |
| 14:03:23 | <geekosaur> | no, it's not a server extension |
| 14:04:23 | <abastro[m]> | Hm I thought X specification also touches the communication protocol |
| 14:04:28 | <geekosaur> | it *is* an xmonad extension because by default it only supports the old specification (ICCCM) |
| 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 |
| 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) |
| 14:06:31 | <geekosaur> | so it's not extensions to the protocol, it's using the existing protocol in specific ways |
| 14:08:14 | <geekosaur> | properties and client messages beginning with "WM_" are part of ICCCM; those starting with "_NET_WM_" belong to EWMH |
| 14:16:48 | <geekosaur> | and the server is only a passive conduit; this is all about communication between a WM and other GUI programs |
| 14:47:48 | → | valarMorghulis[m joins (~lladeebll@2001:470:69fc:105::2:72) |
| 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? |
| 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 |
| 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 |
| 15:04:12 | <valarMorghulis[m> | * couldn't implement |
| 15:04:23 | <geekosaur> | right, as I said, you could start from its code to write what you want |
| 15:04:38 | <geekosaur> | npothing does what you asked for already |
| 15:59:27 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 16:00:08 | × | harlchen[m] quits (~harlchent@2001:470:69fc:105::1:3b28) (Quit: You have been kicked for being idle) |
| 16:00:11 | <geekosaur> | mm, looking at it, you would replace `ifClick` in the mouse move example with a function to check if the window is at y==0 and fullscreened it |
| 16:00:28 | → | harlchen[m] joins (~harlchent@2001:470:69fc:105::1:3b28) |
| 16:00:34 | ← | harlchen[m] parts (~harlchent@2001:470:69fc:105::1:3b28) () |
| 16:11:02 | → | stackdroid18 joins (14094@user/stackdroid) |
| 16:12:59 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 256 seconds) |
| 16:46:48 | × | benin quits (~benin@183.82.204.110) (Remote host closed the connection) |
| 17:50:48 | → | cfricke joins (~cfricke@user/cfricke) |
| 18:05:15 | → | mannerism joins (~tic@107.191.100.185) |
| 18:05:23 | ← | mannerism parts (~tic@107.191.100.185) () |
| 18:45:39 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 246 seconds) |
| 20:05:10 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 20:26:17 | → | jakeStateless-Fa joins (~jakefroms@2001:470:69fc:105::15ef) |
| 20:26:18 | <jakeStateless-Fa> | sometimes when launching XMonad struts stop working, and my border color gets set to the default and my show-workspace-tooltip thing shows up as a black box, until I restart XMonad via mod-q... I noticed it once I added my custom fullscreen implementation here: [https://gitlab.com/mikenrafter/config/-/blob/master/.xmonad/lib/Custom/Fullscreen.hs](My Dotfiles) |
| 20:26:23 | <jakeStateless-Fa> | does anyone know what's up here? |
| 20:26:53 | <jakeStateless-Fa> | * implementation here: \[https://gitlab.com/mikenrafter/config/-/blob/master/.xmonad/lib/Custom/Fullscreen.hs](My Dotfiles) |
| 20:27:26 | <jakeStateless-Fa> | ugh, the URL is slightly messed up because of improper md formatting on element, and that edit probably duplicated it on IRC, sorry about that... anyway... |
| 20:32:48 | <geekosaur> | you would probably need to look at xmonad's stderr (check ~/.xsession-errors, unless you're using startx and then it'll be something like ctrl-alt-f1 to get back to the text console) |
| 20:38:20 | × | stackdroid18 quits (14094@user/stackdroid) (Quit: hasta la vista... tchau!) |
| 21:34:52 | × | jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in) |
| 21:35:48 | → | jludwig joins (~justin@li657-110.members.linode.com) |
| 22:54:11 | × | noex quits (~null@user/noex) (Quit: :q!) |
| 22:59:07 | → | noex joins (~null@user/noex) |
| 23:39:29 | <abastro[m]> | geekosaur: Using existing protocol, in specific ways, I see. |
| 23:43:43 | <abastro[m]> | What is show-workspace-tooltip? Can xmonad tooltip, |
| 23:46:49 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::aa1d) |
| 23:54:08 | <geekosaur> | I assume that means either the old https://hackage.haskell.org/package/xmonad-contrib-0.17.0/docs/XMonad-Layout-ShowWName.html or the new https://xmonad.github.io/xmonad-docs/xmonad-contrib-0.17.0.9/XMonad-Hooks-ShowWName.html |
All times are in UTC on 2022-04-28.