Home liberachat/#xmonad: Logs Calendar

Logs on 2022-08-25 (liberachat/#xmonad)

00:15:54 × mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Quit: Going elsewhere)
00:17:05 mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec)
01:10:18 catman joins (~catman@user/catman)
01:12:09 × steve_ quits (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds)
02:04:58 × banc quits (banc@gateway/vpn/airvpn/banc) (Ping timeout: 268 seconds)
02:16:11 × td_ quits (~td@94.134.91.14) (Ping timeout: 260 seconds)
02:17:48 td_ joins (~td@94.134.91.83)
02:23:19 banc joins (banc@gateway/vpn/airvpn/banc)
02:42:01 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
02:44:12 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
04:49:21 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds)
06:25:05 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
06:35:27 mc47 joins (~mc47@xmonad/TheMC47)
06:36:31 <mc47> Solid I can do stuff during the week, not really on the weekend. Pretty crazy times for me currently, I things to slow down a bit
07:03:20 <Solid> mc47: no worries, I don't think there anything big to do anyways
07:03:24 <Solid> when in doubt, just relax :)
07:21:00 cfricke joins (~cfricke@user/cfricke)
07:21:58 nrv joins (~nrv@5.104.46.197)
07:22:53 alternateved joins (~user@staticline-31-183-146-203.toya.net.pl)
07:29:41 <nrv> Hey there. Can i make xmonad view/warp to workspace with window that sent notification, when i click that notification?
07:37:58 × scardinal quits (~supreme@customer-212-237-101-39.ip4.gigabit.dk) (Ping timeout: 268 seconds)
07:38:11 scardinal joins (~supreme@customer-212-237-101-39.ip4.gigabit.dk)
08:07:17 wonko joins (~wjc@2a0e:1c80:2::130)
08:09:25 <dminuoso> In principle yes
08:09:40 <dminuoso> That is, with some engineering you can do it.
08:11:28 <dminuoso> You would need a custom urgency hook that forwards the window information to your notification mechanism, provide some RPC control to your notification mechanism that, when interacted with, can tell xmonad to change its stackset accordingly
08:14:38 <dminuoso> Unless of course you use some notification mechanism right inside XMonad
08:15:11 <dminuoso> Im not entirely sure what kind of interactive elements xmonad-contrib comes with
08:17:37 <dminuoso> nrv: I suppose what you *could* reasonably do, is use readUrgents + XMonad.Prompt to provide you a list with urgent windows, and then you can just select which one to go to
08:17:51 <dminuoso> Without much effort
08:22:34 <liskin> but then most apps already set an action for the notifications they send, and when that action is activated, the window requests to be activated
08:23:11 <liskin> so with current xmonad and current chrome/firefox and current dunst stuff just works out of the box
08:24:08 <liskin> (we had a brief period of ignoring activation requests in xmonad, but now it's a default with ewmh and ignoring is an optional feature that can be configured using a hook)
08:26:15 <dminuoso> ah
08:30:43 <nrv> Oh, that's surprising, firefox really warps out of the box
08:31:13 <dminuoso> liskin: How exactly does that work, then?
08:31:25 <nrv> I guess that's problem of telegram, from which i'm getting notifications most often
08:32:44 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 255 seconds)
08:35:26 <nrv> dminuoso: probably like this it seems https://hackage.haskell.org/package/xmonad-contrib-0.16/docs/src/XMonad.Hooks.EwmhDesktops.html#handle
08:36:11 <liskin> dminuoso: freedesktop notifications api over dbus gives you back an id and you can listen for user's interaction with the notification, and you can also add more actions than just a click (like for bluetooth pairing/transfers there's "Accept" and "Reject" for example); once the browser gets notified of an action/click, it can ask for focus using EWMH, which involves sending a _NET_ACTIVE_WINDOW
08:36:13 <liskin> ClientMessage event, and xmonad handles that
08:36:19 <nrv> So, if that's problem with telegram, can i hack that "activation" in there somehow?
08:36:30 <nrv> Without forking it ofc
08:38:45 <liskin> can't think of an easy way to do that :-/
08:39:29 <liskin> perhaps dunst has a way to attach hooks to notifications? I think it didn't have that but there were issues/prs for that so maybe now it does
08:39:40 <dminuoso> liskin: But _NET_ACTIVE_WINDOW gives a window essentially full control over its own focus, right?
08:40:02 <dminuoso> meaning, if that application decides, even without notifications, to just grab focus while Im trying in a password
08:40:12 <dminuoso> By just sending _NET_ACTIVE_WINDOW at any time
08:40:39 <liskin> yeah, sure, and there are other ways in X11 to steal focus even without the window manager's involvement
08:40:51 <liskin> X isn't meant to run untrusted clients
08:41:02 <dminuoso> "run untrusted clients"
08:41:10 <liskin> that's one of the core reasons to switch to wayland
08:41:19 <dminuoso> There's never been "trusted clients", as if people have ever audited even 10% of the code they run on their machiens.
08:41:24 <dminuoso> :)
08:41:58 <dminuoso> Yeah, but I dont have xmonad on wayland. :(
08:42:03 <dminuoso> Priorities...
08:42:24 <liskin> yeah if you want/need everything to be perfect then you're in for a bad time
08:48:01 <nrv> liskin even if it had, how can i then implement activation?
08:51:10 <liskin> nrv: this will probably make dminuoso scream but in X11 any app can send _NET_ACTIVE_WINDOW for any window and there's even a standard way of saying "I'm not the app itself I'm a pager--pager being an 80s word for a task panel--a user just clicked on me and requested switching to this other app and you, the WM, should really not ignore that because I'm not an app I'm a pager!"
08:51:24 <liskin> long story short you just use wmctrl in the script
08:51:26 <liskin> or xdotool
08:51:30 <liskin> or something similar
08:51:44 <dminuoso> Can you prevent that behavior, though?
08:51:59 <dminuoso> Ah I guess by just not honoring _NET_ACTIVE_WINDOW at all
08:52:04 <liskin> you can certainly make xmonad ignore _NET_ACTIVE_WINDOW
08:52:20 <dminuoso> In a way, perhaps urgency + manual interaction is sufficient then.
08:52:35 <dminuoso> readUrgency + XMonad.Prompt for example
08:52:47 <liskin> although for pragmatic reasons we do honor the "not an app but a pager" flag so we don't provide a user-facing API for ignoring all _NET_ACTIVE_WINDOW requests
08:53:15 <liskin> but it's not difficult to do in like 5 lines of code so ..
08:53:45 <liskin> still, if you want real safety against your focus being stolen then don't run X11 is the answer
08:54:05 <liskin> apps can literally just steal your focus without doing any EWMH stuff at all
08:54:21 <liskin> or just listen for keystrokes
08:54:22 <dminuoso> I did suffer from firefox suddenly stealing while I was typing my 1password password before.
08:54:41 <dminuoso> Well the thing is, in case of firefox its not firefox that Im worried about
08:54:48 <liskin> or inject keystrokes that launch your terminal and replace your shell with sl
08:54:53 <dminuoso> But the fact that firefox is a gateway to remotely controlled code, that can literally do whatever.
08:55:21 <liskin> if firefox is letting javascript apps issue _NET_ACTIVE_WINDOW requests that's a firefox bug though
08:55:46 <liskin> gnome/kde/windows/macos probably won't let you ignore activation requests at all
08:55:47 <dminuoso> Right, but that situation made me uncomfortable enough
08:55:55 <dminuoso> I think I already ignore _NET_ACTIVE_WINDOW because of that
08:56:00 <liskin> (gnome might with an extension)
08:56:09 <dminuoso> I cant recall any app grabbing focus for years.,
08:56:20 <dminuoso> But then again I dont have "Im not an app I am a pager" apps running
08:57:41 <nrv> dminuoso: wtf
08:57:48 <nrv> how can firefox steal focus?
08:58:32 <nrv> i see how arbitrary X11 can, but firefox (really, the open website)?
08:58:41 <nrv> X11 app*
08:59:07 <dminuoso> I dont recall the specific circumstance that caused it to grab focus.
08:59:25 <dminuoso> It definitely was not malicious, or I would be holding a grudge over mozilla.
09:00:29 × elonsroadster[m] quits (~elonsroad@2001:470:69fc:105::d121) (Quit: You have been kicked for being idle)
09:00:31 <nrv> 99.9% you switched it yourself somehow and didn't notice or something
09:00:47 elonsroadster[m] joins (~elonsroad@2001:470:69fc:105::d121)
09:01:02 <nrv> i don't believe a website can to that arbitrarily
09:01:12 <nrv> only if you click on notification
09:03:16 elonsroadster[m] parts (~elonsroad@2001:470:69fc:105::d121) ()
09:05:09 × Benzi-Junior quits (~BenziJuni@dsl-149-67-162.hive.is) (Ping timeout: 252 seconds)
09:19:06 <nrv> Another related thing btw. When i activate/switch focus to a tab in firefox that is in the window on another workspace, e.g. when clicking on extension icon and it switches you to already open tab which happens to be on another window on another workspace, xmonad doesn't catch that and switch workspace, but on windows i remember workspace would
09:19:07 <nrv> switch on tab focus. just like like with notifications
09:20:10 <nrv> So it probably sends something too. If it's now _NET_ACTIVE_WINDOW, then what?
09:23:35 × wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 255 seconds)
09:24:17 mc47 joins (~mc47@xmonad/TheMC47)
09:28:33 <nrv> ... and then it does what i just said it doesn't. But only for native extension settings page. FoxyProxy's custom page doesn't switch you, PrivacyRedirect's native settings page does. I'm totally confused.
09:35:17 Benzi-Junior joins (~BenziJuni@88-149-67-162.du.xdsl.is)
09:37:01 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
09:39:38 × nrv quits (~nrv@5.104.46.197) (Quit: Client closed)
09:42:46 <liskin> it's unlikely it'd be doing something else than _NET_ACTIVE_WINDOW
09:42:50 <liskin> it's either that or nothing
09:43:17 <liskin> so this seems unlikely to have a workaround in xmonad
09:44:22 nrv joins (~nrv@5.104.46.197)
10:17:35 × mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds)
10:27:44 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
10:27:53 themc47 joins (~mc47@xmonad/TheMC47)
10:42:21 × themc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds)
10:43:41 × sogens quits (~sogens@211.30.36.43) (Ping timeout: 260 seconds)
10:52:55 wonko joins (~wjc@2a0e:1c80:2::130)
10:56:22 sogens joins (~sogens@211.30.36.43)
11:07:54 × nrv quits (~nrv@5.104.46.197) (Quit: Client closed)
11:13:38 mc47 joins (~mc47@xmonad/TheMC47)
11:30:21 × wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds)
12:05:34 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6)
12:17:21 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds)
12:20:14 <geekosaur> don't forget that any app can ignore ICCCM and EWMH and issue XFocusWindow, including focusing a window that doesn't belong to it
12:31:09 B-J joins (~BenziJuni@dsl-149-67-162.hive.is)
12:31:32 × Benzi-Junior quits (~BenziJuni@88-149-67-162.du.xdsl.is) (Ping timeout: 268 seconds)
12:52:49 mc47 joins (~mc47@xmonad/TheMC47)
13:22:30 cfricke joins (~cfricke@user/cfricke)
13:28:03 × twiclo1 quits (~twiclo@204.14.20.66.static.utbb.net) (Ping timeout: 252 seconds)
13:30:23 twiclo1 joins (~twiclo@mail.twil.cx)
13:37:35 × ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 252 seconds)
13:51:41 ml| joins (~ml|@user/ml/x-5298235)
13:58:57 thyriaen joins (~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de)
14:00:03 <thyriaen> Howdy friends - I am starting out with xmonad and would like to integrate polybar with my setup - can you reccomend a good guide or a premade config for it ?
14:01:59 <geekosaur> several people in here use xmonad with polybar but we haven't had any good examples contributed back 😞
14:02:47 <geekosaur> I know it can either get window and workspace information from EWMH, or do things roughly the xmobar way but over dbus, but not much else
14:12:46 <thyriaen> :/ i am just looking for a good starting point
14:13:11 <thyriaen> to get it running so it doesn't overlap with my windows and automatically loads a bar
14:13:32 <thyriaen> the rest i will figure out on the way
14:17:20 <geekosaur[m]> Overlapping is XMonad.Hooks.ManageDocks
14:18:33 <geekosaur[m]> For a bar not being fed by X.H.StatusBar you can just use `spawn`
14:19:34 × ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 268 seconds)
14:33:28 ml| joins (~ml|@user/ml/x-5298235)
14:37:53 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6)
14:59:46 × ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 260 seconds)
15:08:31 cfricke joins (~cfricke@user/cfricke)
15:13:10 ml| joins (~ml|@user/ml/x-5298235)
15:34:51 mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec)
15:55:21 <Solid> thyriaen: the xmonad-log repo (which is probably what you want to use when using polybar) has a usage example: https://github.com/xintron/xmonad-log
15:57:27 × thyriaen quits (~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de) (Remote host closed the connection)
16:01:20 × liskin[m] quits (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle)
16:06:46 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6)
16:06:50 nymobster joins (~craig@67-133-223-36.dia.static.qwest.net)
16:08:31 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
16:12:20 steve_ joins (~steve@ool-182c2b80.dyn.optonline.net)
16:20:38 × mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 240 seconds)
16:29:18 × alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection)
17:43:21 × noex quits (~null@user/noex) (Quit: :q!)
18:46:13 benin0 joins (~benin@183.82.205.66)
19:02:28 × td_ quits (~td@94.134.91.83) (Quit: waking up from the american dream ...)
19:05:17 darkstardev13 joins (~darkstard@50.53.212.60)
19:05:28 × darkstarx quits (~darkstard@50.53.212.60) (Remote host closed the connection)
19:05:39 × vanvik quits (~vanvik@46.249.253.75) (Quit: Ping timeout (120 seconds))
19:05:53 steve__ joins (~steve@ool-182c2b80.dyn.optonline.net)
19:06:00 vanvik joins (~vanvik@46.249.253.75)
19:07:57 × steve_ quits (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds)
19:10:02 × steve__ quits (~steve@ool-182c2b80.dyn.optonline.net) (Remote host closed the connection)
19:10:19 steve__ joins (~steve@ool-182c2b80.dyn.optonline.net)
19:43:16 themc47 joins (~mc47@xmonad/TheMC47)
19:44:44 × mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 244 seconds)
20:03:00 × nymobster quits (~craig@67-133-223-36.dia.static.qwest.net) (Quit: leaving)
20:28:59 sagax joins (~sagax_nb@user/sagax)
20:32:25 × themc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:03:28 mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec)
21:08:01 <quarkQuark[m]111> Is that an alternative to EWMH? So you know what the difference would be?
21:08:18 <quarkQuark[m]111> *do you know
21:11:30 <geekosaur> xmonad-log lets you use DynamicLog / StatusBar, whereas polybar using EWMH does its own formatting and such
21:11:45 liskin[m] joins (~liskinmat@2001:470:69fc:105::768)
21:12:07 <geekosaur> check the polybar manual to see how it uses EWMH directly
21:42:42 nrv joins (~nrv@5.104.46.197)
21:44:51 td_ joins (~td@94.134.91.83)
21:45:30 × nrv quits (~nrv@5.104.46.197) (Client Quit)
22:25:20 jmct_ joins (sid160793@id-160793.tinside.irccloud.com)
22:25:29 mudri_ joins (sid317655@id-317655.helmsley.irccloud.com)
22:25:48 lazyrat joins (~lazycat@user/lazycat)
22:25:48 galaxy_knuckles joins (~gknux@user/galaxy-knuckles/x-3015990)
22:26:17 RMSBach joins (~guygastin@137.184.131.156)
22:26:19 × dexter1 quits (~dexter@li655-253.members.linode.com) (Ping timeout: 252 seconds)
22:26:35 PotatoGim_ joins (sid99505@id-99505.lymington.irccloud.com)
22:27:50 haasn` joins (~nand@haasn.dev)
22:28:03 lisq joins (~quassel@lis.moe)
22:31:26 x88x88x joins (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
22:33:04 × sagax quits (~sagax_nb@user/sagax) (*.net *.split)
22:33:04 × lazycat quits (~lazycat@user/lazycat) (*.net *.split)
22:33:04 × Robin[m]1234 quits (~robinnorr@2001:470:69fc:105::c07c) (*.net *.split)
22:33:04 × Neo[Envs][m] quits (~neovoiden@2001:470:69fc:105::2:b07) (*.net *.split)
22:33:04 × amenonsen quits (~amenonsen@pitta.toroid.org) (*.net *.split)
22:33:04 × haasn quits (~nand@haasn.dev) (*.net *.split)
22:33:04 × fizzie quits (irc@selene.zem.fi) (*.net *.split)
22:33:04 × gknux quits (~gknux@user/galaxy-knuckles/x-3015990) (*.net *.split)
22:33:04 × jmct quits (sid160793@id-160793.tinside.irccloud.com) (*.net *.split)
22:33:05 × guygastineau quits (~guygastin@137.184.131.156) (*.net *.split)
22:33:05 × x22x22x quits (~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb) (*.net *.split)
22:33:05 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (*.net *.split)
22:33:05 × lisq_ quits (~quassel@lis.moe) (*.net *.split)
22:33:05 × mudri quits (sid317655@id-317655.helmsley.irccloud.com) (*.net *.split)
22:33:05 mudri_ is now known as mudri
22:33:05 jmct_ is now known as jmct
22:33:08 galaxy_knuckles is now known as gknux
22:33:10 haasn` is now known as haasn
22:33:10 PotatoGim_ is now known as PotatoGim
22:39:00 amenonsen joins (~amenonsen@pitta.toroid.org)
22:39:25 fizzie joins (irc@selene.zem.fi)
22:40:28 Robin[m]1234 joins (~robinnorr@2001:470:69fc:105::c07c)
22:41:20 Neo[Envs][m] joins (~neovoiden@2001:470:69fc:105::2:b07)
23:04:32 Hash is now known as OpenSource
23:09:57 × steve__ quits (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds)
23:22:17 dexter1 joins (dexter@2a01:7e00::f03c:91ff:fe86:59ec)
23:46:41 × td_ quits (~td@94.134.91.83) (Quit: waking up from the american dream ...)
23:47:53 V42 joins (~V42@eth-west-pareq2-46-193-4-100.wb.wifirst.net)

All times are in UTC on 2022-08-25.