diff --git a/dotfiles/config/hypr/hyprland/binds.lua b/dotfiles/config/hypr/hyprland/binds.lua index 88ad930c..5b2dae6f 100644 --- a/dotfiles/config/hypr/hyprland/binds.lua +++ b/dotfiles/config/hypr/hyprland/binds.lua @@ -21,7 +21,7 @@ function M.setup(ctx) bind(main_mod .. " + Q", exec("hyprctl reload"), desc("Reload Hyprland")) bind(main_mod .. " + R", exec("hyprctl reload"), desc("Reload Hyprland")) bind(main_mod .. " + E", exec("emacsclient --eval '(emacs-everywhere)'"), desc("Open Emacs Everywhere")) - bind(main_mod .. " + V", exec("wl-paste | xdotool type --file -"), desc("Type clipboard contents")) + bind(main_mod .. " + V", exec("wl-paste --no-newline | ydotool type --file -"), desc("Type clipboard contents")) bind(main_mod .. " + X", exec("rofi_command.sh"), desc("Open command menu")) bind(main_mod .. " + I", exec("set_volume --unmute --change-volume +5"), desc("Raise volume", { repeating = true })) diff --git a/dotfiles/emacs.d/README.org b/dotfiles/emacs.d/README.org index 4cb67700..013d1ca2 100644 --- a/dotfiles/emacs.d/README.org +++ b/dotfiles/emacs.d/README.org @@ -1344,7 +1344,33 @@ Paradox is a package.el extension. I have no use for it now that I use straight. ** emacs-everywhere #+begin_src emacs-lisp (use-package emacs-everywhere - :commands emacs-everywhere) + :commands emacs-everywhere + :config + (progn + (defun imalison:emacs-everywhere-app-info-hyprland () + (require 'json) + (let* ((window (json-parse-string + (shell-command-to-string "hyprctl -j activewindow") + :object-type 'alist + :array-type 'list)) + (address (alist-get 'address window)) + (class (or (alist-get 'initialClass window) + (alist-get 'class window) + "")) + (title (or (alist-get 'title window) ""))) + (unless address + (user-error "Unable to determine active Hyprland window")) + (make-emacs-everywhere-app + :id address + :class class + :title title))) + + (add-to-list 'emacs-everywhere-system-configs + '((wayland . Hyprland) + :focus-command ("hyprctl" "dispatch" "focuswindow" "address:%w") + :info-function imalison:emacs-everywhere-app-info-hyprland) + t) + (setq emacs-everywhere--system-configured nil))) #+end_src ** atomic-chrome #+BEGIN_SRC emacs-lisp diff --git a/nixos/desktop.nix b/nixos/desktop.nix index e85cba0b..0f308970 100644 --- a/nixos/desktop.nix +++ b/nixos/desktop.nix @@ -207,6 +207,7 @@ # Visualization graphviz mermaid-cli + pandoc ] ++ ( if pkgs.stdenv.hostPlatform.system == "x86_64-linux"