feat: change colorscheme, system-wide
nvim: create the relevant utils switch-colors: change xcolors + nvim colorscheme -> $XDG_STATE_HOME/{xcolors,nvim_colorscheme} -> $XDG_DATA_HOME/colorschemes for correspondance sxhkd: keybindings
This commit is contained in:
parent
268c870d04
commit
ca53077a59
39
.config/X11/xcolors_dark
Normal file
39
.config/X11/xcolors_dark
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/* name dark light */
|
||||||
|
/* black 0 8 */
|
||||||
|
/* red 1 9 */
|
||||||
|
/* green 2 10 */
|
||||||
|
/* yellow 3 11 */
|
||||||
|
/* blue 4 12 */
|
||||||
|
/* purple 5 13 */
|
||||||
|
/* cyan 6 14 */
|
||||||
|
/* white 7 15 */
|
||||||
|
|
||||||
|
/* theme */
|
||||||
|
*.color0: #131616
|
||||||
|
*.color1: #b73935
|
||||||
|
*.color2: #427d61
|
||||||
|
*.color3: #f7a583
|
||||||
|
*.color4: #458588
|
||||||
|
*.color5: #b16286
|
||||||
|
*.color6: #7cafa3
|
||||||
|
*.color7: #d5c4a1
|
||||||
|
*.color8: #373737
|
||||||
|
*.color9: #ea6962
|
||||||
|
*.color10: #89b594
|
||||||
|
*.color11: #ffeca3
|
||||||
|
*.color12: #7daea3
|
||||||
|
*.color13: #d3869b
|
||||||
|
*.color14: #ace5d7
|
||||||
|
*.color15: #fbf1c7
|
||||||
|
*.background: #131616
|
||||||
|
*.selbackground: #373737
|
||||||
|
*.foreground: #fbf1c7
|
||||||
|
*.normforeground: #a89984
|
||||||
|
*.selforeground: #ebdbb2
|
||||||
|
*.cursorColor: #ebdbb2
|
||||||
|
|
||||||
|
/* dmenu colors */
|
||||||
|
dmenu.background: #131616
|
||||||
|
dmenu.foreground: #fbf1c7
|
||||||
|
dmenu.selbackground: #427d61
|
||||||
|
dmenu.selforeground: #fbf1c7
|
39
.config/X11/xcolors_light
Normal file
39
.config/X11/xcolors_light
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/* name dark light */
|
||||||
|
/* black 0 8 */
|
||||||
|
/* red 1 9 */
|
||||||
|
/* green 2 10 */
|
||||||
|
/* yellow 3 11 */
|
||||||
|
/* blue 4 12 */
|
||||||
|
/* purple 5 13 */
|
||||||
|
/* cyan 6 14 */
|
||||||
|
/* white 7 15 */
|
||||||
|
|
||||||
|
/* theme */
|
||||||
|
*.color0: #1d2021
|
||||||
|
*.color1: #9d0006
|
||||||
|
*.color2: #427d61
|
||||||
|
*.color3: #d65d0e
|
||||||
|
*.color4: #076678
|
||||||
|
*.color5: #8f3f71
|
||||||
|
*.color6: #4a8785
|
||||||
|
*.color7: #a89984
|
||||||
|
*.color8: #373737
|
||||||
|
*.color9: #b73935
|
||||||
|
*.color10: #689d6a
|
||||||
|
*.color11: #d79921
|
||||||
|
*.color12: #458588
|
||||||
|
*.color13: #b16286
|
||||||
|
*.color14: #7cafa3
|
||||||
|
*.color15: #fbf1c7
|
||||||
|
*.background: #fbf1c7
|
||||||
|
*.selbackground: #ebdbb2
|
||||||
|
*.foreground: #665c64
|
||||||
|
*.normforeground: #665c64
|
||||||
|
*.selforeground: #1d2021
|
||||||
|
*.cursorColor: #1d2021
|
||||||
|
|
||||||
|
/* dmenu colors */
|
||||||
|
dmenu.background: #fbf1c7
|
||||||
|
dmenu.foreground: #665c64
|
||||||
|
dmenu.selbackground: #427d61
|
||||||
|
dmenu.selforeground: #fbf1c7
|
@ -14,6 +14,8 @@ sbacklight set 3 &
|
|||||||
setbg &
|
setbg &
|
||||||
dwmblocks &
|
dwmblocks &
|
||||||
xrdb "$XDG_CONFIG_HOME/X11/xresources"
|
xrdb "$XDG_CONFIG_HOME/X11/xresources"
|
||||||
|
xrdb -merge "$XDG_STATE_HOME/xcolors"
|
||||||
|
xautolock -locker slock -time 5 -corners 000- &
|
||||||
|
|
||||||
xinput set-prop 'Synaptics TM3072-003' 'libinput Tapping Enabled' 1 &
|
xinput set-prop 'Synaptics TM3072-003' 'libinput Tapping Enabled' 1 &
|
||||||
xinput set-prop 'Synaptics TM3072-003' 'libinput Natural Scrolling Enabled' 1 &
|
xinput set-prop 'Synaptics TM3072-003' 'libinput Natural Scrolling Enabled' 1 &
|
||||||
|
@ -2,46 +2,12 @@
|
|||||||
*.font: Iosevka Fixed Slab:size=12
|
*.font: Iosevka Fixed Slab:size=12
|
||||||
*.symbols: Symbols Nerd Font:size=11
|
*.symbols: Symbols Nerd Font:size=11
|
||||||
|
|
||||||
/* name dark light */
|
/* dwm config */
|
||||||
/* black 0 8 */
|
dwm.borderpx: 2
|
||||||
/* red 1 9 */
|
dwm.gappx: 15
|
||||||
/* green 2 10 */
|
|
||||||
/* yellow 3 11 */
|
|
||||||
/* blue 4 12 */
|
|
||||||
/* purple 5 13 */
|
|
||||||
/* cyan 6 14 */
|
|
||||||
/* white 7 15 */
|
|
||||||
|
|
||||||
/* theme */
|
|
||||||
*.color0: #1d2021
|
|
||||||
*.color1: #b73935
|
|
||||||
*.color2: #5d9179
|
|
||||||
*.color3: #f7a583
|
|
||||||
*.color4: #458588
|
|
||||||
*.color5: #b16286
|
|
||||||
*.color6: #7cafa3
|
|
||||||
*.color7: #d5c4a1
|
|
||||||
*.color8: #373737
|
|
||||||
*.color9: #ea6962
|
|
||||||
*.color10: #89b482
|
|
||||||
*.color11: #ffeca3
|
|
||||||
*.color12: #7daea3
|
|
||||||
*.color13: #d3869b
|
|
||||||
*.color14: #ace5d7
|
|
||||||
*.color15: #fbf1c7
|
|
||||||
*.background: #1d2021
|
|
||||||
*.selbackground: #373737
|
|
||||||
*.foreground: #fbf1c7
|
|
||||||
*.normforeground: #a89984
|
|
||||||
*.selforeground: #ebdbb2
|
|
||||||
*.cursorColor: #ebdbb2
|
|
||||||
|
|
||||||
/* st config */
|
/* st config */
|
||||||
st.font: Iosevka Fixed Slab:size=14
|
st.font: Iosevka Fixed Slab:size=14
|
||||||
st.symbols: Symbols Nerd Font:size=14
|
st.symbols: Symbols Nerd Font:size=14
|
||||||
st.termname: st-256color
|
st.termname: st-256color
|
||||||
st.borderpx: 5
|
st.borderpx: 5
|
||||||
|
|
||||||
/* dwm config */
|
|
||||||
dwm.borderpx: 2
|
|
||||||
dwm.gappx: 15
|
|
||||||
|
@ -28,6 +28,24 @@ function M.map(mode, keys, action, options)
|
|||||||
vim.api.nvim_set_keymap(mode, keys, action, options)
|
vim.api.nvim_set_keymap(mode, keys, action, options)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- see if a file exists
|
||||||
|
function M.file_exists(file)
|
||||||
|
local f = io.open(file, "rb")
|
||||||
|
if f then f:close() end
|
||||||
|
return f ~= nil
|
||||||
|
end
|
||||||
|
|
||||||
|
-- get all lines from a file
|
||||||
|
-- @return table (empty if the file does not exist)
|
||||||
|
function M.lines_from(file)
|
||||||
|
if not M.file_exists(file) then return {} end
|
||||||
|
local lines = {}
|
||||||
|
for line in io.lines(file) do
|
||||||
|
lines[#lines] = line
|
||||||
|
end
|
||||||
|
return lines
|
||||||
|
end
|
||||||
|
|
||||||
-- Make it accessible everywhere
|
-- Make it accessible everywhere
|
||||||
_G.utils = M
|
_G.utils = M
|
||||||
-- Export the module
|
-- Export the module
|
||||||
|
@ -34,6 +34,12 @@ super + F9
|
|||||||
super + shift + o
|
super + shift + o
|
||||||
dmenuopen
|
dmenuopen
|
||||||
|
|
||||||
|
super + c
|
||||||
|
switch-colors
|
||||||
|
|
||||||
|
super + shift + c
|
||||||
|
switch-colors -s
|
||||||
|
|
||||||
# Others
|
# Others
|
||||||
super + Return
|
super + Return
|
||||||
$TERMINAL
|
$TERMINAL
|
||||||
|
50
.local/bin/switch-colors
Executable file
50
.local/bin/switch-colors
Executable file
@ -0,0 +1,50 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
######################################################################
|
||||||
|
# @author : swytch
|
||||||
|
# @file : switch-colors
|
||||||
|
# @license : GPLv3
|
||||||
|
# @created : Fridat Oct. 22, 2022 23:52:53 CEST
|
||||||
|
#
|
||||||
|
# @description : switch colorscheme system-wide
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
|
||||||
|
trim() { rev | cut -d'_' -f1 | rev; }
|
||||||
|
|
||||||
|
switch_scheme() {
|
||||||
|
current="$(ls -l $XDG_CONFIG_HOME/X11/xcolors | trim)"
|
||||||
|
[ "dark" = "$current" ] && new="light" || new="dark"
|
||||||
|
select_nvim_scheme
|
||||||
|
set_scheme "$new" "$nvim_scheme"
|
||||||
|
}
|
||||||
|
|
||||||
|
set_scheme() {
|
||||||
|
[ "" = "$new" ] && exit 1
|
||||||
|
xcolors="$XDG_STATE_HOME/xcolors"
|
||||||
|
[ -f "$xcolors" ] && rm "$xcolors"
|
||||||
|
ln -s "$XDG_CONFIG_HOME/X11/xcolors_$new" "$xcolors"
|
||||||
|
xrdb -merge "$xcolors" && dunstify -u "low" "$new colorscheme set"
|
||||||
|
echo "$nvim_scheme" > "$XDG_STATE_HOME/nvim_colorscheme"
|
||||||
|
xrdb -merge "$xcolors" && dunstify -u "low" "neovim" "$nvim_scheme colorscheme set"
|
||||||
|
}
|
||||||
|
|
||||||
|
select_scheme() {
|
||||||
|
new="$(ls "$XDG_CONFIG_HOME/X11" | grep -i "xcolors_" | trim | dmenu -i -l 5 -p "colorscheme:")"
|
||||||
|
}
|
||||||
|
|
||||||
|
select_nvim_scheme() {
|
||||||
|
nvim_scheme="$(grep -i "$new" "$XDG_DATA_HOME/colorschemes" | cut -d'"' -f2 )"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "-s" = "$1" -o "select" = "$1" ]; then
|
||||||
|
select_scheme && select_nvim_scheme && set_scheme "$new" "$nvim_scheme"
|
||||||
|
else
|
||||||
|
if [ ! "" = "$1" ]; then
|
||||||
|
dunstify -u "normal" "Wrong parameter. Nothing performed" && exit 1
|
||||||
|
else
|
||||||
|
switch_scheme
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit 0
|
2
.local/share/colorschemes
Normal file
2
.local/share/colorschemes
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
"blackhole" dark
|
||||||
|
"pulsar" light
|
Reference in New Issue
Block a user