35 lines
1.4 KiB
Org Mode
35 lines
1.4 KiB
Org Mode
:PROPERTIES:
|
|
:ID: cce/exwm_should_ignore_plasma_notifications
|
|
:END:
|
|
#+TITLE: EXWM should ignore Plasma notifications
|
|
#+filetags: :Emacs:CCE:EXWM:
|
|
#+PROPERTY: header-args :mkdirp yes :results none
|
|
#+PROPERTY: header-args:emacs-lisp :tangle exwm-ignore-plasma.el
|
|
|
|
#+ARCOLOGY_KEY: cce/exwm-ignore-plasma
|
|
#+ARCOLOGY_ALLOW_CRAWL: t
|
|
|
|
#+ARROYO_EMACS_MODULE: exwm-ignore-plasma
|
|
#+ARROYO_MODULE_WANTS: cce/exwm.org
|
|
|
|
#+begin_src emacs-lisp :exports none
|
|
(provide 'cce/exwm-ignore-plasma)
|
|
#+end_src
|
|
|
|
As of late, EXWM has been managing notifications, causing them to take over the active window, and
|
|
stealing focus. Very not okay, we make sure notifications go unmanaged here. I also tried to extend
|
|
this to make sure that Plasma's other windows aren't managed, but I gave up on that when it didn't
|
|
work. They don't really do much to identify themselves, =exwm--ewmh-state= is updated after the
|
|
floating and management check in =exwm-manage--manage-window=.
|
|
|
|
#+begin_src emacs-lisp
|
|
(unless (boundp 'exwm-manage-configurations) (setq exwm-manage-configurations nil))
|
|
(add-to-list 'exwm-manage-configurations
|
|
'((and (equal exwm-class-name "plasmashell")
|
|
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_NOTIFICATION exwm-window-type))
|
|
managed nil))
|
|
(add-to-list 'exwm-manage-configurations
|
|
'((and (equal exwm-class-name "plasmashell")
|
|
(memq xcb:Atom:_NET_WM_STATE_ABOVE exwm-window-type))))
|
|
#+end_src
|