From bcd3ced038401dad5cf4fa8688c33ec741e41e47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=83=E4=BD=8F=E6=9F=B1=E9=96=93?= Date: Mon, 15 Jan 2024 20:21:08 +0000 Subject: [PATCH] Upload files to "stumpwm" --- stumpwm/init.lisp | 164 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 stumpwm/init.lisp diff --git a/stumpwm/init.lisp b/stumpwm/init.lisp new file mode 100644 index 0000000..1c914eb --- /dev/null +++ b/stumpwm/init.lisp @@ -0,0 +1,164 @@ +(in-package :stumpwm) + + +(init-load-path #p"~/.config/stumpwm/modules/") + +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-cpu") +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-mem") +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-disk") +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-net") +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-screenshot") +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-swm-gaps") +;;(stumpwm:add-to-load-path "/home/hashirama/.guix-profile/share/common-lisp/source/cl-clx-truetype") +(stumpwm:add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-ttf-fonts") + +;;;; gaps +;;(load-module "swm-gaps") +;; +(when *initializing* + (mode-line)) + + +(run-shell-command "xmodmap -e 'clear mod4'" t) ;; clears windowskey/mod4 + +(run-shell-command "xmodmap -e 'keycode 133 = F20'" t) ;;assigns F20 to keycode 133 + +(set-prefix-key (kbd "F20")) ;; sets prefix to F20 which was just assigned to windows key + +(run-shell-command "exec feh --bg-fill ~/wallpaper.jpg & picom -b") +(run-shell-command "xrandr --output HDMI-A-0 --mode 1366x768") +(define-key *top-map* (kbd "M-p") "exec nyxt") +(define-key *top-map* (kbd "M-l") "exec kitty") +(define-key *top-map* (kbd "M-d") "exec rofi -show run") +(define-key *root-map* (kbd "R") "restart-hard") + +;; Frames +(define-key *root-map* (kbd "x") "hsplit") +(define-key *root-map* (kbd "z") "vsplit") +(define-key *root-map* (kbd "n") "remove-split") +(define-key *root-map* (kbd "Q") "quit") + +(define-key *root-map* (kbd "q") "delete") +(define-key *root-map* (kbd "r") "remove") + +(define-key *root-map* (kbd "h") "move-focus left") +(define-key *root-map* (kbd "j") "move-focus down") +(define-key *root-map* (kbd "k") "move-focus up") +(define-key *root-map* (kbd "l") "move-focus right") +(define-key *top-map* (kbd "H") "move-window left") +(define-key *top-map* (kbd "J") "move-window down") +(define-key *top-map* (kbd "K") "move-window up") +(define-key *top-map* (kbd "L") "move-window right") + +(setf *mouse-focus-policy* :click) + + +(setf *mode-line-pad-x* 2) ; Adjust the value as needed +(setf *mode-line-pad-y* 2) ; Adjust the value as needed + +;; Set modeline colors +(setf *mode-line-background-color* "black") +(setf *mode-line-foreground-color* "white") ; Adjust the value as needed +(setf *mode-line-border-color* "black") + + + + + +;; ---------- +(setf *message-window-gravity* :center + *input-window-gravity* :center + *window-border-style* :thin + *message-window-padding* 10 + *maxsize-border-width* 2 + *normal-border-width* 2 + *transient-border-width* 2 + stumpwm::*float-window-border* 4 + stumpwm::*float-window-title-height* 20 + *mouse-focus-policy* :click) + + + + +(defun pretty-time () + "日付を '17:19:51 2014年4月27日、日曜日' の形式で返します。" + (defun stringify-dow (dow) + (nth dow '("月曜日" "火曜日" "水曜日" "木曜日" "金曜日" "土曜日" "日曜日"))) + (defun stringify-mon (mon) + (nth (- mon 1) '("1月" "2月" "3月" "4月" + "5月" "6月" "7月" "8月" + "9月" "10月" "11月" "12月"))) +(multiple-value-bind (sec min hr date mon yr dow dst-p tz) + (get-decoded-time) + (format NIL "~2,'0d:~2,'0d:~2,'0d ~d年~a時 ~d分、~a秒" + yr (stringify-mon mon) + date (stringify-dow dow) + hr min sec))) + +;; ---- + +(setf *mode-line-timeout* 2) + + +;;--- + + +(defvar *senju/workspaces* + ;; (list "一" "二" "三" "四" "五" "六" "七" "八" "九" "十" "数学" "勉強")) + + (list "一" "二" "三" "四" "五" "六" "七" "八" "九" "十" "数学" "勉強")) + (stumpwm:grename (nth 0 *senju/workspaces*)) +(dolist (workspace (cdr *senju/workspaces*)) + (stumpwm:gnewbg workspace)) + +(defvar *move-to-keybinds* + (list "!" "@" "#" "$" "%" "^" "&" "*" "(" "[" "]")) +(dotimes (y (length *senju/workspaces*)) + (let ((workspace (write-to-string (+ y 1)))) + (define-key *root-map* (kbd workspace) (concat "gselect " workspace)) + (define-key *root-map* (kbd (nth y *move-to-keybinds*)) (concat "gmove-and-follow " workspace)))) + +(defun workspace-number-to-character (index) + (elt '("一" "二" "三" "四" "五" "六" "七" "八" "九" "十" "数学" "勉強") index)) + +;; Modify the modeline format to display group numbers as characters +(defvar *modeline-format* + '(" " (:eval (workspace-number-to-character (current-group))) " " mode-line-misc-info mode-line-client + mode-line-modified mode-line-frame-identification " " mode-line-buffer-identification)) + + + + ;-- + +(setf *screen-mode-line-format* (list "[^B%n^b] %W^>%d")) +(setf *mode-line-timeout* 2) +(setf *screen-mode-line-format* + (list "[^B%n^b] %W " ; groups/windows + "^>" ; right align +(list '(:eval (concat "| " + (run-shell-command "top -bn 1 | grep '%Cpu' | awk '{printf \"%.0f%%\", $2 + $4}'" :output) + " |"))) + + + " ^7* " '(:eval (pretty-time)); date + )) + + +(load-module "ttf-fonts") + +(xft:cache-fonts) + +(set-font (make-instance 'xft:font :family "HanaMinA" :subfamily "Regular" :size 10)) +(setf *startup-message* "fonts loaded") + + + + + +(setf *inner-gaps-size* 10 + :*outer-gaps-size* 5 + *head-gaps-size* 5) +;; +(when *initializing* + (swm-gaps:toggle-gaps)) +