diff --git a/stumpwm/stumpwmrc b/stumpwm/stumpwmrc index 1062c5d..8e66990 100644 --- a/stumpwm/stumpwmrc +++ b/stumpwm/stumpwmrc @@ -3,20 +3,33 @@ ;; StumpWM configuration file ;; ;; -;; 2016 - 2021 (c) Marcel Kapfer +;; 2016 - 2022 (c) Marcel Kapfer ;; MIT License (in-package :stumpwm) +(defun mmk2410/work () + "Returns T if running my work machine" + (string-equal (getenv "HOSTNAME") "knuth")) + ;; Other parameters (defparameter *key-layout* "de" "Stores the current key layout") -;; Default applicatoins -(defparameter *web-browser* "firefox-dev" "Stores the web browser") -(defparameter *editor* "es" "Stores the editor") -(defparameter *terminal* "gnome-terminal" "Stores the terminal emulator") -(defparameter *file-manager* "nautilus" "Stores the terminal emulator") -(defparameter *music-player* "spotify" "Stores the terminal emulator") +;; Default applications +(defparameter *app-web-browser* "firefox" "Stores the web browser") +(defparameter *app-snd-web-browser* "qutebrowser" "Stores the 2nd web browser") +(defparameter *app-terminal* "alacritty" "Stores the terminal emulator") +(defparameter *app-editor* "es" "Stores the editor") +(defparameter *app-db-browser* "beekeeper" "Stores the DB browser") +(defparameter *app-password* "keepassxc" "Stores the password manager") +(defparameter *app-file-manager* "nautilus" "Stores the terminal emulator") +(defparameter *app-music-player* "spotify" "Stores the terminal emulator") + +;; Host-specific default applications +(when (mmk2410/work) + (defparameter *app-ide* "phpstorm" "Stores the IDE") + (defparameter *app-api-builder* "postman" "Stores the API builder") + (defparameter *app-communication* "teams" "Stores the chat application")) ;; set correct module directory (set-module-dir "~/.stumpwm.d/modules") @@ -99,11 +112,24 @@ (set-prefix-key (kbd "C-q")) ;; Application keybindings -(define-key *root-map* (kbd "W") (concatenate 'string "exec " *web-browser*)) -(define-key *root-map* (kbd "c") (concatenate 'string "exec " *terminal*)) -(define-key *root-map* (kbd "e") (concatenate 'string "exec " *editor*)) -(define-key *root-map* (kbd "C-c") (concatenate 'string "exec " *file-manager*)) -(define-key *root-map* (kbd "m") (concatenate 'string "exec " *music-player*)) +(define-key *root-map* (kbd "W") (concatenate 'string "exec " *app-web-browser*)) +(define-key *root-map* (kbd "c") (concatenate 'string "exec " *app-terminal*)) +(define-key *root-map* (kbd "e") (concatenate 'string "exec " *app-editor*)) + +(defvar *application-run-bindings* + (let ((m (make-sparse-keymap))) + (define-key m (kbd "m") (concatenate 'string "exec " *app-music-player*)) + (define-key m (kbd "e") (concatenate 'string "exec " *app-file-manager*)) + (define-key m (kbd "d") (concatenate 'string "exec " *app-db-browser*)) + (define-key m (kbd "w") (concatenate 'string "exec " *app-snd-web-browser*)) + (define-key m (kbd "p") (concatenate 'string "exec " *app-password*)) + (when (mmk2410/work) + (define-key m (kbd "i") (concatenate 'string "exec " *app-ide*)) + (define-key m (kbd "a") (concatenate 'string "exec " *app-api-builder*)) + (define-key m (kbd "c") (concatenate 'string "exec " *app-communication*))) + m)) + +(define-key *root-map* (kbd "RET") '*application-run-bindings*) ;;; bind keys for changing workspace (define-key *top-map* (kbd "s-1") "gselect web")