Compare commits
10 Commits
b5e558a058
...
6caecdb766
Author | SHA1 | Date | |
---|---|---|---|
6caecdb766 | |||
b36184e40b | |||
2c0a70ee04 | |||
09ca990061 | |||
eda6ab8f4f | |||
0f7a325f0b | |||
7b95888dfa | |||
4a6436123e | |||
f724b9c29c | |||
f2bd8915a3 |
@ -3,196 +3,122 @@
|
||||
env:
|
||||
TERM: xterm-256color
|
||||
|
||||
schemas:
|
||||
lupan_dark: &lupan-dark
|
||||
primary:
|
||||
background: '#1a3a34'
|
||||
foreground: '#c8cfce'
|
||||
normal:
|
||||
black: '#000000'
|
||||
red: '#c59f9f'
|
||||
green: '#9fc59f'
|
||||
yellow: '#c5c59f'
|
||||
blue: '#9f9fc5'
|
||||
magenta: '#c59fc5'
|
||||
cyan: '#9fc5c5'
|
||||
white: '#c8cfce'
|
||||
bright: &bright-colors
|
||||
black: '#a0a0a0'
|
||||
red: '#e5b2b2'
|
||||
green: '#b4e5b2'
|
||||
yellow: '#e4e5b2'
|
||||
blue: '#b2cde5'
|
||||
magenta: '#e4b2e5'
|
||||
cyan: '#b2e5e5'
|
||||
white: '#ffffff'
|
||||
lupan_dark_blue: &lupan-dark-blue
|
||||
primary:
|
||||
background: '#092e50'
|
||||
foreground: '#c8cccf'
|
||||
normal: &dark-normal-colors
|
||||
black: '#000000'
|
||||
red: '#c59f9f'
|
||||
green: '#9fc59f'
|
||||
yellow: '#c5c59f'
|
||||
blue: '#9f9fc5'
|
||||
magenta: '#c59fc5'
|
||||
cyan: '#9fc5c5'
|
||||
white: '#c8cccf'
|
||||
bright: *bright-colors
|
||||
lupan_dark_gray: &lupan-dark-gray
|
||||
primary:
|
||||
background: '#474c51'
|
||||
foreground: '#c8cccf'
|
||||
normal: *dark-normal-colors
|
||||
bright: *bright-colors
|
||||
dark: &dark
|
||||
primary:
|
||||
background: '#1E293B'
|
||||
foreground: '#839496'
|
||||
normal:
|
||||
black: '#3f3f3f'
|
||||
red: '#ac7373'
|
||||
green: '#7f9f7f'
|
||||
yellow: '#dfaf8f'
|
||||
blue: '#7cb8bb'
|
||||
magenta: '#dc8cc3'
|
||||
cyan: '#93e0e3'
|
||||
white: '#dcdccc'
|
||||
bright: *bright-colors
|
||||
lupan_material_dark: &lupan-material-dark
|
||||
primary:
|
||||
background: '#263238'
|
||||
foreground: '#eeeeee'
|
||||
normal: &material-dark-normal
|
||||
black: '#212121'
|
||||
red: '#ef9a9a'
|
||||
green: '#a5d6a7'
|
||||
yellow: '#fff59d'
|
||||
blue: '#90caf9'
|
||||
magenta: '#ce93d8'
|
||||
cyan: '#80deea'
|
||||
white: '#fafafa'
|
||||
bright: *bright-colors
|
||||
lupan_light: &lupan-light
|
||||
primary:
|
||||
background: '#f2f6e1'
|
||||
foreground: '#1a3a34'
|
||||
normal: &lupan-light-normal
|
||||
black: '#000000'
|
||||
red: '#a65959'
|
||||
green: '#5ba659'
|
||||
yellow: '#a4a659'
|
||||
blue: '#5981a6'
|
||||
magenta: '#a459a6'
|
||||
cyan: '#59a6a6'
|
||||
white: '#f2f6e1'
|
||||
bright: *material-dark-normal
|
||||
lupan_material_light: &lupan-material-light
|
||||
primary:
|
||||
background: '#fafafa'
|
||||
foreground: '#424242'
|
||||
normal:
|
||||
black: '#212121'
|
||||
red: '#e53935'
|
||||
green: '#43a047'
|
||||
yellow: '#f9a825'
|
||||
blue: '#1e88e5'
|
||||
magenta: '#8e24aa'
|
||||
cyan: '#00acc1'
|
||||
white: '#fafafa'
|
||||
bright: *bright-colors
|
||||
light: &light
|
||||
primary:
|
||||
background: '#FAFAFA'
|
||||
foreground: '#546E7A'
|
||||
normal:
|
||||
black: '#546e7a'
|
||||
red: '#d50000'
|
||||
green: '#66bb6a'
|
||||
yellow: '#f57f17'
|
||||
blue: '#42a5f5'
|
||||
magenta: '#7e57c2'
|
||||
cyan: '#0097a7'
|
||||
white: '#fafafa'
|
||||
bright: *bright-colors
|
||||
faff: &faff
|
||||
primary:
|
||||
background: '#cdc8b1'
|
||||
foreground: '#000000'
|
||||
normal:
|
||||
black: '#000000'
|
||||
red: '#cd0000'
|
||||
green: '#008b00'
|
||||
yellow: '#ffff00'
|
||||
blue: '#0000ee'
|
||||
magenta: '#8b008b'
|
||||
cyan: '#008b8b'
|
||||
white: '#ffffff'
|
||||
bright:
|
||||
black: '#666666'
|
||||
red: '#ec6261'
|
||||
green: '#008b00'
|
||||
yellow: '#f0c649'
|
||||
blue: '#63b4f6'
|
||||
magenta: '#cb77f9'
|
||||
cyan: '#86d7db'
|
||||
white: '#d3d2d1'
|
||||
# (format t "~A" (cl-base16:apply-scheme (merge-pathnames "schemes/mexico-light/mexico-light.yaml" cl-base16:*source-dir*) "alacritty" "default"))
|
||||
# (format t "~A" (cl-base16:apply-scheme (merge-pathnames "schemes/mexico-light/mexico-light.yaml" cl-base16:*source-dir*) "alacritty" "default"))
|
||||
|
||||
gogh-tin: &gogh-tin
|
||||
primary:
|
||||
background: '#2e2e35'
|
||||
foreground: '#839496'
|
||||
normal:
|
||||
black: '#000000'
|
||||
red: '#8d534e'
|
||||
green: '#4e8d53'
|
||||
yellow: '#888d4e'
|
||||
blue: '#534e8d'
|
||||
magenta: '#8d4e88'
|
||||
cyan: '#4e888d'
|
||||
white: '#ffffff'
|
||||
bright:
|
||||
black: '#000000'
|
||||
red: '#b57d78'
|
||||
green: '#78b57d'
|
||||
yellow: '#b0b578'
|
||||
blue: '#7d78b5'
|
||||
magenta: '#b578b0'
|
||||
cyan: '#78b0b5'
|
||||
white: '#ffffff'
|
||||
# Base16 Espresso - alacritty color config
|
||||
# Unknown. Maintained by Alex Mirrington (https://github.com/alexmirrington)
|
||||
colors-dark: &dark
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x2d2d2d'
|
||||
foreground: '0xcccccc'
|
||||
|
||||
gogh-nord-light: &gogh-nord-light
|
||||
primary:
|
||||
background: '#ebeaf2'
|
||||
foreground: '#657b83'
|
||||
normal:
|
||||
black: '#003b4e'
|
||||
red: '#e64569'
|
||||
green: '#069f5f'
|
||||
yellow: '#dab752'
|
||||
blue: '#439ecf'
|
||||
magenta: '#d961dc'
|
||||
cyan: '#00b1be'
|
||||
white: '#b3b3b3'
|
||||
bright:
|
||||
black: '#3e89a1'
|
||||
red: '#e4859a'
|
||||
green: '#a2cca1'
|
||||
yellow: '#e1e387'
|
||||
blue: '#6fbbe2'
|
||||
magenta: '#e586e7'
|
||||
cyan: '#96dcda'
|
||||
white: '#dedede'
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x2d2d2d'
|
||||
cursor: '0xcccccc'
|
||||
|
||||
colors: *gogh-tin
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x2d2d2d'
|
||||
red: '0xd25252'
|
||||
green: '0xa5c261'
|
||||
yellow: '0xffc66d'
|
||||
blue: '0x6c99bb'
|
||||
magenta: '0xd197d9'
|
||||
cyan: '0xbed6ff'
|
||||
white: '0xcccccc'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x777777'
|
||||
red: '0xf9a959'
|
||||
green: '0x393939'
|
||||
yellow: '0x515151'
|
||||
blue: '0xb4b7b4'
|
||||
magenta: '0xe0e0e0'
|
||||
cyan: '0xf97394'
|
||||
white: '0xffffff'
|
||||
|
||||
colors1:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x3C4C55'
|
||||
foreground: '0xC5D4DD'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0x3C4C55'
|
||||
cursor: '0xC5D4DD'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x3C4C55'
|
||||
red: '0x83AFE5'
|
||||
green: '0x7FC1CA'
|
||||
yellow: '0xA8CE93'
|
||||
blue: '0x83AFE5'
|
||||
magenta: '0x9A93E1'
|
||||
cyan: '0xF2C38F'
|
||||
white: '0xC5D4DD'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x899BA6'
|
||||
red: '0x7FC1CA'
|
||||
green: '0x556873'
|
||||
yellow: '0x6A7D89'
|
||||
blue: '0x899BA6'
|
||||
magenta: '0x899BA6'
|
||||
cyan: '0xF2C38F'
|
||||
white: '0x556873'
|
||||
|
||||
# Base16 Mexico Light - alacritty color config
|
||||
# Sheldon Johnson
|
||||
colors-light: &light
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0xf8f8f8'
|
||||
foreground: '0x383838'
|
||||
|
||||
# Colors the cursor will use if `custom_cursor_colors` is true
|
||||
cursor:
|
||||
text: '0xf8f8f8'
|
||||
cursor: '0x383838'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0xf8f8f8'
|
||||
red: '0xab4642'
|
||||
green: '0x538947'
|
||||
yellow: '0xf79a0e'
|
||||
blue: '0x7cafc2'
|
||||
magenta: '0x96609e'
|
||||
cyan: '0x4b8093'
|
||||
white: '0x383838'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0xb8b8b8'
|
||||
red: '0xdc9656'
|
||||
green: '0xe8e8e8'
|
||||
yellow: '0xd8d8d8'
|
||||
blue: '0x585858'
|
||||
magenta: '0x282828'
|
||||
cyan: '0xa16946'
|
||||
white: '0x181818'
|
||||
|
||||
draw_bold_text_with_bright_colors: false
|
||||
|
||||
colors: *dark
|
||||
|
||||
font:
|
||||
size: 12
|
||||
normal:
|
||||
family: Iosevka ss01
|
||||
family: Iosevka Fixed Slab
|
||||
bold:
|
||||
family: Iosevka ss01 extrabold
|
||||
family: Iosevka Fixed Slab heavy
|
||||
|
||||
key_bindings:
|
||||
- key: F6
|
||||
|
@ -63,14 +63,16 @@ def createBar(monitor=None):
|
||||
widget.Spacer(10),
|
||||
widget.CurrentLayout(fmt="[{:3.3}]", fontsize=s["fontsize"]),
|
||||
widget.Spacer(10),
|
||||
widget.GroupBox(highlight_method='block',
|
||||
widget.GroupBox(highlight_method='line',
|
||||
fontsize=s["fontsize"],
|
||||
padding_y=10,
|
||||
margin_y=6,
|
||||
borderwidth=5,
|
||||
active=theme["foreground"],
|
||||
highlight_color=theme["background"],
|
||||
**subtheme("inactive", "this_current_screen_border", "this_screen_border",
|
||||
"other_current_screen_border", "other_screen_border")),
|
||||
widget.Spacer(5),
|
||||
widget.WindowCount(text_format="({num})", foreground=theme["inactive"]),
|
||||
widget.WindowCount(text_format="({num})", fontsize=s["fontsize"], foreground=theme["inactive"]),
|
||||
widget.Spacer(10),
|
||||
widget.WindowName(fontsize=s["fontsize"]),
|
||||
widget.Spacer(),
|
||||
@ -78,15 +80,15 @@ def createBar(monitor=None):
|
||||
text_open="▶",
|
||||
text_closed="◀",
|
||||
widgets=[
|
||||
widget.Spacer(10),
|
||||
widget.NetGraph(border_color=theme["inactive"], graph_color=theme["foreground"]),
|
||||
widget.Spacer(10),
|
||||
widget.HDDBusyGraph(border_color=theme["inactive"], graph_color=theme["foreground"]),
|
||||
widget.Spacer(10),
|
||||
widget.CPUGraph(border_color=theme["inactive"], graph_color=theme["foreground"]),
|
||||
widget.Spacer(10),
|
||||
widget.ThermalSensor(fontsize=s["fontsize"]),
|
||||
]),
|
||||
widget.Spacer(10),
|
||||
widget.NetGraph(border_color=theme["inactive"], graph_color=theme["foreground"]),
|
||||
widget.Spacer(10),
|
||||
widget.HDDBusyGraph(border_color=theme["inactive"], graph_color=theme["foreground"]),
|
||||
widget.Spacer(10),
|
||||
widget.CPUGraph(border_color=theme["inactive"], graph_color=theme["foreground"]),
|
||||
widget.Spacer(10),
|
||||
widget.ThermalSensor(fontsize=s["fontsize"]),
|
||||
]),
|
||||
widget.Spacer(10),
|
||||
widget.PulseVolume(fontsize=s["fontsize"]),
|
||||
widget.Spacer(10),
|
||||
@ -150,9 +152,16 @@ keys.extend([
|
||||
Key([mod], "y", lazy.window.toggle_minimize(), desc="Minimize focused window in monad mode"),
|
||||
Key([mod, "shift"], "F6", toggle_theme, desc="Kill focused window"),
|
||||
|
||||
Key([], "XF86MonBrightnessDown", lazy.spawn("brightnessctl set 5%-")),
|
||||
Key([], "XF86MonBrightnessUp", lazy.spawn("brightnessctl set 5%+")),
|
||||
Key([], "XF86AudioLowerVolume", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ -10%")),
|
||||
Key([], "XF86AudioRaiseVolume", lazy.spawn("pactl set-sink-volume @DEFAULT_SINK@ +10%")),
|
||||
Key([], "XF86AudioMute", lazy.spawn("pactl set-sink-mute @DEFAULT_SINK@ toggle")),
|
||||
|
||||
KeyChord([mod], "semicolon", [
|
||||
Key([], "f", lazy.spawn("firefox"), desc="Open Firefox"),
|
||||
Key([], "n", lazy.spawn("emacsclient -n -c"), desc="Open new Emacs frame"),
|
||||
Key([], "p", lazy.spawn("pavucontrol"), desc="Open pavucontrol mixer"),
|
||||
Key([], "t", lazy.spawn("thunderbird"), desc="Open Thunderbird"),
|
||||
Key(["shift"], "h", lazy.spawn("systemctl hibernate")),
|
||||
Key(["shift"], "l", lazy.spawn("slock")),
|
||||
@ -160,11 +169,9 @@ keys.extend([
|
||||
]),
|
||||
|
||||
Key([mod, "shift"], "q", lazy.shutdown(), desc="Quit qtile"),
|
||||
Key([mod], "q", lazy.reload_config(), desc="Reload qtile config"),
|
||||
Key([mod], "q", lazy.restart(), desc="Restart qtile"),
|
||||
])
|
||||
|
||||
keys.extend([Key([mod, "control"], str(i + 1), lazy.to_screen(i), desc=f"Switch to screen {i}") for i in range(len(screens))])
|
||||
|
||||
cursor_warp = True
|
||||
|
||||
apply_theme(qtile)
|
||||
|
@ -3,6 +3,7 @@ import os
|
||||
from colors import colors
|
||||
|
||||
from libqtile.lazy import lazy
|
||||
from libqtile import hook, qtile
|
||||
|
||||
theme_file = os.path.join(os.path.dirname(__file__), "theme.txt")
|
||||
|
||||
@ -24,29 +25,26 @@ def light_dark(light, dark):
|
||||
|
||||
@lazy.function
|
||||
def toggle_theme(qtile):
|
||||
global is_dark, theme
|
||||
name = light_dark("dark", "light")
|
||||
write_theme(name)
|
||||
is_dark = name == "dark"
|
||||
theme = get_theme()
|
||||
apply_theme(qtile)
|
||||
write_theme(light_dark("dark", "light"))
|
||||
qtile.restart()
|
||||
|
||||
background = [colors["sky"][800], colors["sky"][900]]
|
||||
background = light_dark([colors["sky"][600], colors["sky"][700]],
|
||||
[colors["sky"][800], colors["sky"][900]])
|
||||
|
||||
def get_theme():
|
||||
return dict(
|
||||
border_width=4,
|
||||
margin=4,
|
||||
root_background=light_dark(colors["blue-gray"][300], colors["blue-gray"][700]),
|
||||
root_background=light_dark(colors["blue-gray"][300], colors["blue-gray"][800]),
|
||||
background=background,
|
||||
foreground=colors["blue-gray"][300],
|
||||
inactive=colors["blue-gray"][400],
|
||||
this_current_screen_border=colors["sky"][700],
|
||||
this_screen_border=colors["blue-gray"][600],
|
||||
foreground=light_dark(colors["blue-gray"][100], colors["blue-gray"][400]),
|
||||
inactive=light_dark(colors["sky"][100], colors["blue-gray"][500]),
|
||||
this_current_screen_border=light_dark(colors["sky"][400], colors["indigo"][400]),
|
||||
this_screen_border=light_dark(colors["blue-gray"][400], colors["blue-gray"][500]),
|
||||
other_current_screen_border=background,
|
||||
other_screen_border=background,
|
||||
border_focus=colors["indigo"][500],
|
||||
border_normal=colors["blue-gray"][800],
|
||||
border_focus=light_dark(colors["sky"][400], colors["indigo"][600]),
|
||||
border_normal=light_dark(colors["blue-gray"][600], colors["blue-gray"][700]),
|
||||
alacritty_theme=light_dark("gogh-nord-light", "gogh-tin"),
|
||||
emacs_theme=light_dark("solarized-light", "solarized-dark"),
|
||||
gtk_theme=light_dark("Materia-light", "Materia-dark"),
|
||||
@ -66,3 +64,7 @@ def apply_theme(qtile):
|
||||
qtile.cmd_spawn(["sed", "-i", "-E", f"s#(Net/ThemeName) .*#\\1 \"{theme['gtk_theme']}\"#",
|
||||
os.path.expanduser("~/.config/xsettingsd/xsettingsd.conf")])
|
||||
qtile.cmd_spawn(["pkill", "-HUP", "-x", "xsettingsd"])
|
||||
|
||||
@hook.subscribe.startup
|
||||
def func():
|
||||
apply_theme(qtile)
|
||||
|
119
stumpwm/.stumpwm.d/init.lisp
Normal file
119
stumpwm/.stumpwm.d/init.lisp
Normal file
@ -0,0 +1,119 @@
|
||||
(in-package :stumpwm)
|
||||
|
||||
(set-prefix-key (kbd "s-s"))
|
||||
|
||||
(set-font "-xos4-terminus-medium-r-normal--32-320-72-72-c-160-iso10646-1")
|
||||
|
||||
(setf *mouse-focus-policy* :sloppy
|
||||
*message-window-gravity* :center
|
||||
*input-window-gravity* :center
|
||||
*window-border-style* :thin
|
||||
*time-modeline-string* "%k:%M"
|
||||
*screen-mode-line-format* "[^B%n^b] %W^>%d")
|
||||
|
||||
(when *initializing*
|
||||
(setf (group-name (current-group)) "1")
|
||||
(mapc #'gnewbg '("2" "3" "4" "5" "6" "7" "8" "9"))
|
||||
(gnewbg-float "0"))
|
||||
|
||||
(loop for name in '("1" "2" "3" "4" "5" "6" "7" "8" "9" "0")
|
||||
for shift in '("!" "@" "#" "$" "%" "^" "&" "*" "(" ")")
|
||||
do (define-key *top-map* (kbd (concat "s-" name)) (concat "gselect " name))
|
||||
(define-key *top-map* (kbd (concat "s-" shift)) (concat "gmove " name)))
|
||||
|
||||
(define-key *root-map* (kbd "c") "exec alacritty")
|
||||
(define-key *root-map* (kbd "V") "vsplit")
|
||||
(define-key *root-map* (kbd "e") "exec emacsclient -n -c -a ''")
|
||||
(define-key *root-map* (kbd "M-e") "emacs")
|
||||
(define-key *root-map* (kbd "s-l") "exec slock")
|
||||
|
||||
(define-key *top-map* (kbd "s-q") "restart-soft")
|
||||
(define-key *top-map* (kbd "s-Q") "quit-confirm")
|
||||
(define-key *top-map* (kbd "s-S-RET") "exec alacritty")
|
||||
(define-key *top-map* (kbd "s-S-F6") "toggle-theme")
|
||||
(define-key *top-map* (kbd "s-a") "gother")
|
||||
(define-key *top-map* (kbd "s-b") "mode-line")
|
||||
(define-key *top-map* (kbd "s-f") "fullscreen")
|
||||
(define-key *top-map* (kbd "s-i") "gprev")
|
||||
(define-key *top-map* (kbd "s-o") "gnext")
|
||||
(define-key *top-map* (kbd "s-I") "gprev-with-window")
|
||||
(define-key *top-map* (kbd "s-O") "gnext-with-window")
|
||||
(define-key *top-map* (kbd "s-p") "exec")
|
||||
(define-key *top-map* (kbd "s-P") "exec rofi -theme Arc-Dark -show combi")
|
||||
|
||||
(define-key *top-map* (kbd "s-j") "move-focus down")
|
||||
(define-key *top-map* (kbd "s-k") "move-focus up")
|
||||
(define-key *top-map* (kbd "s-h") "move-focus left")
|
||||
(define-key *top-map* (kbd "s-l") "move-focus right")
|
||||
|
||||
(define-key *top-map* (kbd "s-J") "move-window down")
|
||||
(define-key *top-map* (kbd "s-K") "move-window up")
|
||||
(define-key *top-map* (kbd "s-H") "move-window left")
|
||||
(define-key *top-map* (kbd "s-L") "move-window right")
|
||||
|
||||
(define-key *top-map* (kbd "s-w") "select-head 0")
|
||||
(define-key *top-map* (kbd "s-e") "select-head 1")
|
||||
(define-key *top-map* (kbd "s-r") "select-head 2")
|
||||
|
||||
(defpackage :my-stumpwm-config
|
||||
(:use :cl))
|
||||
|
||||
(in-package :my-stumpwm-config)
|
||||
|
||||
(stumpwm:defcommand select-head (num) (:rest)
|
||||
(let ((head (nth (parse-integer num) (stumpwm:screen-heads (stumpwm:current-screen)))))
|
||||
(stumpwm::focus-frame (stumpwm:current-group)
|
||||
(car (stumpwm::head-frames (stumpwm:current-group) head)))))
|
||||
|
||||
(load "~/quicklisp/setup.lisp")
|
||||
(ql:quickload :slynk)
|
||||
|
||||
(stumpwm:defcommand slynk () ()
|
||||
(let ((port 4005))
|
||||
(slynk:create-server :dont-close t :port port)
|
||||
(stumpwm:echo-string (stumpwm:current-screen) (format nil "Slynk started at port ~D" port))))
|
||||
|
||||
(stumpwm:load-module :stumpwm-base16)
|
||||
(when stumpwm:*initializing*
|
||||
(stumpwm-base16:load-theme "espresso"))
|
||||
|
||||
(dolist (head (stumpwm:screen-heads (stumpwm:current-screen)))
|
||||
(stumpwm:enable-mode-line (stumpwm:current-screen) head t))
|
||||
|
||||
(defparameter *themes* '(:dark (:stumpwm "espresso"
|
||||
:emacs "dark"
|
||||
:alacritty "dark"
|
||||
:gtk "Materia-dark")
|
||||
:light (:stumpwm "nova"
|
||||
:emacs "light"
|
||||
:alacritty "light"
|
||||
:gtk "Materia-light")))
|
||||
|
||||
(defparameter *themes-order* '(:dark :light :light :dark))
|
||||
|
||||
(defparameter *theme* :light)
|
||||
|
||||
(stumpwm:defcommand toggle-theme () ()
|
||||
(setf *theme* (getf *themes-order* *theme*))
|
||||
(let ((theme (getf *themes* *theme*)))
|
||||
(stumpwm-base16:load-theme (getf theme :stumpwm))
|
||||
(dolist (head (stumpwm:screen-heads (stumpwm:current-screen)))
|
||||
(stumpwm:toggle-mode-line (stumpwm:current-screen) head)
|
||||
(stumpwm:toggle-mode-line (stumpwm:current-screen) head))
|
||||
(mapc #'stumpwm:run-shell-command
|
||||
(list (concatenate 'string
|
||||
"sed -i -E 's#Net/ThemeName .*#Net/ThemeName \""
|
||||
(getf theme :gtk)
|
||||
"\"#' ~/.config/xsettingsd/xsettingsd.conf")
|
||||
"pkill -HUP -x xsettingsd; "
|
||||
(concatenate 'string
|
||||
"sed -i 's/^colors: [*].*/colors: *"
|
||||
(getf theme :alacritty)
|
||||
"/' ~/.config/alacritty/alacritty.yml; ")
|
||||
(concatenate 'string
|
||||
"emacsclient --eval \"(my-select-theme '"
|
||||
(getf theme :emacs)
|
||||
")\"")))))
|
||||
|
||||
(if stumpwm:*initializing*
|
||||
(toggle-theme))
|
19
xmonad/.config/xmobar/xmobarrc
Normal file
19
xmonad/.config/xmobar/xmobarrc
Normal file
@ -0,0 +1,19 @@
|
||||
-- -*- mode: haskell -*-
|
||||
|
||||
Config { font = "xft:Iosevka ss01-12"
|
||||
, position = Top
|
||||
, commands = [ Run Cpu
|
||||
[ "-L", "3"
|
||||
, "-H", "50"
|
||||
, "--high" , "#ff5555"
|
||||
, "--normal", "#bae6fd"
|
||||
] 10
|
||||
, Run Memory ["--template", "Mem: <usedratio>%"] 10
|
||||
, Run Swap [] 10
|
||||
, Run Date "%H:%M " "date" 10
|
||||
, Run XMonadLog
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = "%XMonadLog% }{ %cpu% │ %memory% | %swap% │ %date% "
|
||||
}
|
119
xmonad/.config/xmonad/xmonad.hs
Normal file
119
xmonad/.config/xmonad/xmonad.hs
Normal file
@ -0,0 +1,119 @@
|
||||
import XMonad
|
||||
import XMonad.Actions.CycleWS
|
||||
import XMonad.Hooks.EwmhDesktops
|
||||
import XMonad.Hooks.ManageDocks
|
||||
import XMonad.Hooks.StatusBar
|
||||
import XMonad.Hooks.StatusBar.PP
|
||||
import XMonad.Layout.Grid
|
||||
import XMonad.Layout.Renamed
|
||||
import XMonad.Layout.Spacing
|
||||
import XMonad.Layout.ThreeColumns
|
||||
import XMonad.Layout.ToggleLayouts
|
||||
import XMonad.StackSet (RationalRect (RationalRect))
|
||||
import XMonad.Util.EZConfig (additionalKeysP)
|
||||
import XMonad.Util.NamedScratchpad
|
||||
|
||||
main :: IO ()
|
||||
main =
|
||||
xmonad
|
||||
. docks
|
||||
. ewmh
|
||||
. ewmhFullscreen
|
||||
$ dynamicSBs barSpawner $
|
||||
myConfig
|
||||
|
||||
isDark = True
|
||||
|
||||
ifDark dark light = if isDark then dark else light
|
||||
|
||||
myConfig =
|
||||
def
|
||||
{ modMask = mod4Mask,
|
||||
terminal = "alacritty",
|
||||
borderWidth = 3,
|
||||
focusedBorderColor = ifDark "#a0522d" "#ff7f50",
|
||||
normalBorderColor = ifDark "#708090" "#bebebe",
|
||||
layoutHook = avoidStruts $ renamed [CutWordsLeft 1] $ spacingWithEdge 3 $ myLayout,
|
||||
manageHook = namedScratchpadManageHook scratchpads
|
||||
}
|
||||
`additionalKeysP` [ ("M-p", spawn "dmenu_run -fn 'Iosevka ss01-12'"),
|
||||
("M-S-p", spawn "rofi -theme Arc-Dark -show combi"),
|
||||
("M-a", toggleWS),
|
||||
("M-b", sendMessage ToggleStruts),
|
||||
("M-f", sendMessage ToggleLayout),
|
||||
("M-i", prevWS),
|
||||
("M-o", nextWS),
|
||||
("M-S-i", shiftToPrev),
|
||||
("M-S-o", shiftToNext),
|
||||
("C-M-i", prevScreen),
|
||||
("C-M-o", nextScreen),
|
||||
("C-M-l", spawn "slock"),
|
||||
("C-M-n", spawn "emacsclient -n -c"),
|
||||
("C-M-s", spawn "systemctl suspend"),
|
||||
("M-S-<F6>", spawn switchThemeCmd *> restart "xmonad" True),
|
||||
("M-<F1>", namedScratchpadAction scratchpads "terminal"),
|
||||
("M-<F2>", namedScratchpadAction scratchpads "thunar"),
|
||||
("M-<F3>", namedScratchpadAction scratchpads "top")
|
||||
]
|
||||
|
||||
scratchpads =
|
||||
[ NS "terminal" "alacritty -t terminal" (title =? "terminal") floating,
|
||||
NS "thunar" "thunar" (className =? "Thunar") floating,
|
||||
NS "top" "alacritty -t top -e top" (title =? "top") floating
|
||||
]
|
||||
where
|
||||
floating = customFloating $ RationalRect (1 / 6) (1 / 6) (2 / 3) (2 / 3)
|
||||
|
||||
myLayout = toggleLayouts Full $ tiled ||| Mirror tiled ||| Grid ||| ThreeCol 1 (3 / 100) (1 / 2) ||| Full
|
||||
where
|
||||
tiled = Tall nmaster delta ratio
|
||||
nmaster = 1
|
||||
ratio = 1 / 2
|
||||
delta = 3 / 100
|
||||
|
||||
barSpawner :: ScreenId -> IO StatusBarConfig
|
||||
barSpawner screenId = pure (statusBarProp ("xmobar -x " ++ id ++ " -B " ++ bg ++ " -F " ++ fg) (pure myXmobarPP))
|
||||
where
|
||||
id = show $ fromEnum screenId
|
||||
bg = ifDark "'#1e293b'" "'#0c4a6e'"
|
||||
fg = ifDark "'#64748B'" "'#cbd5e1'"
|
||||
|
||||
myXmobarPP :: PP
|
||||
myXmobarPP =
|
||||
def
|
||||
{ ppSep = " │ ",
|
||||
ppWsSep = "",
|
||||
ppTitleSanitize = xmobarStrip,
|
||||
ppCurrent = highlight . wrap " " " ",
|
||||
ppVisible = wrap " " " " . xmobarBorder "Bottom" (ifDark "#475569" "#0ea5e9") 4,
|
||||
ppHidden = noNSP $ wrap " " " ",
|
||||
ppHiddenNoWindows = noNSP $ hidden . wrap " " " ",
|
||||
ppUrgent = red . wrap " " " "
|
||||
}
|
||||
where
|
||||
highlight, hidden, red :: String -> String
|
||||
highlight = ifDark (xmobarColor "#94A3B8" "#475569") (xmobarColor "#bae6fd" "#0284c7")
|
||||
hidden = xmobarColor (ifDark "#334155" "#9ca3af") ""
|
||||
red = xmobarColor "#111827" "#ff5555"
|
||||
|
||||
noNSP f name = if name /= "NSP" then f name else ""
|
||||
|
||||
switchThemeCmd =
|
||||
let newIsDark = show $ not isDark
|
||||
theme = ifDark "light" "dark"
|
||||
gtkTheme = ifDark "Materia-light" "Materia-dark"
|
||||
bgColor = ifDark "#dde1e3" "#4a4a4a"
|
||||
in "sed -i 's/^isDark =.*/isDark = " ++ newIsDark ++ "/' ~/.config/xmonad/xmonad.hs; "
|
||||
++ "xsetroot -solid '"
|
||||
++ bgColor
|
||||
++ "'; "
|
||||
++ "sed -i -E 's#Net/ThemeName .*#Net/ThemeName \""
|
||||
++ gtkTheme
|
||||
++ "\"#' ~/.config/xsettingsd/xsettingsd.conf; "
|
||||
++ "pkill -HUP -x xsettingsd; "
|
||||
++ "sed -i 's/^colors: [*].*/colors: *"
|
||||
++ theme
|
||||
++ "/' ~/.config/alacritty/alacritty.yml; "
|
||||
++ "emacsclient --eval \"(my-select-theme '"
|
||||
++ theme
|
||||
++ ")\""
|
@ -1,4 +1,4 @@
|
||||
#if HEIGHT == 2160
|
||||
#if HEIGHT >= 2160
|
||||
Xft.dpi: 160
|
||||
Xcursor.size: 48
|
||||
polybar.height: 40
|
||||
@ -7,7 +7,7 @@ Xft.dpi: 107
|
||||
polybar.height: 30
|
||||
#endif
|
||||
|
||||
emacs.font: Iosevka ss01-12
|
||||
emacs.font: Iosevka Fixed Slab-12
|
||||
emacs.cursorBlink: false
|
||||
emacs.scrollBarWidth: 20
|
||||
emacs.background: #424242
|
||||
|
@ -14,7 +14,7 @@ xmodmap ~/.xmodmaprc
|
||||
if [ -x ~/.fehbg ]; then
|
||||
~/.fehbg &
|
||||
else
|
||||
xsetroot -solid '#4a4a4a'
|
||||
hsetroot -solid '#4a4a4a'
|
||||
fi
|
||||
|
||||
# lock screen on suspend/hibernate
|
||||
@ -29,6 +29,19 @@ emacsclient --eval nil -a '' &
|
||||
|
||||
xsettingsd &
|
||||
|
||||
xsetroot -cursor_name left_ptr
|
||||
|
||||
picom -b -I 1 -O 1 -i 1 -e 1 --no-fading-openclose || compton -b --no-fading-openclose
|
||||
|
||||
if which xmonad > /dev/null && test -f ~/.stumpwm.d/init.lisp; then
|
||||
export SBCL_HOME="$(dirname $(dirname $(readlink -f $(which sbcl))))/lib/sbcl/"
|
||||
exec stumpwm
|
||||
fi
|
||||
|
||||
if which xmonad > /dev/null && test -f ~/.config/xmonad/xmonad.hs; then
|
||||
exec xmonad
|
||||
fi
|
||||
|
||||
if which qtile > /dev/null && test -f ~/.config/qtile/config.py; then
|
||||
exec qtile start
|
||||
fi
|
||||
@ -43,8 +56,6 @@ if which lupan-wm > /dev/null; then
|
||||
exec lupan-wm -s 20
|
||||
fi
|
||||
|
||||
xsetroot -solid '#94a3b8' -cursor_name left_ptr
|
||||
|
||||
if which bspwm > /dev/null; then
|
||||
sxhkd &
|
||||
exec bspwm
|
||||
|
Loading…
x
Reference in New Issue
Block a user