Compare commits
7
Commits
325408e34e
...
1b608ea553
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b608ea553 | ||
|
|
4a8341a651 | ||
|
|
02b2a96fa9 | ||
|
|
52a9341bc0 | ||
|
|
407024a6ec | ||
|
|
2e84ce9375 | ||
|
|
f060f53d64 |
+64
-17
@@ -1,16 +1,40 @@
|
|||||||
-- require("keybinds.lua")
|
-- require("keybinds.lua")
|
||||||
hl.monitor({ output = "desc:Lenovo Group Limited 0x41A0", mode = "highrr", position = "0x0", scale = "1.0" })
|
hl.monitor({ output = "desc:Lenovo Group Limited 0x41A0", mode = "highrr", position = "0x0", scale = "1.0" })
|
||||||
hl.monitor({ output = "desc:Samsung Display Corp. 0x4143", mode = "highrr", position = "0x0", scale = "2" })
|
hl.monitor({ output = "desc:Samsung Display Corp. 0x4143", mode = "highrr", position = "0x0", scale = "2" })
|
||||||
hl.monitor({ output = "desc:LG Electronics LG HDR 4K 406NTZN74597", mode = "preferred", position = "auto-right", scale = "1.333333" })
|
hl.monitor({
|
||||||
hl.monitor({ output = "desc:Ancor Communications Inc ASUS MG28U 0x00009B77", mode = "preferred", position = "auto-right", scale = "1.333333" })
|
output = "desc:LG Electronics LG HDR 4K 406NTZN74597",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto-right",
|
||||||
|
scale =
|
||||||
|
"1.333333"
|
||||||
|
})
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:Ancor Communications Inc ASUS MG28U 0x00009B77",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto-right",
|
||||||
|
scale =
|
||||||
|
"1.333333"
|
||||||
|
})
|
||||||
|
|
||||||
-- hl.monitor({ output = "eDP-1", mode = "preferred", position = "0x0", scale = "1.0" })
|
-- hl.monitor({ output = "eDP-1", mode = "preferred", position = "0x0", scale = "1.0" })
|
||||||
|
|
||||||
hl.monitor({ output = "desc:LG Electronics LG HDR WQHD 0x0006530C", mode = "preferred", position = "auto-up", scale = "1.333333" })
|
hl.monitor({
|
||||||
|
output = "desc:LG Electronics LG HDR WQHD 0x0006530C",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto-up",
|
||||||
|
scale =
|
||||||
|
"1.333333"
|
||||||
|
})
|
||||||
hl.monitor({ output = "CAP Capture 0x00000001", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
hl.monitor({ output = "CAP Capture 0x00000001", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
||||||
hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
hl.monitor({ output = "HDMI-A-1", mode = "1920x1080@60", position = "auto-down", scale = 1 })
|
||||||
|
|
||||||
hl.monitor({ output = "desc:Ancor Communications Inc ASUS PB238 DCLMTF074371", mode = "preferred", position = "auto", scale = "1.0" })
|
hl.monitor({
|
||||||
|
output = "desc:Ancor Communications Inc ASUS PB238 DCLMTF074371",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto",
|
||||||
|
scale =
|
||||||
|
"1.0"
|
||||||
|
})
|
||||||
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133R0A2", mode = "preferred", position = "auto-left", scale = 1 })
|
hl.monitor({ output = "desc:Lenovo Group Limited L15 U133R0A2", mode = "preferred", position = "auto-left", scale = 1 })
|
||||||
hl.monitor({ output = "desc:Lenovo Group Limited M15 V30F2A15", mode = "preferred", position = "auto-left", scale = 1 })
|
hl.monitor({ output = "desc:Lenovo Group Limited M15 V30F2A15", mode = "preferred", position = "auto-left", scale = 1 })
|
||||||
hl.monitor({ output = "desc:Proteon TYPE-C 8R33926O00QS", mode = "preferred", position = "auto-right", scale = "1.0" })
|
hl.monitor({ output = "desc:Proteon TYPE-C 8R33926O00QS", mode = "preferred", position = "auto-right", scale = "1.0" })
|
||||||
@@ -18,8 +42,20 @@ hl.monitor({ output = "desc:Stargate Technology TYPE-C", mode = "preferred", pos
|
|||||||
hl.monitor({ output = "desc:GWD ARZOPA 000000000000", mode = "preferred", position = "auto-left", scale = "1.0" })
|
hl.monitor({ output = "desc:GWD ARZOPA 000000000000", mode = "preferred", position = "auto-left", scale = "1.0" })
|
||||||
hl.monitor({ output = "desc:BNQ BenQ EX3203R 7CL00509019", mode = "preferred", position = "auto", scale = 1 })
|
hl.monitor({ output = "desc:BNQ BenQ EX3203R 7CL00509019", mode = "preferred", position = "auto", scale = 1 })
|
||||||
hl.monitor({ output = "desc:BNQ BenQ EX3501R N4M05650019", mode = "preferred", position = "auto-right", scale = "1.0" })
|
hl.monitor({ output = "desc:BNQ BenQ EX3501R N4M05650019", mode = "preferred", position = "auto-right", scale = "1.0" })
|
||||||
hl.monitor({ output = "desc:Dell Inc. DELL U3818DW 97F8P8AD0HEL", mode = "preferred", position = "auto-left", scale = "1.0" })
|
hl.monitor({
|
||||||
hl.monitor({ output = "desc:Microstep MSI MAG342CQR DB6H252300057", mode = "preferred", position = "auto-right", scale = "1.0" })
|
output = "desc:Dell Inc. DELL U3818DW 97F8P8AD0HEL",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto-left",
|
||||||
|
scale =
|
||||||
|
"1.0"
|
||||||
|
})
|
||||||
|
hl.monitor({
|
||||||
|
output = "desc:Microstep MSI MAG342CQR DB6H252300057",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto-right",
|
||||||
|
scale =
|
||||||
|
"1.0"
|
||||||
|
})
|
||||||
|
|
||||||
hl.config({
|
hl.config({
|
||||||
input = {
|
input = {
|
||||||
@@ -291,7 +327,8 @@ hl.bind(LEADER .. "S", hl.dsp.exec_raw("ostt launch --paste"), { description = "
|
|||||||
hl.bind(LEADER .. "I", function() sysinfo() end, { description = "Show system info" })
|
hl.bind(LEADER .. "I", function() sysinfo() end, { description = "Show system info" })
|
||||||
|
|
||||||
-- Open rofi on first press, closes it on second
|
-- Open rofi on first press, closes it on second
|
||||||
hl.bind(LEADER .. "Space", hl.dsp.exec_raw("rofi -show combi --modes combi"), { release = true, description = "Open Application Menu" })
|
hl.bind(LEADER .. "Space", hl.dsp.exec_raw("rofi -show combi --modes combi"),
|
||||||
|
{ release = true, description = "Open Application Menu" })
|
||||||
hl.bind(LEADER .. "SHIFT + SPACE", hl.dsp.exec_cmd("~/.local/bin/hyprland-fetch-client"),
|
hl.bind(LEADER .. "SHIFT + SPACE", hl.dsp.exec_cmd("~/.local/bin/hyprland-fetch-client"),
|
||||||
{ release = true, description = "Fetch client" })
|
{ release = true, description = "Fetch client" })
|
||||||
hl.bind(LEADER .. "CONTROL + SPACE",
|
hl.bind(LEADER .. "CONTROL + SPACE",
|
||||||
@@ -306,7 +343,8 @@ hl.bind(LEADER .. "slash",
|
|||||||
hl.bind(HYPR .. "V", hl.dsp.exec_cmd("pavucontrol"), { description = "Volume control" })
|
hl.bind(HYPR .. "V", hl.dsp.exec_cmd("pavucontrol"), { description = "Volume control" })
|
||||||
hl.bind(HYPR .. "B", hl.dsp.exec_cmd("blueberry"), { description = "Bluetooth manager" })
|
hl.bind(HYPR .. "B", hl.dsp.exec_cmd("blueberry"), { description = "Bluetooth manager" })
|
||||||
|
|
||||||
hl.bind(HYPR .. "semicolon", hl.dsp.exec_cmd("~/.local/bin/set-wallpaper.sh categories/quotes"), { description = "get new wallpaper" })
|
hl.bind(HYPR .. "semicolon", hl.dsp.exec_cmd("~/.local/bin/set-wallpaper.sh categories/quotes"),
|
||||||
|
{ description = "get new wallpaper" })
|
||||||
|
|
||||||
hl.bind("Print", hl.dsp.exec_cmd("hyprshot -m window"), { description = "Take screenshot" })
|
hl.bind("Print", hl.dsp.exec_cmd("hyprshot -m window"), { description = "Take screenshot" })
|
||||||
hl.bind("SHIFT + Print", hl.dsp.exec_cmd("hyprshot -m region"), { description = "Take screenshot" })
|
hl.bind("SHIFT + Print", hl.dsp.exec_cmd("hyprshot -m region"), { description = "Take screenshot" })
|
||||||
@@ -367,12 +405,17 @@ hl.bind(HYPR .. "F", dispatch_focus_or_launch({
|
|||||||
cmd = "pcmanfm",
|
cmd = "pcmanfm",
|
||||||
}), { description = "File Manager" })
|
}), { description = "File Manager" })
|
||||||
|
|
||||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { repeating = true, description = "Volume down" })
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"),
|
||||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"), { repeating = true, description = "Volume up" })
|
{ repeating = true, description = "Volume down" })
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+"),
|
||||||
|
{ repeating = true, description = "Volume up" })
|
||||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { description = "Toggle mute" })
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { description = "Toggle mute" })
|
||||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { description = "Toggle mic mute" })
|
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"),
|
||||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 10%+"), { repeating = true, description = "Brightness up" })
|
{ description = "Toggle mic mute" })
|
||||||
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 10%-"), { repeating = true, description = "Brightness down" })
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl s 10%+"),
|
||||||
|
{ repeating = true, description = "Brightness up" })
|
||||||
|
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd("brightnessctl s 10%-"),
|
||||||
|
{ repeating = true, description = "Brightness down" })
|
||||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { description = "Play/pause media" })
|
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { description = "Play/pause media" })
|
||||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { description = "Previous media" })
|
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { description = "Previous media" })
|
||||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { description = "Next media" })
|
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { description = "Next media" })
|
||||||
@@ -588,8 +631,9 @@ hl.bind(LEADER .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
|||||||
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
hl.bind(LEADER .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
hl.bind(LEADER .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||||
hl.bind(LEADER .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
hl.bind(LEADER .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||||
hl.bind("mouse:275", hl.dsp.exec_cmd("wl-copy $(wl-paste -p)"), { mouse = true })
|
hl.bind("mouse:275", hl.dsp.window.cycle_next({ next = true }), { click = true, description = "Window: Cycle next" })
|
||||||
hl.bind("mouse:276", hl.dsp.exec_cmd("wtype -M ctrl -M shift v -m ctrl -m shift"), { mouse = true })
|
hl.bind("mouse:276", hl.dsp.window.cycle_next({ next = false }), { click = true, description = "Window: Cycle previous" })
|
||||||
|
|
||||||
|
|
||||||
-- hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
-- hl.gesture({ fingers = 3, direction = "horizontal", action = "workspace" })
|
||||||
-- hl.gesture({ fingers = 3, direction = "down", mods = "ALT", action = "close" })
|
-- hl.gesture({ fingers = 3, direction = "down", mods = "ALT", action = "close" })
|
||||||
@@ -601,8 +645,11 @@ hl.bind("mouse:276", hl.dsp.exec_cmd("wtype -M ctrl -M shift v -m ctrl -m shift"
|
|||||||
-- hl.gesture({ fingers = 2, direction = "pinch", action = "cursorZoom", zoom_level = 1, mode = "live" })
|
-- hl.gesture({ fingers = 2, direction = "pinch", action = "cursorZoom", zoom_level = 1, mode = "live" })
|
||||||
|
|
||||||
hl.workspace_rule({ workspace = "special:special", border_size = 3 })
|
hl.workspace_rule({ workspace = "special:special", border_size = 3 })
|
||||||
hl.window_rule({ match = { class = "(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float|org.pulseaudio.pavucontrol)" }, tag =
|
hl.window_rule({
|
||||||
"+floating-window" })
|
match = { class = "(blueberry.py|Impala|Wiremix|org.gnome.NautilusPreviewer|com.gabm.satty|Omarchy|About|TUI.float|org.pulseaudio.pavucontrol)" },
|
||||||
|
tag =
|
||||||
|
"+floating-window"
|
||||||
|
})
|
||||||
|
|
||||||
hl.window_rule({
|
hl.window_rule({
|
||||||
name = "ostt floating windows",
|
name = "ostt floating windows",
|
||||||
|
|||||||
@@ -7,10 +7,12 @@ age = "latest"
|
|||||||
bun = "latest"
|
bun = "latest"
|
||||||
codex = "latest"
|
codex = "latest"
|
||||||
copilot-cli = "latest"
|
copilot-cli = "latest"
|
||||||
|
dua = "latest"
|
||||||
"github:Gitlawb/zero" = "latest"
|
"github:Gitlawb/zero" = "latest"
|
||||||
"github:ZinoKader/portal" = "latest"
|
"github:ZinoKader/portal" = "latest"
|
||||||
"github:danielmiessler/fabric" = "latest"
|
"github:danielmiessler/fabric" = "latest"
|
||||||
"github:mrusme/reader" = "latest"
|
"github:mrusme/reader" = "latest"
|
||||||
|
"github:raine/workmux" = "latest"
|
||||||
"github:rimio-ai/rimz" = "latest"
|
"github:rimio-ai/rimz" = "latest"
|
||||||
"github:sandboxec/sandboxec" = "latest"
|
"github:sandboxec/sandboxec" = "latest"
|
||||||
"github:ulyssa/iamb" = "latest"
|
"github:ulyssa/iamb" = "latest"
|
||||||
|
|||||||
+11
-17
@@ -1,19 +1,11 @@
|
|||||||
# set-option -g default-terminal 'screen-256color'
|
# set-option -g default-terminal 'screen-256color'
|
||||||
# set-option -g terminal-overrides ',xterm-256color:RGB'
|
# set-option -g terminal-overrides ',xterm-256color:RGB'
|
||||||
# set -g default-terminal "tmux-256color"
|
set -g default-terminal "tmux-256color"
|
||||||
set -as terminal-feature ",foot*:RGB"
|
set -as terminal-feature ",*:RGB"
|
||||||
|
set -as terminal-feature ",*:clipboard"
|
||||||
|
|
||||||
# screen mode
|
# set -ag terminal-overrides ",*:Tc"
|
||||||
# set -g default-terminal "${TERM}"
|
|
||||||
# set -g default-terminal "tmux-256color"
|
|
||||||
# set -ag terminal-overrides ",xterm-256color:RGB"
|
|
||||||
|
|
||||||
# colors
|
|
||||||
# set -ag terminal-overrides ",xterm*:Tc"
|
|
||||||
|
|
||||||
# undercurl support
|
|
||||||
# set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
|
# set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'
|
||||||
# underscore colours - needs tmux-3.0
|
|
||||||
# set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
|
# set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'
|
||||||
# allow terminal scrolling
|
# allow terminal scrolling
|
||||||
# set -g terminal-overrides 'xterm*:smcup@:rmcup@'
|
# set -g terminal-overrides 'xterm*:smcup@:rmcup@'
|
||||||
@@ -22,8 +14,7 @@ set -as terminal-feature ",foot*:RGB"
|
|||||||
setenv -g SSH_AUTH_SOCK "$HOME/.ssh/ssh_auth_sock"
|
setenv -g SSH_AUTH_SOCK "$HOME/.ssh/ssh_auth_sock"
|
||||||
set -g update-environment "DISPLAY XAUTHORITY"
|
set -g update-environment "DISPLAY XAUTHORITY"
|
||||||
|
|
||||||
# default shell
|
set -g mouse on
|
||||||
set -g default-shell "/usr/bin/fish"
|
|
||||||
|
|
||||||
# auto rename windows
|
# auto rename windows
|
||||||
# set -g automatic-rename on
|
# set -g automatic-rename on
|
||||||
@@ -49,7 +40,7 @@ set -g allow-passthrough on
|
|||||||
|
|
||||||
#set -g bell-on-alert on
|
#set -g bell-on-alert on
|
||||||
|
|
||||||
set -s escape-time 1
|
set -s escape-time 0
|
||||||
setw -g aggressive-resize on
|
setw -g aggressive-resize on
|
||||||
set -g status-keys vi
|
set -g status-keys vi
|
||||||
set-window-option -g mode-keys vi
|
set-window-option -g mode-keys vi
|
||||||
@@ -62,6 +53,7 @@ set-option -g detach-on-destroy off
|
|||||||
set-option -g renumber-windows on
|
set-option -g renumber-windows on
|
||||||
set-option -g set-clipboard on
|
set-option -g set-clipboard on
|
||||||
set-option -g set-titles-string "#S:#{pane_title}"
|
set-option -g set-titles-string "#S:#{pane_title}"
|
||||||
|
set -sg escape-time 10
|
||||||
|
|
||||||
unbind C-Space
|
unbind C-Space
|
||||||
set -g prefix C-Space
|
set -g prefix C-Space
|
||||||
@@ -82,6 +74,8 @@ bind e run "tmux split -h /usr/bin/nvim"
|
|||||||
#bind o display-popup -w 80% -h 80% -E /usr/bin/opencode
|
#bind o display-popup -w 80% -h 80% -E /usr/bin/opencode
|
||||||
#bind g display-popup -w 80% -h 80% -E /usr/bin/lazygit
|
#bind g display-popup -w 80% -h 80% -E /usr/bin/lazygit
|
||||||
|
|
||||||
|
bind a display-popup -w 80% -h 80% -E "workmux dashboard"
|
||||||
|
|
||||||
# split windows like vim
|
# split windows like vim
|
||||||
# vim's definition of a horizontal/vertical split is reversed from tmux's
|
# vim's definition of a horizontal/vertical split is reversed from tmux's
|
||||||
bind v split-window -h -c "#{pane_current_path}"
|
bind v split-window -h -c "#{pane_current_path}"
|
||||||
@@ -102,7 +96,7 @@ bind B command-prompt -p "New Session:" "new-session -A -s '%%'"
|
|||||||
bind Tab switch-client -l
|
bind Tab switch-client -l
|
||||||
|
|
||||||
bind R command-prompt -p "Rename Window:" "rename-window '%%'"
|
bind R command-prompt -p "Rename Window:" "rename-window '%%'"
|
||||||
bind t run-shell -b "~/.local/bin/t"
|
bind o run-shell -b "~/.local/bin/t"
|
||||||
bind Enter run-shell -b "~/.local/bin/s"
|
bind Enter run-shell -b "~/.local/bin/s"
|
||||||
bind Q confirm kill-session
|
bind Q confirm kill-session
|
||||||
|
|
||||||
@@ -165,7 +159,7 @@ set -g @plugin 'sainnhe/tmux-fzf'
|
|||||||
# prefix + u
|
# prefix + u
|
||||||
set -g @plugin 'joshmedeski/tmux-fzf-url'
|
set -g @plugin 'joshmedeski/tmux-fzf-url'
|
||||||
# prefix + a
|
# prefix + a
|
||||||
set -g @plugin 'vieitesss/agent-radar'
|
# set -g @plugin 'vieitesss/agent-radar'
|
||||||
|
|
||||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||||
run '~/.config/tmux/plugins/tpm/tpm'
|
run '~/.config/tmux/plugins/tpm/tpm'
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
#!/usr/bin/env -S /bin/sh
|
#!/usr/bin/env -S /bin/sh
|
||||||
pi --model opencode-go/mimo-v2.5 -p /skill:commit-staged
|
exec pi --model opencode-go/mimo-v2.5 -p /skill:commit-staged
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ TEMPLATES_DIR="$DOTFILES_DIR/default/themed"
|
|||||||
USER_TEMPLATES_DIR="$HOME/.config/omarchy/themed"
|
USER_TEMPLATES_DIR="$HOME/.config/omarchy/themed"
|
||||||
NEXT_THEME_DIR="$HOME/.config/omarchy/current/next-theme"
|
NEXT_THEME_DIR="$HOME/.config/omarchy/current/next-theme"
|
||||||
COLORS_FILE="$NEXT_THEME_DIR/colors.toml"
|
COLORS_FILE="$NEXT_THEME_DIR/colors.toml"
|
||||||
|
THEME_MODE="$NEXT_THEME_DIR/light.mode"
|
||||||
|
|
||||||
# Convert hex color to decimal RGB (e.g., "#1e1e2e" -> "30,30,46")
|
# Convert hex color to decimal RGB (e.g., "#1e1e2e" -> "30,30,46")
|
||||||
hex_to_rgb() {
|
hex_to_rgb() {
|
||||||
@@ -18,6 +19,13 @@ hex_to_rgb() {
|
|||||||
if [[ -f $COLORS_FILE ]]; then
|
if [[ -f $COLORS_FILE ]]; then
|
||||||
sed_script=$(mktemp)
|
sed_script=$(mktemp)
|
||||||
|
|
||||||
|
key="theme_mode";
|
||||||
|
if [[ -f $THEME_MODE ]]; then
|
||||||
|
printf 's|{{ %s }}|%s|g\n' "$key" "light" # {{ key }} -> value
|
||||||
|
else
|
||||||
|
printf 's|{{ %s }}|%s|g\n' "$key" "dark" # {{ key }} -> value
|
||||||
|
fi >"$sed_script"
|
||||||
|
|
||||||
while IFS='=' read -r key value; do
|
while IFS='=' read -r key value; do
|
||||||
key="${key//[\"\' ]/}" # strip quotes and spaces from key
|
key="${key//[\"\' ]/}" # strip quotes and spaces from key
|
||||||
[[ $key && $key != \#* ]] || continue # skip empty lines and comments
|
[[ $key && $key != \#* ]] || continue # skip empty lines and comments
|
||||||
@@ -30,7 +38,7 @@ if [[ -f $COLORS_FILE ]]; then
|
|||||||
rgb=$(hex_to_rgb "$value")
|
rgb=$(hex_to_rgb "$value")
|
||||||
echo "s|{{ ${key}_rgb }}|${rgb}|g"
|
echo "s|{{ ${key}_rgb }}|${rgb}|g"
|
||||||
fi
|
fi
|
||||||
done <"$COLORS_FILE" >"$sed_script"
|
done <"$COLORS_FILE" >>"$sed_script"
|
||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user