Add light/dark mode toggle using xsettingsd

master
Alex Selimov 1 month ago
parent eb87e6387e
commit f75d294a5b

@ -0,0 +1,17 @@
#!/bin/bash
# Script for changing between light and dark modes
mode=$(grep "light_mode = " ~/.wezterm.lua | cut -d "=" -f 2 | tr -d " ")
if [ "$mode" = "true" ]; then
echo "Swapping to dark mode"
sed -i -e "s/local light_mode =.*/local light_mode = false/" ~/.wezterm.lua
sed -i -e 's@Net/ThemeName.*@Net/ThemeName "Orchis-Grey-Dark"@' ~/.xsettingsd
sed -i -e "s/light.rasi/dark.rasi/" $HOME/.config/rofi/config.rasi
else
echo "Swapping to light mode"
sed -i -e "s/local light_mode =.*/local light_mode = true/" ~/.wezterm.lua
sed -i -e 's@Net/ThemeName.*@Net/ThemeName "Orchis-Grey-Light"@' ~/.xsettingsd
sed -i -e "s/dark.rasi/light.rasi/" $HOME/.config/rofi/config.rasi
fi
killall -HUP xsettingsd

@ -10,114 +10,114 @@ local config = wezterm.config_builder()
config.enable_tab_bar = false config.enable_tab_bar = false
config.font = wezterm.font("FiraCode Nerd Font Mono") config.font = wezterm.font("FiraCode Nerd Font Mono")
config.font_size = 9 config.font_size = 9
local light_mode = false local light_mode = true
local home = os.getenv("HOME") local home = os.getenv("HOME")
if light_mode then --if light_mode then
config.colors = { config.colors = {
-- The default text color -- The default text color
foreground = "#4F5e68", foreground = "#4F5e68",
-- The default background color -- The default background color
background = "#F0EDEC", background = "#F0EDEC",
-- Overrides the cell background color when the current cell is occupied by the -- Overrides the cell background color when the current cell is occupied by the
-- cursor and the cursor style is set to Block -- cursor and the cursor style is set to Block
cursor_bg = "#2c363c", cursor_bg = "#2c363c",
-- Overrides the text color when the current cell is occupied by the cursor -- Overrides the text color when the current cell is occupied by the cursor
cursor_fg = "#F0EDEC", cursor_fg = "#F0EDEC",
-- Specifies the border color of the cursor when the cursor style is set to Block, -- Specifies the border color of the cursor when the cursor style is set to Block,
-- or the color of the vertical or horizontal bar when the cursor style is set to -- or the color of the vertical or horizontal bar when the cursor style is set to
-- Bar or Underline. -- Bar or Underline.
cursor_border = "#2c363c", cursor_border = "#2c363c",
-- the foreground color of selected text -- the foreground color of selected text
selection_fg = "#F0edec", selection_fg = "#F0edec",
-- the background color of selected text -- the background color of selected text
selection_bg = "#2c363c", selection_bg = "#2c363c",
-- The color of the scrollbar "thumb"; the portion that represents the current viewport -- The color of the scrollbar "thumb"; the portion that represents the current viewport
scrollbar_thumb = "#222222", scrollbar_thumb = "#222222",
-- The color of the split lines between panes -- The color of the split lines between panes
split = "#444444", split = "#444444",
ansi = { ansi = {
"#F0EDEC", "#F0EDEC",
"#A8334C", "#A8334C",
"#4F6C31", "#4F6C31",
"#944927", "#944927",
"#286486", "#286486",
"#88507D", "#88507D",
"#3B8992", "#3B8992",
"#2C363C", "#2C363C",
}, },
brights = { brights = {
"#CFC1BA", "#CFC1BA",
"#94253E", "#94253E",
"#3F5A22", "#3F5A22",
"#803D1C", "#803D1C",
"#1D5573", "#1D5573",
"#7B3B70", "#7B3B70",
"#2B747C", "#2B747C",
"#4F5E68", "#4F5E68",
}, },
} }
config.window_background_opacity = 0.95 config.window_background_opacity = 0.95
local f = io.open(home .. "/.config/nvim/light_mode", "w") --local f = io.open(home .. "/.config/nvim/light_mode", "w")
assert(f) --assert(f)
f:close() --f:close()
else --else
config.colors = { -- config.colors = {
-- The default text color -- -- The default text color
foreground = "#8e8e8e", -- foreground = "#8e8e8e",
-- The default background color -- -- The default background color
background = "#191919", -- background = "#191919",
--
-- Overrides the cell background color when the current cell is occupied by the -- -- Overrides the cell background color when the current cell is occupied by the
-- cursor and the cursor style is set to Block -- -- cursor and the cursor style is set to Block
cursor_bg = "#BBBBBB", -- cursor_bg = "#BBBBBB",
-- Overrides the text color when the current cell is occupied by the cursor -- -- Overrides the text color when the current cell is occupied by the cursor
cursor_fg = "#191919", -- cursor_fg = "#191919",
-- Specifies the border color of the cursor when the cursor style is set to Block, -- -- Specifies the border color of the cursor when the cursor style is set to Block,
-- or the color of the vertical or horizontal bar when the cursor style is set to -- -- or the color of the vertical or horizontal bar when the cursor style is set to
-- Bar or Underline. -- -- Bar or Underline.
cursor_border = "#BBBBBB", -- cursor_border = "#BBBBBB",
--
-- the foreground color of selected text -- -- the foreground color of selected text
selection_fg = "#191919", -- selection_fg = "#191919",
-- the background color of selected text -- -- the background color of selected text
selection_bg = "#BBBBBB", -- selection_bg = "#BBBBBB",
--
-- The color of the scrollbar "thumb"; the portion that represents the current viewport -- -- The color of the scrollbar "thumb"; the portion that represents the current viewport
scrollbar_thumb = "#222222", -- scrollbar_thumb = "#222222",
--
-- The color of the split lines between panes -- -- The color of the split lines between panes
split = "#444444", -- split = "#444444",
--
ansi = { -- ansi = {
"#191919", -- "#191919",
"#DE6E7C", -- "#DE6E7C",
"#819B69", -- "#819B69",
"#B77E64", -- "#B77E64",
"#6099C0", -- "#6099C0",
"#B279A7", -- "#B279A7",
"#66A5AD", -- "#66A5AD",
"#BBBBBB", -- "#BBBBBB",
}, -- },
brights = { -- brights = {
"#3d3839", -- "#3d3839",
"#E8838F", -- "#E8838F",
"#8BAE68", -- "#8BAE68",
"#D68C67", -- "#D68C67",
"#61ABDA", -- "#61ABDA",
"#CF86C1", -- "#CF86C1",
"#65B8C1", -- "#65B8C1",
"#8e8e8e", -- "#8e8e8e",
}, -- },
} -- }
config.window_background_opacity = 0.85 -- config.window_background_opacity = 0.85
os.remove(home .. "/.config/nvim/light_mode") -- os.remove(home .. "/.config/nvim/light_mode")
end --end
config.keys = { config.keys = {
{ key = "j", mods = "CTRL|SHIFT", action = wezterm.action.DecreaseFontSize }, { key = "j", mods = "CTRL|SHIFT", action = wezterm.action.DecreaseFontSize },

@ -51,6 +51,7 @@ xrandr | grep "2560x1440" && dock.sh || mobile.sh
xinput --set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Speed" 1.0 xinput --set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Speed" 1.0
xinput --set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Profile Enabled" 0 1 xinput --set-prop "TPPS/2 IBM TrackPoint" "libinput Accel Profile Enabled" 0 1
exec xsettingsd &
exec sxhkd & exec sxhkd &
exec mpd & exec mpd &
exec mpdnotif.sh & exec mpdnotif.sh &

@ -0,0 +1 @@
Net/ThemeName "Orchis-Grey-Dark"
Loading…
Cancel
Save