Emacs Everywhere config
This commit is contained in:
parent
5e6f5d9bfa
commit
127f32a220
37
config.org
37
config.org
|
@ -2371,6 +2371,43 @@ I use the standard Unix-style password management system, [[https://www.password
|
||||||
(set-popup-rule! "^\\*Password-Store" :side 'right :size 0.25 :quit nil))
|
(set-popup-rule! "^\\*Password-Store" :side 'right :size 0.25 :quit nil))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Emacs Everywhere
|
||||||
|
|
||||||
|
#+call: confpkg("Emacs Everywhere")
|
||||||
|
|
||||||
|
Emacs Everywhere is a great idea. Unfortunately, the default package on MELPA
|
||||||
|
uses X-based window commands, while I use Hyprland, which is Wayland-based. To
|
||||||
|
fix this issue, we need to override some of the package's variables and
|
||||||
|
functions.
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(after! emacs-everywhere
|
||||||
|
;; Shell commands for interacting with window system
|
||||||
|
(setq emacs-everywhere-paste-command
|
||||||
|
'("wtype" "-M" "ctrl" "v" "-m" "ctrl")
|
||||||
|
emacs-everywhere-copy-command
|
||||||
|
'("sh" "-c" "wl-copy < %f")
|
||||||
|
emacs-everywhere-window-focus-command
|
||||||
|
'("hyprctl" "dispatch" "focuswindow" "address:%w")))
|
||||||
|
|
||||||
|
;; Function for accessing current window
|
||||||
|
(defadvice! ~/emacs-everywhere-app-info-hyprland ()
|
||||||
|
"Return information on the active window, in Hyprland."
|
||||||
|
:override #'emacs-everywhere--app-info-linux
|
||||||
|
(pcase-let*
|
||||||
|
((`(,window-id ,window-class ,window-title . ,window-dims-)
|
||||||
|
(split-string (shell-command-to-string
|
||||||
|
"hyprctl activewindow -j | jaq -r \
|
||||||
|
'.address, .class, .title, .at[], .size[]'")
|
||||||
|
"\n"))
|
||||||
|
(window-dims (mapcar #'string-to-number (butlast window-dims-))))
|
||||||
|
(make-emacs-everywhere-app
|
||||||
|
:id window-id
|
||||||
|
:class window-class
|
||||||
|
:title window-title
|
||||||
|
:geometry window-dims)))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
* Org
|
* Org
|
||||||
|
|
||||||
#+call: confpkg()
|
#+call: confpkg()
|
||||||
|
|
Loading…
Reference in a new issue