2022/08/25

2022-08-25 00:23:27 +0200wonko(~wjc@2a0e:1c80:2::130)
2022-08-25 00:31:01 +0200wonko(~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds)
2022-08-25 00:32:55 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 01:32:54 +0200V42(~V42@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed)
2022-08-25 02:15:54 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Quit: Going elsewhere)
2022-08-25 02:17:05 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 03:10:18 +0200catman(~catman@user/catman)
2022-08-25 03:12:09 +0200steve_(~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds)
2022-08-25 04:04:58 +0200banc(banc@gateway/vpn/airvpn/banc) (Ping timeout: 268 seconds)
2022-08-25 04:16:11 +0200td_(~td@94.134.91.14) (Ping timeout: 260 seconds)
2022-08-25 04:17:48 +0200td_(~td@94.134.91.83)
2022-08-25 04:23:19 +0200banc(banc@gateway/vpn/airvpn/banc)
2022-08-25 04:42:01 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-08-25 04:44:12 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-08-25 06:49:21 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds)
2022-08-25 08:25:05 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-25 08:35:27 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-25 08:36:31 +0200 <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
2022-08-25 09:03:20 +0200 <Solid> mc47: no worries, I don't think there anything big to do anyways
2022-08-25 09:03:24 +0200 <Solid> when in doubt, just relax :)
2022-08-25 09:21:00 +0200cfricke(~cfricke@user/cfricke)
2022-08-25 09:21:58 +0200nrv(~nrv@5.104.46.197)
2022-08-25 09:22:53 +0200alternateved(~user@staticline-31-183-146-203.toya.net.pl)
2022-08-25 09:29:41 +0200 <nrv> Hey there. Can i make xmonad view/warp to workspace with window that sent notification, when i click that notification?
2022-08-25 09:37:58 +0200scardinal(~supreme@customer-212-237-101-39.ip4.gigabit.dk) (Ping timeout: 268 seconds)
2022-08-25 09:38:11 +0200scardinal(~supreme@customer-212-237-101-39.ip4.gigabit.dk)
2022-08-25 10:07:17 +0200wonko(~wjc@2a0e:1c80:2::130)
2022-08-25 10:09:25 +0200 <dminuoso> In principle yes
2022-08-25 10:09:40 +0200 <dminuoso> That is, with some engineering you can do it.
2022-08-25 10:11:28 +0200 <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
2022-08-25 10:14:38 +0200 <dminuoso> Unless of course you use some notification mechanism right inside XMonad
2022-08-25 10:15:11 +0200 <dminuoso> Im not entirely sure what kind of interactive elements xmonad-contrib comes with
2022-08-25 10:17:37 +0200 <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
2022-08-25 10:17:51 +0200 <dminuoso> Without much effort
2022-08-25 10:22:34 +0200 <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
2022-08-25 10:23:11 +0200 <liskin> so with current xmonad and current chrome/firefox and current dunst stuff just works out of the box
2022-08-25 10:24:08 +0200 <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)
2022-08-25 10:26:15 +0200 <dminuoso> ah
2022-08-25 10:30:43 +0200 <nrv> Oh, that's surprising, firefox really warps out of the box
2022-08-25 10:31:13 +0200 <dminuoso> liskin: How exactly does that work, then?
2022-08-25 10:31:25 +0200 <nrv> I guess that's problem of telegram, from which i'm getting notifications most often
2022-08-25 10:32:44 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 255 seconds)
2022-08-25 10:35:26 +0200 <nrv> dminuoso: probably like this it seems https://hackage.haskell.org/package/xmonad-contrib-0.16/docs/src/XMonad.Hooks.EwmhDesktops.html#ha…
2022-08-25 10:36:11 +0200 <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
2022-08-25 10:36:13 +0200 <liskin> ClientMessage event, and xmonad handles that
2022-08-25 10:36:19 +0200 <nrv> So, if that's problem with telegram, can i hack that "activation" in there somehow?
2022-08-25 10:36:30 +0200 <nrv> Without forking it ofc
2022-08-25 10:38:45 +0200 <liskin> can't think of an easy way to do that :-/
2022-08-25 10:39:29 +0200 <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
2022-08-25 10:39:40 +0200 <dminuoso> liskin: But _NET_ACTIVE_WINDOW gives a window essentially full control over its own focus, right?
2022-08-25 10:40:02 +0200 <dminuoso> meaning, if that application decides, even without notifications, to just grab focus while Im trying in a password
2022-08-25 10:40:12 +0200 <dminuoso> By just sending _NET_ACTIVE_WINDOW at any time
2022-08-25 10:40:39 +0200 <liskin> yeah, sure, and there are other ways in X11 to steal focus even without the window manager's involvement
2022-08-25 10:40:51 +0200 <liskin> X isn't meant to run untrusted clients
2022-08-25 10:41:02 +0200 <dminuoso> "run untrusted clients"
2022-08-25 10:41:10 +0200 <liskin> that's one of the core reasons to switch to wayland
2022-08-25 10:41:19 +0200 <dminuoso> There's never been "trusted clients", as if people have ever audited even 10% of the code they run on their machiens.
2022-08-25 10:41:24 +0200 <dminuoso> :)
2022-08-25 10:41:58 +0200 <dminuoso> Yeah, but I dont have xmonad on wayland. :(
2022-08-25 10:42:03 +0200 <dminuoso> Priorities...
2022-08-25 10:42:24 +0200 <liskin> yeah if you want/need everything to be perfect then you're in for a bad time
2022-08-25 10:48:01 +0200 <nrv> liskin even if it had, how can i then implement activation?
2022-08-25 10:51:10 +0200 <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!"
2022-08-25 10:51:24 +0200 <liskin> long story short you just use wmctrl in the script
2022-08-25 10:51:26 +0200 <liskin> or xdotool
2022-08-25 10:51:30 +0200 <liskin> or something similar
2022-08-25 10:51:44 +0200 <dminuoso> Can you prevent that behavior, though?
2022-08-25 10:51:59 +0200 <dminuoso> Ah I guess by just not honoring _NET_ACTIVE_WINDOW at all
2022-08-25 10:52:04 +0200 <liskin> you can certainly make xmonad ignore _NET_ACTIVE_WINDOW
2022-08-25 10:52:20 +0200 <dminuoso> In a way, perhaps urgency + manual interaction is sufficient then.
2022-08-25 10:52:35 +0200 <dminuoso> readUrgency + XMonad.Prompt for example
2022-08-25 10:52:47 +0200 <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
2022-08-25 10:53:15 +0200 <liskin> but it's not difficult to do in like 5 lines of code so ..
2022-08-25 10:53:45 +0200 <liskin> still, if you want real safety against your focus being stolen then don't run X11 is the answer
2022-08-25 10:54:05 +0200 <liskin> apps can literally just steal your focus without doing any EWMH stuff at all
2022-08-25 10:54:21 +0200 <liskin> or just listen for keystrokes
2022-08-25 10:54:22 +0200 <dminuoso> I did suffer from firefox suddenly stealing while I was typing my 1password password before.
2022-08-25 10:54:41 +0200 <dminuoso> Well the thing is, in case of firefox its not firefox that Im worried about
2022-08-25 10:54:48 +0200 <liskin> or inject keystrokes that launch your terminal and replace your shell with sl
2022-08-25 10:54:53 +0200 <dminuoso> But the fact that firefox is a gateway to remotely controlled code, that can literally do whatever.
2022-08-25 10:55:21 +0200 <liskin> if firefox is letting javascript apps issue _NET_ACTIVE_WINDOW requests that's a firefox bug though
2022-08-25 10:55:46 +0200 <liskin> gnome/kde/windows/macos probably won't let you ignore activation requests at all
2022-08-25 10:55:47 +0200 <dminuoso> Right, but that situation made me uncomfortable enough
2022-08-25 10:55:55 +0200 <dminuoso> I think I already ignore _NET_ACTIVE_WINDOW because of that
2022-08-25 10:56:00 +0200 <liskin> (gnome might with an extension)
2022-08-25 10:56:09 +0200 <dminuoso> I cant recall any app grabbing focus for years.,
2022-08-25 10:56:20 +0200 <dminuoso> But then again I dont have "Im not an app I am a pager" apps running
2022-08-25 10:57:41 +0200 <nrv> dminuoso: wtf
2022-08-25 10:57:48 +0200 <nrv> how can firefox steal focus?
2022-08-25 10:58:32 +0200 <nrv> i see how arbitrary X11 can, but firefox (really, the open website)?
2022-08-25 10:58:41 +0200 <nrv> X11 app*
2022-08-25 10:59:07 +0200 <dminuoso> I dont recall the specific circumstance that caused it to grab focus.
2022-08-25 10:59:25 +0200 <dminuoso> It definitely was not malicious, or I would be holding a grudge over mozilla.
2022-08-25 11:00:29 +0200elonsroadster[m](~elonsroad@2001:470:69fc:105::d121) (Quit: You have been kicked for being idle)
2022-08-25 11:00:31 +0200 <nrv> 99.9% you switched it yourself somehow and didn't notice or something
2022-08-25 11:00:47 +0200elonsroadster[m](~elonsroad@2001:470:69fc:105::d121)
2022-08-25 11:01:02 +0200 <nrv> i don't believe a website can to that arbitrarily
2022-08-25 11:01:12 +0200 <nrv> only if you click on notification
2022-08-25 11:03:16 +0200elonsroadster[m](~elonsroad@2001:470:69fc:105::d121) ()
2022-08-25 11:05:09 +0200Benzi-Junior(~BenziJuni@dsl-149-67-162.hive.is) (Ping timeout: 252 seconds)
2022-08-25 11:19:06 +0200 <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
2022-08-25 11:19:07 +0200 <nrv> switch on tab focus. just like like with notifications
2022-08-25 11:20:10 +0200 <nrv> So it probably sends something too. If it's now _NET_ACTIVE_WINDOW, then what?
2022-08-25 11:23:35 +0200wonko(~wjc@2a0e:1c80:2::130) (Ping timeout: 255 seconds)
2022-08-25 11:24:17 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-25 11:28:33 +0200 <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.
2022-08-25 11:35:17 +0200Benzi-Junior(~BenziJuni@88-149-67-162.du.xdsl.is)
2022-08-25 11:37:01 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
2022-08-25 11:39:38 +0200nrv(~nrv@5.104.46.197) (Quit: Client closed)
2022-08-25 11:42:46 +0200 <liskin> it's unlikely it'd be doing something else than _NET_ACTIVE_WINDOW
2022-08-25 11:42:50 +0200 <liskin> it's either that or nothing
2022-08-25 11:43:17 +0200 <liskin> so this seems unlikely to have a workaround in xmonad
2022-08-25 11:44:22 +0200nrv(~nrv@5.104.46.197)
2022-08-25 12:17:35 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds)
2022-08-25 12:27:44 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-25 12:27:53 +0200themc47(~mc47@xmonad/TheMC47)
2022-08-25 12:42:21 +0200themc47(~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds)
2022-08-25 12:43:41 +0200sogens(~sogens@211.30.36.43) (Ping timeout: 260 seconds)
2022-08-25 12:52:55 +0200wonko(~wjc@2a0e:1c80:2::130)
2022-08-25 12:56:22 +0200sogens(~sogens@211.30.36.43)
2022-08-25 13:07:54 +0200nrv(~nrv@5.104.46.197) (Quit: Client closed)
2022-08-25 13:13:38 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-25 13:30:21 +0200wonko(~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds)
2022-08-25 14:05:34 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-25 14:17:21 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds)
2022-08-25 14:20:14 +0200 <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
2022-08-25 14:31:09 +0200B-J(~BenziJuni@dsl-149-67-162.hive.is)
2022-08-25 14:31:32 +0200Benzi-Junior(~BenziJuni@88-149-67-162.du.xdsl.is) (Ping timeout: 268 seconds)
2022-08-25 14:52:49 +0200mc47(~mc47@xmonad/TheMC47)
2022-08-25 15:22:30 +0200cfricke(~cfricke@user/cfricke)
2022-08-25 15:28:03 +0200twiclo1(~twiclo@204.14.20.66.static.utbb.net) (Ping timeout: 252 seconds)
2022-08-25 15:30:23 +0200twiclo1(~twiclo@mail.twil.cx)
2022-08-25 15:37:35 +0200ml|(~ml|@user/ml/x-5298235) (Ping timeout: 252 seconds)
2022-08-25 15:51:41 +0200ml|(~ml|@user/ml/x-5298235)
2022-08-25 15:58:57 +0200thyriaen(~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de)
2022-08-25 16:00:03 +0200 <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 ?
2022-08-25 16:01:59 +0200 <geekosaur> several people in here use xmonad with polybar but we haven't had any good examples contributed back 😞
2022-08-25 16:02:47 +0200 <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
2022-08-25 16:12:46 +0200 <thyriaen> :/ i am just looking for a good starting point
2022-08-25 16:13:11 +0200 <thyriaen> to get it running so it doesn't overlap with my windows and automatically loads a bar
2022-08-25 16:13:32 +0200 <thyriaen> the rest i will figure out on the way
2022-08-25 16:17:20 +0200 <geekosaur[m]> Overlapping is XMonad.Hooks.ManageDocks
2022-08-25 16:18:33 +0200 <geekosaur[m]> For a bar not being fed by X.H.StatusBar you can just use `spawn`
2022-08-25 16:19:34 +0200ml|(~ml|@user/ml/x-5298235) (Ping timeout: 268 seconds)
2022-08-25 16:33:28 +0200ml|(~ml|@user/ml/x-5298235)
2022-08-25 16:37:53 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-25 16:59:46 +0200ml|(~ml|@user/ml/x-5298235) (Ping timeout: 260 seconds)
2022-08-25 17:08:31 +0200cfricke(~cfricke@user/cfricke)
2022-08-25 17:13:10 +0200ml|(~ml|@user/ml/x-5298235)
2022-08-25 17:34:51 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 17:55:21 +0200 <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
2022-08-25 17:57:27 +0200thyriaen(~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-08-25 18:01:20 +0200liskin[m](~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle)
2022-08-25 18:06:46 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.6)
2022-08-25 18:06:50 +0200nymobster(~craig@67-133-223-36.dia.static.qwest.net)
2022-08-25 18:08:31 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-08-25 18:12:20 +0200steve_(~steve@ool-182c2b80.dyn.optonline.net)
2022-08-25 18:20:38 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 240 seconds)
2022-08-25 18:29:18 +0200alternateved(~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection)
2022-08-25 19:43:21 +0200noex(~null@user/noex) (Quit: :q!)
2022-08-25 20:46:13 +0200benin0(~benin@183.82.205.66)
2022-08-25 21:02:28 +0200td_(~td@94.134.91.83) (Quit: waking up from the american dream ...)
2022-08-25 21:05:17 +0200darkstardev13(~darkstard@50.53.212.60)
2022-08-25 21:05:28 +0200darkstarx(~darkstard@50.53.212.60) (Remote host closed the connection)
2022-08-25 21:05:39 +0200vanvik(~vanvik@46.249.253.75) (Quit: Ping timeout (120 seconds))
2022-08-25 21:05:53 +0200steve__(~steve@ool-182c2b80.dyn.optonline.net)
2022-08-25 21:06:00 +0200vanvik(~vanvik@46.249.253.75)
2022-08-25 21:07:57 +0200steve_(~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds)
2022-08-25 21:10:02 +0200steve__(~steve@ool-182c2b80.dyn.optonline.net) (Remote host closed the connection)
2022-08-25 21:10:19 +0200steve__(~steve@ool-182c2b80.dyn.optonline.net)
2022-08-25 21:43:16 +0200themc47(~mc47@xmonad/TheMC47)
2022-08-25 21:44:44 +0200mc47(~mc47@xmonad/TheMC47) (Ping timeout: 244 seconds)
2022-08-25 22:03:00 +0200nymobster(~craig@67-133-223-36.dia.static.qwest.net) (Quit: leaving)
2022-08-25 22:28:59 +0200sagax(~sagax_nb@user/sagax)
2022-08-25 22:32:25 +0200themc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-08-25 23:03:28 +0200mvk(~mvk@2607:fea8:5ce3:8500::a1ec)
2022-08-25 23:08:01 +0200 <quarkQuark[m]111> Is that an alternative to EWMH? So you know what the difference would be?
2022-08-25 23:08:18 +0200 <quarkQuark[m]111> *do you know
2022-08-25 23:11:30 +0200 <geekosaur> xmonad-log lets you use DynamicLog / StatusBar, whereas polybar using EWMH does its own formatting and such
2022-08-25 23:11:45 +0200liskin[m](~liskinmat@2001:470:69fc:105::768)
2022-08-25 23:12:07 +0200 <geekosaur> check the polybar manual to see how it uses EWMH directly
2022-08-25 23:42:42 +0200nrv(~nrv@5.104.46.197)
2022-08-25 23:44:51 +0200td_(~td@94.134.91.83)
2022-08-25 23:45:30 +0200nrv(~nrv@5.104.46.197) (Client Quit)