2022-08-25 00:23:27 +0200 | wonko | (~wjc@2a0e:1c80:2::130) |
2022-08-25 00:31:01 +0200 | wonko | (~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds) |
2022-08-25 00:32:55 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) |
2022-08-25 01:32:54 +0200 | V42 | (~V42@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Client closed) |
2022-08-25 02:15:54 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) (Quit: Going elsewhere) |
2022-08-25 02:17:05 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) |
2022-08-25 03:10:18 +0200 | catman | (~catman@user/catman) |
2022-08-25 03:12:09 +0200 | steve_ | (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds) |
2022-08-25 04:04:58 +0200 | banc | (banc@gateway/vpn/airvpn/banc) (Ping timeout: 268 seconds) |
2022-08-25 04:16:11 +0200 | td_ | (~td@94.134.91.14) (Ping timeout: 260 seconds) |
2022-08-25 04:17:48 +0200 | td_ | (~td@94.134.91.83) |
2022-08-25 04:23:19 +0200 | banc | (banc@gateway/vpn/airvpn/banc) |
2022-08-25 04:42:01 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
2022-08-25 04:44:12 +0200 | terrorjack | (~terrorjac@2a01:4f8:1c1e:509a::1) |
2022-08-25 06:49:21 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 244 seconds) |
2022-08-25 08:25:05 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-08-25 08:35:27 +0200 | mc47 | (~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 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-08-25 09:21:58 +0200 | nrv | (~nrv@5.104.46.197) |
2022-08-25 09:22:53 +0200 | alternateved | (~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 +0200 | scardinal | (~supreme@customer-212-237-101-39.ip4.gigabit.dk) (Ping timeout: 268 seconds) |
2022-08-25 09:38:11 +0200 | scardinal | (~supreme@customer-212-237-101-39.ip4.gigabit.dk) |
2022-08-25 10:07:17 +0200 | wonko | (~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 +0200 | mc47 | (~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 +0200 | elonsroadster[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 +0200 | elonsroadster[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 +0200 | elonsroadster[m] | (~elonsroad@2001:470:69fc:105::d121) () |
2022-08-25 11:05:09 +0200 | Benzi-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 +0200 | wonko | (~wjc@2a0e:1c80:2::130) (Ping timeout: 255 seconds) |
2022-08-25 11:24:17 +0200 | mc47 | (~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 +0200 | Benzi-Junior | (~BenziJuni@88-149-67-162.du.xdsl.is) |
2022-08-25 11:37:01 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
2022-08-25 11:39:38 +0200 | nrv | (~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 +0200 | nrv | (~nrv@5.104.46.197) |
2022-08-25 12:17:35 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds) |
2022-08-25 12:27:44 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-08-25 12:27:53 +0200 | themc47 | (~mc47@xmonad/TheMC47) |
2022-08-25 12:42:21 +0200 | themc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds) |
2022-08-25 12:43:41 +0200 | sogens | (~sogens@211.30.36.43) (Ping timeout: 260 seconds) |
2022-08-25 12:52:55 +0200 | wonko | (~wjc@2a0e:1c80:2::130) |
2022-08-25 12:56:22 +0200 | sogens | (~sogens@211.30.36.43) |
2022-08-25 13:07:54 +0200 | nrv | (~nrv@5.104.46.197) (Quit: Client closed) |
2022-08-25 13:13:38 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-08-25 13:30:21 +0200 | wonko | (~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds) |
2022-08-25 14:05:34 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
2022-08-25 14:17:21 +0200 | mc47 | (~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 +0200 | B-J | (~BenziJuni@dsl-149-67-162.hive.is) |
2022-08-25 14:31:32 +0200 | Benzi-Junior | (~BenziJuni@88-149-67-162.du.xdsl.is) (Ping timeout: 268 seconds) |
2022-08-25 14:52:49 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2022-08-25 15:22:30 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-08-25 15:28:03 +0200 | twiclo1 | (~twiclo@204.14.20.66.static.utbb.net) (Ping timeout: 252 seconds) |
2022-08-25 15:30:23 +0200 | twiclo1 | (~twiclo@mail.twil.cx) |
2022-08-25 15:37:35 +0200 | ml| | (~ml|@user/ml/x-5298235) (Ping timeout: 252 seconds) |
2022-08-25 15:51:41 +0200 | ml| | (~ml|@user/ml/x-5298235) |
2022-08-25 15:58:57 +0200 | thyriaen | (~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 +0200 | ml| | (~ml|@user/ml/x-5298235) (Ping timeout: 268 seconds) |
2022-08-25 16:33:28 +0200 | ml| | (~ml|@user/ml/x-5298235) |
2022-08-25 16:37:53 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
2022-08-25 16:59:46 +0200 | ml| | (~ml|@user/ml/x-5298235) (Ping timeout: 260 seconds) |
2022-08-25 17:08:31 +0200 | cfricke | (~cfricke@user/cfricke) |
2022-08-25 17:13:10 +0200 | ml| | (~ml|@user/ml/x-5298235) |
2022-08-25 17:34:51 +0200 | mvk | (~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 +0200 | thyriaen | (~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de) (Remote host closed the connection) |
2022-08-25 18:01:20 +0200 | liskin[m] | (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle) |
2022-08-25 18:06:46 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
2022-08-25 18:06:50 +0200 | nymobster | (~craig@67-133-223-36.dia.static.qwest.net) |
2022-08-25 18:08:31 +0200 | jao | (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
2022-08-25 18:12:20 +0200 | steve_ | (~steve@ool-182c2b80.dyn.optonline.net) |
2022-08-25 18:20:38 +0200 | mvk | (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 240 seconds) |
2022-08-25 18:29:18 +0200 | alternateved | (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
2022-08-25 19:43:21 +0200 | noex | (~null@user/noex) (Quit: :q!) |
2022-08-25 20:46:13 +0200 | benin0 | (~benin@183.82.205.66) |
2022-08-25 21:02:28 +0200 | td_ | (~td@94.134.91.83) (Quit: waking up from the american dream ...) |
2022-08-25 21:05:17 +0200 | darkstardev13 | (~darkstard@50.53.212.60) |
2022-08-25 21:05:28 +0200 | darkstarx | (~darkstard@50.53.212.60) (Remote host closed the connection) |
2022-08-25 21:05:39 +0200 | vanvik | (~vanvik@46.249.253.75) (Quit: Ping timeout (120 seconds)) |
2022-08-25 21:05:53 +0200 | steve__ | (~steve@ool-182c2b80.dyn.optonline.net) |
2022-08-25 21:06:00 +0200 | vanvik | (~vanvik@46.249.253.75) |
2022-08-25 21:07:57 +0200 | steve_ | (~steve@ool-182c2b80.dyn.optonline.net) (Ping timeout: 252 seconds) |
2022-08-25 21:10:02 +0200 | steve__ | (~steve@ool-182c2b80.dyn.optonline.net) (Remote host closed the connection) |
2022-08-25 21:10:19 +0200 | steve__ | (~steve@ool-182c2b80.dyn.optonline.net) |
2022-08-25 21:43:16 +0200 | themc47 | (~mc47@xmonad/TheMC47) |
2022-08-25 21:44:44 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Ping timeout: 244 seconds) |
2022-08-25 22:03:00 +0200 | nymobster | (~craig@67-133-223-36.dia.static.qwest.net) (Quit: leaving) |
2022-08-25 22:28:59 +0200 | sagax | (~sagax_nb@user/sagax) |
2022-08-25 22:32:25 +0200 | themc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2022-08-25 23:03:28 +0200 | mvk | (~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 +0200 | liskin[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 +0200 | nrv | (~nrv@5.104.46.197) |
2022-08-25 23:44:51 +0200 | td_ | (~td@94.134.91.83) |
2022-08-25 23:45:30 +0200 | nrv | (~nrv@5.104.46.197) (Client Quit) |