From 64063c0f26b6d73aa62316147cb82c14d3c58fbf Mon Sep 17 00:00:00 2001 From: Marc Coquand Date: Sun, 13 Oct 2024 11:31:54 +0200 Subject: Switch to exwm --- emacs | 56 +++++++++++++++++++++++++++++++++++++++++++++++----- gnupg/gpg-agent.conf | 4 +++- xinitrc | 11 +++++++++-- 3 files changed, 63 insertions(+), 8 deletions(-) diff --git a/emacs b/emacs index 31d8cc8..d2c488c 100644 --- a/emacs +++ b/emacs @@ -9,6 +9,7 @@ inhibit-startup-screen t display-time-format "%a, %d/%m/%Y %H:%M" default-frame-alist '((font . "Iosevka SS13 Extended") + (height . 170) (line-spacing . 0.5)) @@ -50,6 +51,7 @@ markdown-mode yasnippet yasnippet-snippets + pinentry avy tldr elfeed @@ -90,7 +92,7 @@ (column-number-mode) (line-number-mode) (display-time-mode) -(set-face-attribute 'default nil :height 150) +(set-face-attribute 'default nil :height 170) ;; activate all thpe packages (in particular autoloads) (package-initialize) @@ -104,6 +106,48 @@ (unless (package-installed-p package) (package-install package))) +(use-package exwm + :init + (setq exwm-workspace-number 4 + exwm-input-global-keys + `(([?\s-r] . exwm-reset) ;; s-r: Reset (to line-mode). + ([?\s-w] . exwm-workspace-switch) ;; s-w: Switch workspace. + ([?\s-&] . (lambda (cmd) ;; s-&: Launch application. + (interactive (list (read-shell-command "$ "))) + (start-process-shell-command cmd nil cmd))) + ;; s-N: Switch to certain workspace. + ,@(mapcar (lambda (i) + `(,(kbd (format "s-%d" i)) . + (lambda () + (interactive) + (exwm-workspace-switch-create ,i)))) + (number-sequence 0 9)))) + (exwm-enable) + (exwm-xim-mode) + (push ?\C-\\ exwm-input-prefix-keys) + :hook + (exwm-update-class . (lambda () + (exwm-workspace-rename-buffer exwm-class-name)))) + +(use-package pinentry + :ensure t + :init + (pinentry-start)) + +(use-package epa-file + :init + (epa-file-enable) + :config + (setq + epa-pinentry-mode 'loopback + epa-pinentry-mode 'loopback)) + +(use-package org-crypt + :config + (setenv "GPG_AGENT_INFO" nil) + (setq auth-source-debug t) + (org-crypt-use-before-save-magic)) + (use-package avy :ensure t :config @@ -197,8 +241,6 @@ :init (global-set-key (kbd "C-h D") 'devdocs-lookup)) - - (use-package sgml-mode :init (add-to-list 'auto-mode-alist '("\\.njk\\'" . html-mode)) @@ -326,6 +368,10 @@ Uses `marcc/timestamp-format' for formatting the date/time." (use-package ob-rec :ensure nil) +(defun sync-org () + (interactive) + (shell-command "org-sync")) + ;; Org (use-package org :ensure t @@ -375,7 +421,7 @@ Uses `marcc/timestamp-format' for formatting the date/time." (global-set-key (kbd "C-c j") #'org-goto) (global-set-key (kbd "C-c s") #'project-find-regexp) (global-set-key (kbd "C-c C-o") #'org-open-at-point-global) - (global-set-key (kbd "C-c C-s") (lambda () (interactive) (shell-command "org-sync"))) + (global-set-key (kbd "C-c C-s") #'sync-org) :hook ((org-mode . auto-save-visited-mode)) (org-mode . org-indent-mode) @@ -617,7 +663,7 @@ Uses `marcc/timestamp-format' for formatting the date/time." '("~/personal-db/notes/reminders.org" "/home/mccd/builds/sustainably/piva.org" "/home/mccd/personal-db/notes/programming.org" "/home/mccd/personal-db/notes/unix.org" "/home/mccd/personal-db/notes/sustainable-software.org" "/home/mccd/personal-db/notes/agency-and-tech.org" "/home/mccd/personal-db/notes/carving-my-own-road.org" "/home/mccd/personal-db/notes/emacs-teaches.org" "/home/mccd/personal-db/notes/emacs.org" "/home/mccd/personal-db/notes/inbox.org" "/home/mccd/personal-db/notes/todo.org")) '(org-fold-core-style 'overlays) '(package-selected-packages - '(exwm emms company orglink web-mode flycheck nix-mode nix-ts-mode avy pdf-tools elfeed-protocol lem yasnippet-snippets elfeed yasnippet smartparens markdown-mode mastodon tldr almost-mono-themes rec-mode magit go-mode expand-region devdocs)) + '(pinentry exwm emms company orglink web-mode flycheck nix-mode nix-ts-mode avy pdf-tools elfeed-protocol lem yasnippet-snippets elfeed yasnippet smartparens markdown-mode mastodon tldr almost-mono-themes rec-mode magit go-mode expand-region devdocs)) '(tab-bar-format '(tab-bar-separator tab-bar-format-align-right tab-bar-format-global)) '(yank-from-kill-ring-rotate t)) diff --git a/gnupg/gpg-agent.conf b/gnupg/gpg-agent.conf index 4ac5d53..b003ab0 100755 --- a/gnupg/gpg-agent.conf +++ b/gnupg/gpg-agent.conf @@ -1,4 +1,6 @@ default-cache-ttl 999999999 max-cache-ttl 999999999 allow-preset-passphrase -pinentry-program /usr/bin/pinentry-curses +allow-emacs-pinentry +allow-loopback-pinentry +pinentry-program /usr/bin/pinentry-tty diff --git a/xinitrc b/xinitrc index a52ce8f..6901b6a 100755 --- a/xinitrc +++ b/xinitrc @@ -1,5 +1,10 @@ . ~/.profile export LC_ALL=en_US.UTF-8 +export _JAVA_AWT_WM_NONREPARENTING=1 +export XMODIFIERS=@im=exwm-xim +export GTK_IM_MODULE=xim +export QT_IM_MODULE=xim +export CLUTTER_IM_MODULE=xim xrdb -load ~/.Xresources & autocutsel & xsetroot -solid '#282C34' & @@ -10,5 +15,7 @@ gsettings set org.gnome.desktop.interface font-name 'Iosevka Aile' & gsettings set org.gnome.desktop.interface cursor-size 32 & gsettings set org.gnome.desktop.interface cursor-theme Adwaita & setxkbmap -layout us -variant colemak -option "caps:ctrl_modifier" & -xkbcomp $HOME/.config/keymap_locked_modifier.xkb $DISPLAY & -dbus-run-session cwm +xkbcomp $HOME/.config/keymap_locked_modifier.xkb $DISPLAY & +xsetroot -cursor_name left_ptr & +xset r rate 200 60 & +dbus-run-session emacs -- cgit v1.2.3