Logs: liberachat/#xmonad
| 2022-08-25 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!" |
| 2022-08-25 08:51:24 | <liskin> | long story short you just use wmctrl in the script |
| 2022-08-25 08:51:26 | <liskin> | or xdotool |
| 2022-08-25 08:51:30 | <liskin> | or something similar |
| 2022-08-25 08:51:44 | <dminuoso> | Can you prevent that behavior, though? |
| 2022-08-25 08:51:59 | <dminuoso> | Ah I guess by just not honoring _NET_ACTIVE_WINDOW at all |
| 2022-08-25 08:52:04 | <liskin> | you can certainly make xmonad ignore _NET_ACTIVE_WINDOW |
| 2022-08-25 08:52:20 | <dminuoso> | In a way, perhaps urgency + manual interaction is sufficient then. |
| 2022-08-25 08:52:35 | <dminuoso> | readUrgency + XMonad.Prompt for example |
| 2022-08-25 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 |
| 2022-08-25 08:53:15 | <liskin> | but it's not difficult to do in like 5 lines of code so .. |
| 2022-08-25 08:53:45 | <liskin> | still, if you want real safety against your focus being stolen then don't run X11 is the answer |
| 2022-08-25 08:54:05 | <liskin> | apps can literally just steal your focus without doing any EWMH stuff at all |
| 2022-08-25 08:54:21 | <liskin> | or just listen for keystrokes |
| 2022-08-25 08:54:22 | <dminuoso> | I did suffer from firefox suddenly stealing while I was typing my 1password password before. |
| 2022-08-25 08:54:41 | <dminuoso> | Well the thing is, in case of firefox its not firefox that Im worried about |
| 2022-08-25 08:54:48 | <liskin> | or inject keystrokes that launch your terminal and replace your shell with sl |
| 2022-08-25 08:54:53 | <dminuoso> | But the fact that firefox is a gateway to remotely controlled code, that can literally do whatever. |
| 2022-08-25 08:55:21 | <liskin> | if firefox is letting javascript apps issue _NET_ACTIVE_WINDOW requests that's a firefox bug though |
| 2022-08-25 08:55:46 | <liskin> | gnome/kde/windows/macos probably won't let you ignore activation requests at all |
| 2022-08-25 08:55:47 | <dminuoso> | Right, but that situation made me uncomfortable enough |
| 2022-08-25 08:55:55 | <dminuoso> | I think I already ignore _NET_ACTIVE_WINDOW because of that |
| 2022-08-25 08:56:00 | <liskin> | (gnome might with an extension) |
| 2022-08-25 08:56:09 | <dminuoso> | I cant recall any app grabbing focus for years., |
| 2022-08-25 08:56:20 | <dminuoso> | But then again I dont have "Im not an app I am a pager" apps running |
| 2022-08-25 08:57:41 | <nrv> | dminuoso: wtf |
| 2022-08-25 08:57:48 | <nrv> | how can firefox steal focus? |
| 2022-08-25 08:58:32 | <nrv> | i see how arbitrary X11 can, but firefox (really, the open website)? |
| 2022-08-25 08:58:41 | <nrv> | X11 app* |
| 2022-08-25 08:59:07 | <dminuoso> | I dont recall the specific circumstance that caused it to grab focus. |
| 2022-08-25 08:59:25 | <dminuoso> | It definitely was not malicious, or I would be holding a grudge over mozilla. |
| 2022-08-25 09:00:29 | × | elonsroadster[m] quits (~elonsroad@2001:470:69fc:105::d121) (Quit: You have been kicked for being idle) |
| 2022-08-25 09:00:31 | <nrv> | 99.9% you switched it yourself somehow and didn't notice or something |
| 2022-08-25 09:00:47 | → | elonsroadster[m] joins (~elonsroad@2001:470:69fc:105::d121) |
| 2022-08-25 09:01:02 | <nrv> | i don't believe a website can to that arbitrarily |
| 2022-08-25 09:01:12 | <nrv> | only if you click on notification |
| 2022-08-25 09:03:16 | ← | elonsroadster[m] parts (~elonsroad@2001:470:69fc:105::d121) () |
| 2022-08-25 09:05:09 | × | Benzi-Junior quits (~BenziJuni@dsl-149-67-162.hive.is) (Ping timeout: 252 seconds) |
| 2022-08-25 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 |
| 2022-08-25 09:19:07 | <nrv> | switch on tab focus. just like like with notifications |
| 2022-08-25 09:20:10 | <nrv> | So it probably sends something too. If it's now _NET_ACTIVE_WINDOW, then what? |
| 2022-08-25 09:23:35 | × | wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 255 seconds) |
| 2022-08-25 09:24:17 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 2022-08-25 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. |
| 2022-08-25 09:35:17 | → | Benzi-Junior joins (~BenziJuni@88-149-67-162.du.xdsl.is) |
| 2022-08-25 09:37:01 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds) |
| 2022-08-25 09:39:38 | × | nrv quits (~nrv@5.104.46.197) (Quit: Client closed) |
| 2022-08-25 09:42:46 | <liskin> | it's unlikely it'd be doing something else than _NET_ACTIVE_WINDOW |
| 2022-08-25 09:42:50 | <liskin> | it's either that or nothing |
| 2022-08-25 09:43:17 | <liskin> | so this seems unlikely to have a workaround in xmonad |
| 2022-08-25 09:44:22 | → | nrv joins (~nrv@5.104.46.197) |
| 2022-08-25 10:17:35 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 255 seconds) |
| 2022-08-25 10:27:44 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 2022-08-25 10:27:53 | → | themc47 joins (~mc47@xmonad/TheMC47) |
| 2022-08-25 10:42:21 | × | themc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds) |
| 2022-08-25 10:43:41 | × | sogens quits (~sogens@211.30.36.43) (Ping timeout: 260 seconds) |
| 2022-08-25 10:52:55 | → | wonko joins (~wjc@2a0e:1c80:2::130) |
| 2022-08-25 10:56:22 | → | sogens joins (~sogens@211.30.36.43) |
| 2022-08-25 11:07:54 | × | nrv quits (~nrv@5.104.46.197) (Quit: Client closed) |
| 2022-08-25 11:13:38 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 2022-08-25 11:30:21 | × | wonko quits (~wjc@2a0e:1c80:2::130) (Ping timeout: 260 seconds) |
| 2022-08-25 12:05:34 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
| 2022-08-25 12:17:21 | × | mc47 quits (~mc47@xmonad/TheMC47) (Ping timeout: 268 seconds) |
| 2022-08-25 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 |
| 2022-08-25 12:31:09 | → | B-J joins (~BenziJuni@dsl-149-67-162.hive.is) |
| 2022-08-25 12:31:32 | × | Benzi-Junior quits (~BenziJuni@88-149-67-162.du.xdsl.is) (Ping timeout: 268 seconds) |
| 2022-08-25 12:52:49 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 2022-08-25 13:22:30 | → | cfricke joins (~cfricke@user/cfricke) |
| 2022-08-25 13:28:03 | × | twiclo1 quits (~twiclo@204.14.20.66.static.utbb.net) (Ping timeout: 252 seconds) |
| 2022-08-25 13:30:23 | → | twiclo1 joins (~twiclo@mail.twil.cx) |
| 2022-08-25 13:37:35 | × | ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 252 seconds) |
| 2022-08-25 13:51:41 | → | ml| joins (~ml|@user/ml/x-5298235) |
| 2022-08-25 13:58:57 | → | thyriaen joins (~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de) |
| 2022-08-25 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 ? |
| 2022-08-25 14:01:59 | <geekosaur> | several people in here use xmonad with polybar but we haven't had any good examples contributed back 😞 |
| 2022-08-25 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 |
| 2022-08-25 14:12:46 | <thyriaen> | :/ i am just looking for a good starting point |
| 2022-08-25 14:13:11 | <thyriaen> | to get it running so it doesn't overlap with my windows and automatically loads a bar |
| 2022-08-25 14:13:32 | <thyriaen> | the rest i will figure out on the way |
| 2022-08-25 14:17:20 | <geekosaur[m]> | Overlapping is XMonad.Hooks.ManageDocks |
| 2022-08-25 14:18:33 | <geekosaur[m]> | For a bar not being fed by X.H.StatusBar you can just use `spawn` |
| 2022-08-25 14:19:34 | × | ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 268 seconds) |
| 2022-08-25 14:33:28 | → | ml| joins (~ml|@user/ml/x-5298235) |
| 2022-08-25 14:37:53 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
| 2022-08-25 14:59:46 | × | ml| quits (~ml|@user/ml/x-5298235) (Ping timeout: 260 seconds) |
| 2022-08-25 15:08:31 | → | cfricke joins (~cfricke@user/cfricke) |
| 2022-08-25 15:13:10 | → | ml| joins (~ml|@user/ml/x-5298235) |
| 2022-08-25 15:34:51 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::a1ec) |
| 2022-08-25 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 |
| 2022-08-25 15:57:27 | × | thyriaen quits (~thyriaen@p200300d46f0d2e000cfe0bb5876c8c0b.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 2022-08-25 16:01:20 | × | liskin[m] quits (~liskinmat@2001:470:69fc:105::768) (Quit: You have been kicked for being idle) |
| 2022-08-25 16:06:46 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.6) |
| 2022-08-25 16:06:50 | → | nymobster joins (~craig@67-133-223-36.dia.static.qwest.net) |
| 2022-08-25 16:08:31 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 2022-08-25 16:12:20 | → | steve_ joins (~steve@ool-182c2b80.dyn.optonline.net) |
| 2022-08-25 16:20:38 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::a1ec) (Ping timeout: 240 seconds) |
| 2022-08-25 16:29:18 | × | alternateved quits (~user@staticline-31-183-146-203.toya.net.pl) (Remote host closed the connection) |
| 2022-08-25 17:43:21 | × | noex quits (~null@user/noex) (Quit: :q!) |
| 2022-08-25 18:46:13 | → | benin0 joins (~benin@183.82.205.66) |
| 2022-08-25 19:02:28 | × | td_ quits (~td@94.134.91.83) (Quit: waking up from the american dream ...) |
All times are in UTC.