X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/blobdiff_plain/5ad7f83aa83c6b4ff6aa6057714ba15d47dfaa0a..b46e33ae7e2a096bb3a138fe9c28480b9617ac95:/init.org?ds=sidebyside diff --git a/init.org b/init.org index 7add2c1..b5e32d3 100644 --- a/init.org +++ b/init.org @@ -339,6 +339,33 @@ See [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.htm :config (or (server-running-p) (server-mode))) #+end_src +** Unicode support + +Font stack with better unicode support, around =Ubuntu Mono= and +=Hack=. + +#+begin_src emacs-lisp +(dolist (ft (fontset-list)) + (set-fontset-font + ft + 'unicode + (font-spec :name "Ubuntu Mono")) + (set-fontset-font + ft + 'unicode + (font-spec + :name "Hack") + nil + 'append) + (set-fontset-font + ft + 'unicode + (font-spec + :name "Symbola monospacified for DejaVu Sans Mono") + nil + 'append)) +#+end_src + * Core :PROPERTIES: :CUSTOM_ID: core @@ -535,13 +562,13 @@ Roll your own modal mode (exwm-input-set-key (kbd (format "s-%d" i)) (lambda () (interactive) - (exwm-workspace-switch-create ,i)))) + (exwm-workspace-switch-create i)))) ;; 's-SPC': Launch application - (exwm-input-set-key - (kbd "s-SPC") - (lambda (command) - (interactive (list (read-shell-command "➜ "))) - (start-process-shell-command command nil command))) + ;; (exwm-input-set-key + ;; (kbd "s-SPC") + ;; (lambda (command) + ;; (interactive (list (read-shell-command "➜ "))) + ;; (start-process-shell-command command nil command))) (exwm-input-set-key (kbd "M-s-SPC") #'counsel-linux-app) @@ -563,8 +590,8 @@ Roll your own modal mode ([?\C-v] . [next]) ([?\C-d] . [delete]) ([?\C-k] . [S-end delete]) - ;; cut/paste - ([?\C-w] . [?\C-x]) + ;; cut/copy/paste + ;; ([?\C-w] . [?\C-x]) ([?\M-w] . [?\C-c]) ([?\C-y] . [?\C-v]) ;; search @@ -581,11 +608,154 @@ Roll your own modal mode (require 'exwm-randr) (exwm-randr-enable) + ;; (exwm-input-set-key + ;; (kbd "s-") + ;; (lambda () + ;; (interactive) + ;; (start-process "urxvt" nil "urxvt"))) + + ;; (exwm-input-set-key + ;; (kbd "s-SPC") ;; rofi doesn't properly launch programs when started from emacs + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "rofi-run" nil "rofi -show run -display-run '> ' -display-window ' 🗔 '"))) + + ;; (exwm-input-set-key + ;; (kbd "s-/") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "rofi-win" nil "rofi -show window -display-run '> ' -display-window ' 🗔 '"))) + + ;; (exwm-input-set-key + ;; (kbd "M-SPC") + ;; (lambda () + ;; (interactive) + ;; (start-process "rofi-pass" nil "rofi-pass"))) + + ;; (exwm-input-set-key + ;; (kbd "") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "pamixer" nil "pamixer --toggle-mute"))) + + ;; (exwm-input-set-key + ;; (kbd "") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "pamixer" nil "pamixer --allow-boost --decrease 5"))) + + ;; (exwm-input-set-key + ;; (kbd "") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "pamixer" nil "pamixer --allow-boost --increase 5"))) + + ;; (exwm-input-set-key + ;; (kbd "") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "mpc" nil "mpc toggle"))) + + ;; (exwm-input-set-key + ;; (kbd "") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "mpc" nil "mpc prev"))) + + ;; (exwm-input-set-key + ;; (kbd "") + ;; (lambda () + ;; (interactive) + ;; (start-process-shell-command "mpc" nil "mpv next"))) + + (defun ab--exwm-pasystray () + "A command used to start pasystray." + (interactive) + (if (executable-find "pasystray") + (progn + (message "EXWM: starting pasystray ...") + (start-process-shell-command "pasystray" nil "pasystray --notify=all")) + (message "EXWM: pasystray is not installed, abort!"))) + + (add-hook 'exwm-init-hook #'ab--exwm-pasystray) + + (exwm-input-set-key + (kbd "s-t") + (lambda () + (interactive) + (exwm-floating-toggle-floating))) + (exwm-input-set-key - (kbd "M-SPC") + (kbd "s-f") (lambda () (interactive) - (start-process "rofi-pass" nil "rofi-pass")))) + (exwm-layout-toggle-fullscreen))) + + (exwm-input-set-key + (kbd "s-w") + (lambda () + (interactive) + (kill-buffer (current-buffer)))) + + (exwm-input-set-key + (kbd "s-q") + (lambda () + (interactive) + (exwm-manage--kill-client)))) +#+end_src + +**** sxhkdrc +:PROPERTIES: +:header-args+: :tangle ~/.config/sxhkd/sxhkdrc :mkdirp yes +:END: + +#+begin_src conf +# terminal emulator +super + Return + urxvt + +# program launcher +super + space + rofi -show run -display-run '> ' -display-window ' 🗔 ' + +# window finder +super + slash + rofi -show window -display-run '> ' -display-window ' 🗔 ' + +# password manager +alt + space + rofi-pass + +# make sxhkd reload its configuration files: +super + Escape + pkill -USR1 -x sxhkd + +# volume {up,down} +XF86Audio{Raise,Lower}Volume + pamixer --allow-boost --{in,de}crease 5 + +# mute +XF86AudioMute + pamixer --toggle-mute + +# playback control +XF86Audio{Play,Prev,Next} + mpc {toggle,prev,next} + +# Toggle keyboard layout +# super + F7 +# toggle-layout + +# Toggle Xfce presentation mode +# XF86LaunchB +# toggle-presentation-mode + +# monitor brightness +XF86MonBrightness{Up,Down} + light -{A,U} 5 + +super + apostrophe + rofi-light #+end_src *** [[https://orgmode.org/][Org mode]] @@ -647,6 +817,7 @@ There's no way I could top that, so I won't attempt to. ([S-down] . ivy-next-history-element) ("DEL" . ivy-backward-delete-char)) :config + (setq ivy-wrap t) (ivy-mode 1)) #+end_src @@ -754,6 +925,16 @@ TODO: break this giant source block down into individual org sections. (setq undo-tree-mode-lighter "")) #+end_src +* Programming modes + +** Lean mode + +#+begin_src emacs-lisp +(use-package lean-mode + :bind (:map lean-mode-map + ("S-SPC" . company-complete))) +#+end_src + * Post initialization :PROPERTIES: :CUSTOM_ID: post-initialization