#+ARROYO_EMACS_MODULE: exwm-xcompmgr #+ARROYO_MODULE_WANTS: cce/exwm.org #+ARROYO_HOME_MODULE: hm/picom.nix #+ARROYO_SYSTEM_ROLE: endpoint
emacs-lisp source:(provide 'cce/exwm-xcompmgr)
First commit to xcompmgr was in 2003 and there are still people running non-composited X11 environments SMH
Starting picom in Emacs
i use picom, a simple X11 compositor that works with EXWM or i3wm or XMonad , and have it start after EXWM does, rather than through home-manager because KDE's kwin doesn't like to compete for the compositor. I provide a custom backend to prevent mpv from tearing.fn1https://github.com/mpv-player/mpv/wiki/FAQ#X11Intel
emacs-lisp source:(defun cce/run-picom () (interactive) (when (executable-find "picom") (start-process "picom" " *picom*" "picom" "--vsync" "--backend=glx"))) ;; "-i 0.9" (add-hook 'exwm-init-hook #'cce/run-picom) ; (add-hook 'after-init-hook #'cce/run-picom)
Starting picom on login with systemd
picom comes from home-manager and needs a working NixGL on non-nixos desktops. Rather than manage it with Emacs, let's just use home-manager now that I am running XMonad .
nix source: :tangle ~/arroyo-nix/hm/picom.nix{ pkgs, ... }: let myPicom = pkgs.lib.mkNixGLWrapper { name="picom"; pkg=pkgs.picom; }; in { home.packages = [ myPicom ]; services.picom = { enable = false; package = myPicom; backend = "glx"; # inactiveOpacity = 0.9; vSync = true; }; }