add xmonad and get rid of stumpwm
parent
c4ec2bf210
commit
70c1b057ab
41
channels.scm
41
channels.scm
|
@ -33,14 +33,14 @@ list
|
||||||
"993d200265630e9c408028a022f32f34acacdf29"
|
"993d200265630e9c408028a022f32f34acacdf29"
|
||||||
(openpgp-fingerprint
|
(openpgp-fingerprint
|
||||||
"7EBE A494 60CE 5E2C 0875 7FDB 3B5A A993 E1A2 DFF0"))))
|
"7EBE A494 60CE 5E2C 0875 7FDB 3B5A A993 E1A2 DFF0"))))
|
||||||
(channel
|
;;(channel
|
||||||
(name 'rrr)
|
;; (name 'rrr)
|
||||||
(url "https://git.sr.ht/~akagi/rrr")
|
;; (url "https://git.sr.ht/~akagi/rrr")
|
||||||
(introduction
|
;; (introduction
|
||||||
(make-channel-introduction
|
;; (make-channel-introduction
|
||||||
"794d6e5eb362bfcf81ada12b6a49a0cd55c8e031"
|
;; "794d6e5eb362bfcf81ada12b6a49a0cd55c8e031"
|
||||||
(openpgp-fingerprint
|
;; (openpgp-fingerprint
|
||||||
"FF72 877C 4F21 FC4D 467D 20C4 DCCB 5255 2098 B6C1"))))
|
;; "FF72 877C 4F21 FC4D 467D 20C4 DCCB 5255 2098 B6C1"))))
|
||||||
(channel
|
(channel
|
||||||
(name 'rde)
|
(name 'rde)
|
||||||
(url "https://git.sr.ht/~abcdw/rde")
|
(url "https://git.sr.ht/~abcdw/rde")
|
||||||
|
@ -48,4 +48,27 @@ list
|
||||||
(make-channel-introduction
|
(make-channel-introduction
|
||||||
"257cebd587b66e4d865b3537a9a88cccd7107c95"
|
"257cebd587b66e4d865b3537a9a88cccd7107c95"
|
||||||
(openpgp-fingerprint
|
(openpgp-fingerprint
|
||||||
"2841 9AC6 5038 7440 C7E9 2FFA 2208 D209 58C1 DEB0")))))
|
"2841 9AC6 5038 7440 C7E9 2FFA 2208 D209 58C1 DEB0"))))
|
||||||
|
(channel
|
||||||
|
(name 'radix)
|
||||||
|
(url "https://codeberg.org/anemofilia/radix.git")
|
||||||
|
(branch "main")
|
||||||
|
(introduction
|
||||||
|
(make-channel-introduction
|
||||||
|
"f9130e11e35d2c147c6764ef85542dc58dc09c4f"
|
||||||
|
(openpgp-fingerprint
|
||||||
|
"F164 709E 5FC7 B32B AEC7 9F37 1F2E 76AC E3F5 31C8"))))
|
||||||
|
(channel
|
||||||
|
(name 'ajatt)
|
||||||
|
(url "https://codeberg.org/hashirama/ajatt-tools-guix.git")
|
||||||
|
(branch "main")
|
||||||
|
(introduction
|
||||||
|
(make-channel-introduction
|
||||||
|
"5f1904f1a514b89b2d614300d8048577aa717617"
|
||||||
|
(openpgp-fingerprint
|
||||||
|
"F164 709E 5FC7 B32B AEC7 9F37 1F2E 76AC E3F5 31C8"))))
|
||||||
|
;;(channel
|
||||||
|
;; (name 'guix-local)
|
||||||
|
;; (url "https://codeberg.org/florhizome/guix-local.git")
|
||||||
|
;; (commit "6b6e50e3f4b7edc52d9116e4ff61ec57cd24a802"))
|
||||||
|
)
|
||||||
|
|
13
config.scm
13
config.scm
|
@ -14,6 +14,9 @@
|
||||||
(guix packages)
|
(guix packages)
|
||||||
(gnu packages fcitx5)
|
(gnu packages fcitx5)
|
||||||
(gnu packages gnuzilla)
|
(gnu packages gnuzilla)
|
||||||
|
(gnu packages haskell)
|
||||||
|
(gnu packages gcc)
|
||||||
|
(gnu packages commencement)
|
||||||
(gnu packages freedesktop)
|
(gnu packages freedesktop)
|
||||||
(gnu packages image)
|
(gnu packages image)
|
||||||
(gnu packages image-viewers)
|
(gnu packages image-viewers)
|
||||||
|
@ -132,6 +135,7 @@
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
xdg-desktop-portal
|
xdg-desktop-portal
|
||||||
tmux
|
tmux
|
||||||
|
gnupg
|
||||||
sdcv
|
sdcv
|
||||||
alacritty
|
alacritty
|
||||||
;; stumpwm-test
|
;; stumpwm-test
|
||||||
|
@ -178,7 +182,16 @@
|
||||||
picom
|
picom
|
||||||
feh
|
feh
|
||||||
xmodmap
|
xmodmap
|
||||||
|
;; deps for xmonad
|
||||||
|
xmonad
|
||||||
|
ghc ;; ridiculous, gcc and ghc are runtime dependencies , yet people didnt put in the package description
|
||||||
|
gcc
|
||||||
|
gcc-toolchain
|
||||||
|
xmessage
|
||||||
|
ghc-xmonad-contrib
|
||||||
rofi
|
rofi
|
||||||
|
linux-libre-headers
|
||||||
|
;;--------
|
||||||
yt-dlp
|
yt-dlp
|
||||||
;; nicotine+
|
;; nicotine+
|
||||||
linux-firmware
|
linux-firmware
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
(use-modules (gnu home)
|
(use-modules (gnu home)
|
||||||
(gnu packages)
|
(gnu packages)
|
||||||
(gnu services)
|
(gnu services)
|
||||||
|
(gnu packages haskell)
|
||||||
(guix gexp)
|
(guix gexp)
|
||||||
(radix utils)
|
(radix utils)
|
||||||
(gnu home services)
|
(gnu home services)
|
||||||
|
@ -100,6 +101,7 @@
|
||||||
aria2
|
aria2
|
||||||
xdg-desktop-portal
|
xdg-desktop-portal
|
||||||
xdg-desktop-portal-gtk
|
xdg-desktop-portal-gtk
|
||||||
|
gnupg
|
||||||
xprop
|
xprop
|
||||||
;;nicotine+
|
;;nicotine+
|
||||||
yt-dlp
|
yt-dlp
|
||||||
|
@ -150,6 +152,12 @@
|
||||||
sbcl-clx
|
sbcl-clx
|
||||||
sbcl-stumpwm-swm-gaps
|
sbcl-stumpwm-swm-gaps
|
||||||
cmus
|
cmus
|
||||||
|
;; xmonad
|
||||||
|
xmonad
|
||||||
|
ghc
|
||||||
|
xmobar
|
||||||
|
ghc-xmonad-contrib
|
||||||
|
;;-----------------
|
||||||
zstd
|
zstd
|
||||||
;; suckless-dictpopup
|
;; suckless-dictpopup
|
||||||
scrot
|
scrot
|
||||||
|
@ -196,8 +204,12 @@
|
||||||
"/home/hashirama/src/guix-config/.bash_profile"
|
"/home/hashirama/src/guix-config/.bash_profile"
|
||||||
"bash_profile")))
|
"bash_profile")))
|
||||||
(environment-variables
|
(environment-variables
|
||||||
'(("GUILE_LOAD_PATH"
|
'(
|
||||||
. "$HOME/dev/guix_channel/ajatt-tools-guix:$GUILE_LOAD_PATH")))
|
("GUILE_LOAD_PATH"
|
||||||
|
. "$HOME/dev/guix_channel/ajatt-tools-guix:$GUILE_LOAD_PATH")
|
||||||
|
("XMONAD_CONFIG_DIR"
|
||||||
|
. "$HOME/.xmonad")
|
||||||
|
))
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
||||||
|
@ -301,7 +313,7 @@
|
||||||
("SHELL" . "bash")
|
("SHELL" . "bash")
|
||||||
("TERMINAL" . "kitty")
|
("TERMINAL" . "kitty")
|
||||||
("VISUAL" . "emacs")
|
("VISUAL" . "emacs")
|
||||||
("WM" . "stumpwm")))))
|
("WM" . "xmonad")))))
|
||||||
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,132 +0,0 @@
|
||||||
;; This "home-environment" file can be passed to 'guix home reconfigure'
|
|
||||||
;; to reproduce the content of your profile. This is "symbolic": it only
|
|
||||||
;; specifies package names. To reproduce the exact same profile, you also
|
|
||||||
;; need to capture the channels being used, as returned by "guix describe".
|
|
||||||
;; See the "Replicating Guix" section in the manual.
|
|
||||||
|
|
||||||
(use-modules (gnu home)
|
|
||||||
(gnu packages)
|
|
||||||
(gnu services)
|
|
||||||
(guix gexp)
|
|
||||||
(gnu home services shells))
|
|
||||||
|
|
||||||
(home-environment
|
|
||||||
;; Below is the list of packages that will show up in your
|
|
||||||
;; Home profile, under ~/.guix-home/profile.
|
|
||||||
(packages (specifications->packages (list "flameshot"
|
|
||||||
"ncmpcpp"
|
|
||||||
"font-meslo-lg-dz"
|
|
||||||
"font-meslo-lg"
|
|
||||||
"gd-tools"
|
|
||||||
"emacs-org-roam-ui"
|
|
||||||
"wmctrl"
|
|
||||||
"telegram-desktop"
|
|
||||||
"lf"
|
|
||||||
"ranger"
|
|
||||||
"ueberzug++"
|
|
||||||
"fzf"
|
|
||||||
"emacs-org-roam"
|
|
||||||
"libime"
|
|
||||||
"fcitx5-gtk4"
|
|
||||||
"fcitx5-qt"
|
|
||||||
"fcitx5-gtk"
|
|
||||||
"sselp"
|
|
||||||
"nano"
|
|
||||||
"thunar"
|
|
||||||
"mcomix"
|
|
||||||
"pinentry"
|
|
||||||
"goldendict-ng"
|
|
||||||
"xdg-utils"
|
|
||||||
"font-google-material-design-icons"
|
|
||||||
"gst-plugins-good-qt"
|
|
||||||
"qtmultimedia"
|
|
||||||
"xpad-module"
|
|
||||||
"unzip"
|
|
||||||
"zip"
|
|
||||||
"emacs-esxml"
|
|
||||||
"html-xml-utils"
|
|
||||||
"emacs-rainbow-delimiters"
|
|
||||||
"aria2"
|
|
||||||
"xdg-desktop-portal"
|
|
||||||
"xdg-desktop-portal-gtk"
|
|
||||||
"xprop"
|
|
||||||
"nicotine+"
|
|
||||||
"yt-dlp"
|
|
||||||
"higan"
|
|
||||||
"nyxt"
|
|
||||||
"emacs-nyxt"
|
|
||||||
"tmux"
|
|
||||||
"alacritty"
|
|
||||||
"lm-sensors"
|
|
||||||
"anki"
|
|
||||||
"emacs-olivetti"
|
|
||||||
"foliate"
|
|
||||||
"emacs-slime"
|
|
||||||
"python"
|
|
||||||
"xrdb"
|
|
||||||
"dbus"
|
|
||||||
"steam"
|
|
||||||
"make"
|
|
||||||
"p7zip"
|
|
||||||
"cmake"
|
|
||||||
"element-desktop"
|
|
||||||
"emacs-dirvish"
|
|
||||||
"readline"
|
|
||||||
"curl"
|
|
||||||
"nix"
|
|
||||||
"qpdfview"
|
|
||||||
"xclip"
|
|
||||||
"font-apple-color-emoji"
|
|
||||||
"emacs-nerd-icons"
|
|
||||||
"emacs-telega"
|
|
||||||
"htop"
|
|
||||||
"cl-clx"
|
|
||||||
"neofetch"
|
|
||||||
"kitty"
|
|
||||||
"sbcl-stumpwm-ttf-fonts"
|
|
||||||
"cl-clx-truetype"
|
|
||||||
"picom"
|
|
||||||
"feh"
|
|
||||||
"xmodmap"
|
|
||||||
"rofi"
|
|
||||||
"emacs-stumpwm-mode"
|
|
||||||
"sbcl-stumpwm-net"
|
|
||||||
"sbcl-stumpwm-cpu"
|
|
||||||
"sbcl-stumpwm-mem"
|
|
||||||
"sbcl-stumpwm-disk"
|
|
||||||
"sbcl-stumpwm-screenshot"
|
|
||||||
"sbcl-stumpwm-pamixer"
|
|
||||||
"sbcl-stumpwm-swm-gaps"
|
|
||||||
"cmus"
|
|
||||||
"zstd"
|
|
||||||
"scrot"
|
|
||||||
"cl-css"
|
|
||||||
"git"
|
|
||||||
"gst-plugins-good"
|
|
||||||
"gst-plugins-bad"
|
|
||||||
"gstreamer"
|
|
||||||
"ungoogled-chromium"
|
|
||||||
"guile"
|
|
||||||
"icecat"
|
|
||||||
"pavucontrol-qt"
|
|
||||||
"mpv"
|
|
||||||
"emacs")))
|
|
||||||
|
|
||||||
;; Below is the list of Home services. To search for available
|
|
||||||
;; services, run 'guix home search KEYWORD' in a terminal.
|
|
||||||
(services
|
|
||||||
(list (service home-bash-service-type
|
|
||||||
(home-bash-configuration
|
|
||||||
(aliases '(("analyze_video" . "~/.local/bin/analyze_video.sh")
|
|
||||||
("ct" . "~/.local/bin/compatibility.sh")
|
|
||||||
("grep" . "grep --color=auto")
|
|
||||||
("lf" . "~/.local/bin/lf/lfrun")
|
|
||||||
("ll" . "ls -l")
|
|
||||||
("ls" . "ls -p --color=auto")
|
|
||||||
("revive" . "xmodmap -e '\\''clear mod4'\\'' && xmodmap -e '\\''keycode 133 = F20'\\''")))
|
|
||||||
(bashrc (list (local-file
|
|
||||||
"/home/hashirama/src/guix-config/.bashrc"
|
|
||||||
"bashrc")))
|
|
||||||
(bash-profile (list (local-file
|
|
||||||
"/home/hashirama/src/guix-config/.bash_profile"
|
|
||||||
"bash_profile"))))))))
|
|
|
@ -1,171 +0,0 @@
|
||||||
(in-package :stumpwm)
|
|
||||||
|
|
||||||
(add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-ttf-fonts/")
|
|
||||||
(add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-swm-gaps/")
|
|
||||||
;;(add-to-list )
|
|
||||||
|
|
||||||
;;;; 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")
|
|
||||||
|
|
||||||
(defcommand screenshot () ()
|
|
||||||
(run-shell-command "flameshot gui --path=/mnt/Data/mpv-screenshots/screenshots"))
|
|
||||||
(define-key *top-map* (kbd "M-i") "screenshot")
|
|
||||||
|
|
||||||
(defcommand nyxt () ()
|
|
||||||
(run-or-raise "nyxt" '(:class "Nyxt")))
|
|
||||||
|
|
||||||
(define-key *top-map* (kbd "M-p") "nyxt")
|
|
||||||
|
|
||||||
;; in the case i want a new terminal
|
|
||||||
(define-key *top-map* (kbd "M-l") "exec kitty")
|
|
||||||
|
|
||||||
;; for reusing a open terminal
|
|
||||||
(defcommand terminal () ()
|
|
||||||
(run-or-raise "kitty" '(:class "kitty")))
|
|
||||||
|
|
||||||
(define-key *top-map* (kbd "M-v") "terminal")
|
|
||||||
|
|
||||||
(defcommand goldendict () ()
|
|
||||||
(run-or-raise "goldendict" '(:class "GoldenDict-ng")))
|
|
||||||
(define-key *top-map* (kbd "M-e") "goldendict")
|
|
||||||
|
|
||||||
|
|
||||||
(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)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(define-key *top-map* (kbd "M-n") "exec xmodmap -e 'clear mod4' && exec xmodmap -e 'keycode 133 = F20'")
|
|
||||||
(run-shell-command "xrdb /home/hashirama/.Xresources")
|
|
||||||
(run-shell-command "export GTK_IM_MODULE=fcitx")
|
|
||||||
(run-shell-command "export QT_IM_MODULE=fcitx")
|
|
||||||
(run-shell-command "export export XMODIFIERS=@im=fcitx")
|
|
||||||
(sleep 2)
|
|
||||||
(run-shell-command "fcitx5")
|
|
||||||
(sleep 2)
|
|
||||||
|
|
||||||
(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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(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))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
(load-module "ttf-fonts")
|
|
||||||
|
|
||||||
(setf xft:*font-dirs* '("~/.local/share/fonts/"))
|
|
||||||
(xft:cache-fonts)
|
|
||||||
|
|
||||||
(set-font (make-instance 'xft:font :family "Iosevka Comfy,Iosevka Comfy SemiLight" :subfamily "SemiLight" :size 10))
|
|
||||||
(setf *startup-message* "fonts loaded")
|
|
||||||
|
|
||||||
|
|
||||||
(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 "| "
|
|
||||||
|
|
||||||
" |")))
|
|
||||||
|
|
||||||
|
|
||||||
" ^7* " '(:eval (pretty-time)); date
|
|
||||||
))
|
|
||||||
|
|
||||||
|
|
||||||
;; gaps
|
|
||||||
|
|
||||||
|
|
||||||
(load-module "swm-gaps")
|
|
||||||
|
|
||||||
(setf swm-gaps:*inner-gaps-size* 10
|
|
||||||
swm-gaps:*outer-gaps-size* 5
|
|
||||||
swm-gaps:*head-gaps-size* 5)
|
|
||||||
|
|
||||||
(when *initializing*
|
|
||||||
(swm-gaps:toggle-gaps))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,8 @@
|
||||||
|
$ ghc --make xmonad.hs -dynamic -fPIC -i -ilib -fforce-recomp -main-is main -v0 -outputdir /home/hashirama/.xmonad/build-x86_64-linux -o /home/hashirama/.xmonad/xmonad-x86_64-linux
|
||||||
|
|
||||||
|
xmonad.hs:56:1: warning: [-Wtabs]
|
||||||
|
Tab character found here, and in two further locations.
|
||||||
|
Please use spaces instead.
|
||||||
|
|
|
||||||
|
56 | spawnOnce "xrdb /home/hashirama/.Xresources"
|
||||||
|
| ^^^^^^^^
|
|
@ -0,0 +1,115 @@
|
||||||
|
import XMonad
|
||||||
|
|
||||||
|
import XMonad.Hooks.DynamicLog
|
||||||
|
import XMonad.Hooks.ManageDocks
|
||||||
|
import XMonad.Hooks.ManageHelpers
|
||||||
|
import XMonad.Hooks.StatusBar
|
||||||
|
import XMonad.Hooks.StatusBar.PP
|
||||||
|
|
||||||
|
import XMonad.StackSet as W -- float purposes
|
||||||
|
import XMonad.Actions.MouseResize
|
||||||
|
|
||||||
|
|
||||||
|
import XMonad.Util.EZConfig
|
||||||
|
import XMonad.Util.Loggers
|
||||||
|
import XMonad.Util.Ungrab
|
||||||
|
|
||||||
|
import XMonad.Layout.Magnifier
|
||||||
|
import XMonad.Layout.ThreeColumns
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
|
||||||
|
import XMonad.Hooks.EwmhDesktops
|
||||||
|
import XMonad.Util.SpawnOnce (spawnOnce)
|
||||||
|
|
||||||
|
-- run or raise
|
||||||
|
import XMonad.Actions.WindowGo (runOrRaise)
|
||||||
|
import XMonad.ManageHook (className)
|
||||||
|
import XMonad.StackSet (RationalRect(..))
|
||||||
|
--
|
||||||
|
|
||||||
|
import XMonad.Layout.Decoration (decoration, DefaultShrinker(..), Theme(..), shrinkText)
|
||||||
|
import XMonad.Layout.Simplest
|
||||||
|
import XMonad.Layout.SimplestFloat
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = xmonad
|
||||||
|
. ewmhFullscreen
|
||||||
|
. ewmh
|
||||||
|
. withEasySB (statusBarProp "xmobar" (pure myXmobarPP)) defToggleStrutsKey
|
||||||
|
$ myConfig
|
||||||
|
|
||||||
|
myConfig = def
|
||||||
|
{ modMask = mod4Mask -- Rebind Mod to the Super key
|
||||||
|
, layoutHook = myLayout -- Use custom layouts
|
||||||
|
, terminal = "alacritty"
|
||||||
|
, manageHook = myManageHook -- Match on certain windows
|
||||||
|
, startupHook = do
|
||||||
|
-- other startup commands
|
||||||
|
spawnOnce "xrandr --output HDMI-A-0 --mode 1366x768"
|
||||||
|
spawnOnce "xrdb /home/hashirama/.Xresources"
|
||||||
|
spawnOnce "feh --bg-fill /home/hashirama/wallpaper.jpg"
|
||||||
|
spawnOnce "compton -b"
|
||||||
|
}
|
||||||
|
`additionalKeysP`
|
||||||
|
[ ("M-d", spawn "rofi -show run")
|
||||||
|
, ("M-s", spawn "bash -c dictpopup")
|
||||||
|
, ("M-C-s", unGrab *> spawn "scrot -s" )
|
||||||
|
, ("M-e", runOrRaise "goldendict" (className =? "GoldenDict-ng"))
|
||||||
|
, ("M-p", runOrRaise "nyxt" (className =? "Nyxt"))
|
||||||
|
, ("M-t", withFocused $ windows . W.sink) -- Toggle float for the focused window
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
myManageHook :: ManageHook
|
||||||
|
myManageHook = composeAll
|
||||||
|
[ className =? "Gimp" --> doFloat
|
||||||
|
, isDialog --> doFloat
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
myTheme :: Theme
|
||||||
|
myTheme = def
|
||||||
|
{ decoHeight = 20 -- Adjust the height of the title bar as needed
|
||||||
|
-- Add other theme properties as needed
|
||||||
|
}
|
||||||
|
|
||||||
|
myLayout = mouseResize $ spacingRaw True (Border 10 10 10 10) True (Border 10 10 10 10) True $
|
||||||
|
Tall 1 (3/100) (1/2) ||| Full
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
myXmobarPP :: PP
|
||||||
|
myXmobarPP = def
|
||||||
|
{ ppSep = magenta " • "
|
||||||
|
, ppTitleSanitize = xmobarStrip
|
||||||
|
, ppCurrent = wrap " " "" . xmobarBorder "Top" "#8be9fd" 2
|
||||||
|
, ppHidden = white . wrap " " ""
|
||||||
|
, ppHiddenNoWindows = lowWhite . wrap " " ""
|
||||||
|
, ppUrgent = red . wrap (yellow "!") (yellow "!")
|
||||||
|
, ppOrder = \[ws, l, _, wins] -> [ws, l, wins]
|
||||||
|
, ppExtras = [logTitles formatFocused formatUnfocused]
|
||||||
|
}
|
||||||
|
where
|
||||||
|
formatFocused = wrap (white "[") (white "]") . magenta . ppWindow
|
||||||
|
formatUnfocused = wrap (lowWhite "[") (lowWhite "]") . blue . ppWindow
|
||||||
|
|
||||||
|
-- | Windows should have *some* title, which should not not exceed a
|
||||||
|
-- sane length.
|
||||||
|
ppWindow :: String -> String
|
||||||
|
ppWindow = xmobarRaw . (\w -> if null w then "untitled" else w) . shorten 30
|
||||||
|
|
||||||
|
blue, lowWhite, magenta, red, white, yellow :: String -> String
|
||||||
|
magenta = xmobarColor "#ff79c6" ""
|
||||||
|
blue = xmobarColor "#bd93f9" ""
|
||||||
|
white = xmobarColor "#f8f8f2" ""
|
||||||
|
yellow = xmobarColor "#f1fa8c" ""
|
||||||
|
red = xmobarColor "#ff5555" ""
|
||||||
|
lowWhite = xmobarColor "#bbbbbb" ""
|
|
@ -0,0 +1,114 @@
|
||||||
|
import XMonad
|
||||||
|
|
||||||
|
import XMonad.Hooks.DynamicLog
|
||||||
|
import XMonad.Hooks.ManageDocks
|
||||||
|
import XMonad.Hooks.ManageHelpers
|
||||||
|
import XMonad.Hooks.StatusBar
|
||||||
|
import XMonad.Hooks.StatusBar.PP
|
||||||
|
|
||||||
|
import XMonad.StackSet as W -- float purposes
|
||||||
|
import XMonad.Actions.MouseResize
|
||||||
|
|
||||||
|
|
||||||
|
import XMonad.Util.EZConfig
|
||||||
|
import XMonad.Util.Loggers
|
||||||
|
import XMonad.Util.Ungrab
|
||||||
|
|
||||||
|
import XMonad.Layout.Magnifier
|
||||||
|
import XMonad.Layout.ThreeColumns
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
|
||||||
|
import XMonad.Hooks.EwmhDesktops
|
||||||
|
import XMonad.Util.SpawnOnce (spawnOnce)
|
||||||
|
|
||||||
|
-- run or raise
|
||||||
|
import XMonad.Actions.WindowGo (runOrRaise)
|
||||||
|
import XMonad.ManageHook (className)
|
||||||
|
import XMonad.StackSet (RationalRect(..))
|
||||||
|
--
|
||||||
|
|
||||||
|
import XMonad.Layout.Decoration (decoration, DefaultShrinker(..), Theme(..), shrinkText)
|
||||||
|
import XMonad.Layout.Simplest
|
||||||
|
import XMonad.Layout.SimplestFloat
|
||||||
|
import XMonad.Layout.Spacing
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
main :: IO ()
|
||||||
|
main = xmonad
|
||||||
|
. ewmhFullscreen
|
||||||
|
. ewmh
|
||||||
|
. withEasySB (statusBarProp "xmobar" (pure myXmobarPP)) defToggleStrutsKey
|
||||||
|
$ myConfig
|
||||||
|
|
||||||
|
myConfig = def
|
||||||
|
{ modMask = mod4Mask -- Rebind Mod to the Super key
|
||||||
|
, layoutHook = myLayout -- Use custom layouts
|
||||||
|
, terminal = "alacritty"
|
||||||
|
, manageHook = myManageHook -- Match on certain windows
|
||||||
|
, startupHook = do
|
||||||
|
-- other startup commands
|
||||||
|
spawnOnce "xrandr --output HDMI-A-0 --mode 1366x768"
|
||||||
|
spawnOnce "xrdb /home/hashirama/.Xresources"
|
||||||
|
spawnOnce "feh --bg-fill /home/hashirama/wallpaper.jpg"
|
||||||
|
}
|
||||||
|
`additionalKeysP`
|
||||||
|
[ ("M-d", spawn "rofi -show run")
|
||||||
|
, ("M-s", spawn "bash -c dictpopup")
|
||||||
|
, ("M-C-s", unGrab *> spawn "scrot -s" )
|
||||||
|
, ("M-e", runOrRaise "goldendict" (className =? "GoldenDict-ng"))
|
||||||
|
, ("M-p", runOrRaise "nyxt" (className =? "Nyxt"))
|
||||||
|
, ("M-t", withFocused $ windows . W.sink) -- Toggle float for the focused window
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
myManageHook :: ManageHook
|
||||||
|
myManageHook = composeAll
|
||||||
|
[ className =? "Gimp" --> doFloat
|
||||||
|
, isDialog --> doFloat
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
myTheme :: Theme
|
||||||
|
myTheme = def
|
||||||
|
{ decoHeight = 20 -- Adjust the height of the title bar as needed
|
||||||
|
-- Add other theme properties as needed
|
||||||
|
}
|
||||||
|
|
||||||
|
myLayout = mouseResize $ spacingRaw True (Border 10 10 10 10) True (Border 10 10 10 10) True $
|
||||||
|
Tall 1 (3/100) (1/2) ||| Full
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
myXmobarPP :: PP
|
||||||
|
myXmobarPP = def
|
||||||
|
{ ppSep = magenta " • "
|
||||||
|
, ppTitleSanitize = xmobarStrip
|
||||||
|
, ppCurrent = wrap " " "" . xmobarBorder "Top" "#8be9fd" 2
|
||||||
|
, ppHidden = white . wrap " " ""
|
||||||
|
, ppHiddenNoWindows = lowWhite . wrap " " ""
|
||||||
|
, ppUrgent = red . wrap (yellow "!") (yellow "!")
|
||||||
|
, ppOrder = \[ws, l, _, wins] -> [ws, l, wins]
|
||||||
|
, ppExtras = [logTitles formatFocused formatUnfocused]
|
||||||
|
}
|
||||||
|
where
|
||||||
|
formatFocused = wrap (white "[") (white "]") . magenta . ppWindow
|
||||||
|
formatUnfocused = wrap (lowWhite "[") (lowWhite "]") . blue . ppWindow
|
||||||
|
|
||||||
|
-- | Windows should have *some* title, which should not not exceed a
|
||||||
|
-- sane length.
|
||||||
|
ppWindow :: String -> String
|
||||||
|
ppWindow = xmobarRaw . (\w -> if null w then "untitled" else w) . shorten 30
|
||||||
|
|
||||||
|
blue, lowWhite, magenta, red, white, yellow :: String -> String
|
||||||
|
magenta = xmobarColor "#ff79c6" ""
|
||||||
|
blue = xmobarColor "#bd93f9" ""
|
||||||
|
white = xmobarColor "#f8f8f2" ""
|
||||||
|
yellow = xmobarColor "#f1fa8c" ""
|
||||||
|
red = xmobarColor "#ff5555" ""
|
||||||
|
lowWhite = xmobarColor "#bbbbbb" ""
|
Loading…
Reference in New Issue