aboutsummaryrefslogtreecommitdiffstats
path: root/oni/home/services/stumpwm/config
diff options
context:
space:
mode:
authorGravatar Tom Willemse2025-04-22 10:35:28 -0700
committerGravatar Tom Willemse2025-04-22 10:35:28 -0700
commit37a826f2e8e0098171d7ebd73078befa8373d709 (patch)
tree060c6962d265f56fe0cb0a752fd81612362b08ef /oni/home/services/stumpwm/config
parent2e7ace2f7982ef734887d63b1e28bd3759cc4652 (diff)
downloadnew-dotfiles-37a826f2e8e0098171d7ebd73078befa8373d709.tar.gz
new-dotfiles-37a826f2e8e0098171d7ebd73078befa8373d709.zip
Rename stumpwm/config to stumpwm.lisp
Diffstat (limited to 'oni/home/services/stumpwm/config')
-rw-r--r--oni/home/services/stumpwm/config162
1 files changed, 0 insertions, 162 deletions
diff --git a/oni/home/services/stumpwm/config b/oni/home/services/stumpwm/config
deleted file mode 100644
index 36208c5..0000000
--- a/oni/home/services/stumpwm/config
+++ /dev/null
@@ -1,162 +0,0 @@
-;; -*- mode: lisp; -*-
-(in-package :stumpwm-user)
-
-(require 'swank)
-
-(set-prefix-key (kbd "s-x"))
-
-(defvar *screen-locking-hook* nil
- "Hook that gets called right before the screen gets locked.")
-
-(defvar *screen-unlocked-hook* nil
- "Hook that gets called right after the screen is unlocked.")
-
-(defun run-screen-unlocked-hook (process)
- "Run `*screen-unlocked-hook* if PROCESS' status is `:exited'."
- (when (eq (sb-ext:process-status process) :exited)
- (run-hook *screen-unlocked-hook*)))
-
-(defun vpn-connected-p ()
- (probe-file "/sys/class/net/vpn"))
-
-(defcommand lock-screen () ()
- "Lock the screen using i3lock.
-Run `*screen-locking-hook*' before locking it and run `*screen-unlocked-hook*'
-after it has been unlocked."
- (run-hook *screen-locking-hook*)
- (sb-ext:run-program
- *shell-program* `("-c" ,(format nil "~a --nofork --color=000000" *locker-program*))
- :wait nil
- :status-hook #'run-screen-unlocked-hook))
-
-(defcommand raise-browser () ()
- "Open or show my browser"
- (run-or-raise "firefox" '(:class "firefox|zen(-beta)?")))
-
-(defcommand raise-emacs () ()
- "Open or show Emacs"
- (run-or-raise "emacsclient -c" '(:class "Emacs")))
-
-(defcommand raise-terminal () ()
- "Open or show my terminal"
- (run-or-raise "kitty" '(:class "kitty|org\.wezfurlong\.wezterm")))
-
-(define-key *top-map* (kbd "C-M-l") "lock-screen")
-(define-key *top-map* (kbd "s-b") "raise-browser")
-(define-key *top-map* (kbd "s-e") "raise-emacs")
-(define-key *top-map* (kbd "s-t") "raise-terminal")
-(define-key *top-map* (kbd "s-!") "exec rofi -show drun")
-(define-key *top-map* (kbd "s-w") "exec rofi -show window")
-
-(define-remapped-keys
- `(("teams-for-linux"
- ;; Mute microphone in meetings.
- ("XF86Launch6" . "C-S-m"))
- ("[Ff]irefox"
- ;; Generally cancel action.
- ("XF86Launch6" . "ESC"))
- ("[Ee]macs"
- ;; Save document.
- ("XF86Launch5" . ("C-x" "C-s"))
- ;; Save some documents.
- ("S-XF86Launch5" . ("C-x" "s"))
- ;; Quit command.
- ("XF86Launch6" . "C-g")
- ;; Revert (reload) file.
- ("XF86Launch7" . ("C-x" "x" "g")))
- ;; Portal: Revolution
- ("revolution"
- ;; Quick Save
- ("XF86Launch5" . "F6")
- ;; Quick Load
- ("XF86Launch7" . "F7"))))
-
-(set-bg-color "#222424")
-(set-border-color "#3f4242")
-(set-fg-color "#bfbfbf")
-(set-float-focus-color "#5b6161")
-(set-float-unfocus-color "#3f4242")
-(set-focus-color "#ff9800")
-(set-unfocus-color "#3f4242")
-
-(setf *mode-line-background-color* "#111414"
- *mode-line-foreground-color* "#bfbfbf"
- *mode-line-border-width* 0
- *mode-line-pad-x* 10)
-(setf *screen-mode-line-format*
- (list "[ ^B%n^b ] "
- "^[^(:bg \"#f17272\")^(:fg \"#222424\")[ "
- '(:eval
- (or (ignore-errors (window-title (current-window)))
- "Unknown"))
- " ]^]^>"
- '(:eval
- (if (vpn-connected-p)
- "^*5^B[ VPN ]^b^n "
- ""))
- "[ %d ] "))
-
-;;; Redefinition of the make mode-line window to add the Dock window type.
-(defun stumpwm::make-mode-line-window (screen)
- "Create a window suitable for a modeline."
- (let ((window (xlib:create-window
- :parent (screen-root screen)
- :x 0 :y 0 :width 1 :height 1
- :background (stumpwm::alloc-color screen *mode-line-background-color*)
- :border (stumpwm::alloc-color screen *mode-line-border-color*)
- :border-width *mode-line-border-width*
- ;; You can click the modeline
- :event-mask (xlib:make-event-mask :button-press :exposure)
- ;; these windows are not controlled by the window manager
- :override-redirect :on)))
- (xlib:change-property
- window :_NET_WM_WINDOW_TYPE
- (list (xlib:find-atom *display* :_NET_WM_WINDOW_TYPE_DOCK))
- :atom 32)
- window))
-
-(mode-line)
-
-;;; Screenshots
-
-(defvar *screenshot-bindings*
- (let ((m (make-sparse-keymap)))
- (define-key m (kbd "s") "exec flameshot gui")
- (define-key m (kbd "c") "exec flameshot screen")
- (define-key m (kbd "f") "exec flameshot full")
- m))
-
-(defvar *notification-bindings*
- (let ((m (make-sparse-keymap)))
- (define-key m (kbd "RET") "exec dunstctl action")
- (define-key m (kbd "c") "exec dunstctl close")
- (define-key m (kbd "S-c") "exec dunstctl close-all")
- (define-key m (kbd "SPC") "exec dunstctl context")
- (define-key m (kbd ",") "exec dunstctl history-pop")
- (define-key m (kbd "p") "exec dunstctl set-paused toggle")
- m))
-
-(defvar *user-bindings*
- (let ((m (make-sparse-keymap)))
- (define-key m (kbd "s") '*screenshot-bindings*)
- (define-key m (kbd "n") '*notification-bindings*)
- m))
-
-(define-key *top-map* (kbd "s-c") '*user-bindings*)
-
-(restore-from-file "default")
-
-(define-frame-preference "Default"
- (0 t nil :class "kitty")
- (0 t nil :class "org.wezfurlong.wezterm")
- (1 t nil :class "Emacs")
- (3 t nil :class "firefox"))
-
-(define-frame-preference "teams"
- (0 t t :class "teams-for-linux" :create t))
-
-(sb-ext:run-program *shell-program* '("-c" "feh --bg-center ~/pictures/wallpaper/5120x1440/wallhaven-v9ydgl.jpg"))
-
-(swank:create-server :dont-close t)
-
-(which-key-mode)