complete-computing-environment/exwm_should_ignore_plasma_n...

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