diff --git a/.config/discord/settings.json b/.config/discord/settings.json index ad48e98..87de5c8 100644 --- a/.config/discord/settings.json +++ b/.config/discord/settings.json @@ -9,5 +9,6 @@ "height": 1378 }, "SKIP_HOST_UPDATE": true, - "BACKGROUND_COLOR": "#000000" + "BACKGROUND_COLOR": "#000000", + "offloadAdmControls": false } \ No newline at end of file diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 799f3ac..9ad7890 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -73,3 +73,4 @@ end # Created by `pipx` on 2025-06-04 15:36:28 set PATH $PATH /home/mike/.local/bin +[ -f "$HOME/.theme_env" ] && source "$HOME/.theme_env" diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini index c4f7c1a..7518c4b 100644 --- a/.config/gtk-3.0/settings.ini +++ b/.config/gtk-3.0/settings.ini @@ -1,17 +1,4 @@ [Settings] +gtk-application-prefer-dark-theme=true gtk-theme-name=Rosepine-Dark gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Cantarell 11 -gtk-cursor-theme-name=elementary -gtk-cursor-theme-size=24 -gtk-toolbar-style=GTK_TOOLBAR_ICONS -gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR -gtk-button-images=0 -gtk-menu-images=0 -gtk-enable-event-sounds=1 -gtk-enable-input-feedback-sounds=0 -gtk-xft-antialias=1 -gtk-xft-hinting=1 -gtk-xft-hintstyle=hintslight -gtk-xft-rgba=rgb -gtk-application-prefer-dark-theme=1 diff --git a/.config/gtk-4.0/settings.ini b/.config/gtk-4.0/settings.ini index 9459f1f..7518c4b 100644 --- a/.config/gtk-4.0/settings.ini +++ b/.config/gtk-4.0/settings.ini @@ -1,7 +1,4 @@ [Settings] +gtk-application-prefer-dark-theme=true gtk-theme-name=Rosepine-Dark gtk-icon-theme-name=Papirus-Dark -gtk-font-name=Cantarell 11 -gtk-cursor-theme-name=elementary -gtk-cursor-theme-size=24 -gtk-application-prefer-dark-theme=1 diff --git a/.config/qt5ct/qt5ct.conf b/.config/qt5ct/qt5ct.conf index f60c198..7aadc7a 100644 --- a/.config/qt5ct/qt5ct.conf +++ b/.config/qt5ct/qt5ct.conf @@ -1,9 +1,9 @@ [Appearance] -color_scheme_path=/usr/share/qt5ct/colors/airy.conf -custom_palette=false +color_scheme_path=/home/mike/.config/qt5ct/colors/rose-pine.conf +custom_palette=true icon_theme=Papirus-Light standard_dialogs=default -style=rose-pine +style=Windows [Fonts] fixed="Noto Sans,10,-1,5,50,0,0,0,0,0,Regular" @@ -25,7 +25,7 @@ underline_shortcut=1 wheel_scroll_lines=3 [SettingsWindow] -geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\r\x1\0\0\0\x34\0\0\x11`\0\0\x2\xda\0\0\r\x2\0\0\0\x35\0\0\x11_\0\0\x2\xd9\0\0\0\0\0\0\0\0\n\0\0\0\r\x2\0\0\0\x35\0\0\x11_\0\0\x2\xd9) +geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\a\x9e\0\0\0\x34\0\0\x11\x61\0\0\x5\x95\0\0\a\x9e\0\0\0\x34\0\0\x11\x61\0\0\x5\x95\0\0\0\0\0\0\0\0\n\0\0\0\a\x9e\0\0\0\x34\0\0\x11\x61\0\0\x5\x95) [Troubleshooting] force_raster_widgets=1 diff --git a/.config/rofi/config.rasi b/.config/rofi/config.rasi index 6dfc4c2..4d11d6b 100644 --- a/.config/rofi/config.rasi +++ b/.config/rofi/config.rasi @@ -133,3 +133,4 @@ margin: 0px 0.3em 0em 0em; text-color: @grn; } +@theme "rose-pine" diff --git a/.config/timewall/config.toml b/.config/timewall/config.toml index 0309784..ffae583 100644 --- a/.config/timewall/config.toml +++ b/.config/timewall/config.toml @@ -1,7 +1,7 @@ [location] -lat = 50.15 -lon = 18.82 +lat = 50.27 +lon = 19.04 [setter] -# command = ['feh', '--bg-fill', '%f'] -command = ['swww', 'img', '%f'] +command = ['feh', '--bg-fill', '%f'] +# command = ['swww', 'img', '%f'] diff --git a/.config/wezterm/wezterm.lua b/.config/wezterm/wezterm.lua index 6ea0eed..96b9445 100644 --- a/.config/wezterm/wezterm.lua +++ b/.config/wezterm/wezterm.lua @@ -28,7 +28,7 @@ config.keys = { local theme = wezterm.plugin.require('https://github.com/neapsix/wezterm').main -- This is where you actually apply your config choices --- config.color_scheme = "rose-pine" +-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- config.color_scheme = "rose-pine" -- Using custom Rose Pine theme -- the font is named 'Source Code Pro ExtraLight', but I actually use the DemiBold weight. looks awesome config.font = wezterm.font('Hack Nerd Font') config.colors = theme.colors() diff --git a/.local/bin/dark b/.local/bin/dark index 8c31efa..f13656e 100755 --- a/.local/bin/dark +++ b/.local/bin/dark @@ -1,7 +1,8 @@ #!/bin/bash -# Set theme environment variable +# Set theme environment variable for current session and future sessions export THEME="dark" +echo "export THEME=dark" > "$HOME/.theme_env" # Update GTK theme using gsettings (more reliable) if command -v gsettings >/dev/null 2>&1; then @@ -38,42 +39,153 @@ EOF # Update Qt6 theme using qt6ct if command -v qt6ct >/dev/null 2>&1; then export QT_QPA_PLATFORMTHEME=qt6ct - mkdir -p "$HOME/.config/qt6ct" + mkdir -p "$HOME/.config/qt6ct/colors" if [ -f "$HOME/.config/qt6ct/qt6ct.conf" ]; then - sed -i 's/^style=.*/style=rose-pine/' "$HOME/.config/qt6ct/qt6ct.conf" + sed -i 's/^color_scheme_path=.*/color_scheme_path=\/home\/mike\/.config\/qt6ct\/colors\/rose-pine.conf/' "$HOME/.config/qt6ct/qt6ct.conf" sed -i 's/^color_scheme=.*/color_scheme=rose-pine/' "$HOME/.config/qt6ct/qt6ct.conf" + else + # Create basic qt6ct config if it doesn't exist + cat > "$HOME/.config/qt6ct/qt6ct.conf" << EOF +[Appearance] +color_scheme_path=/home/mike/.config/qt6ct/colors/rose-pine.conf +color_scheme=rose-pine +custom_palette=true +standard_dialogs=default +style=Fusion + +[Fonts] +fixed=@Variant(\0\0\0@\0\0\0\x12\0M\0o\0n\0o\0s\0p\0\x61\0\x63\0\x65@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +general=@Variant(\0\0\0@\0\0\0\x12\0U\0\x62\0u\0n\0t\0u@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray() +EOF fi fi # Update Qt5 theme using qt5ct if command -v qt5ct >/dev/null 2>&1; then export QT_QPA_PLATFORMTHEME=qt5ct - mkdir -p "$HOME/.config/qt5ct" + mkdir -p "$HOME/.config/qt5ct/colors" if [ -f "$HOME/.config/qt5ct/qt5ct.conf" ]; then - sed -i 's/^style=.*/style=rose-pine/' "$HOME/.config/qt5ct/qt5ct.conf" + sed -i 's/^color_scheme_path=.*/color_scheme_path=\/home\/mike\/.config\/qt5ct\/colors\/rose-pine.conf/' "$HOME/.config/qt5ct/qt5ct.conf" sed -i 's/^color_scheme=.*/color_scheme=rose-pine/' "$HOME/.config/qt5ct/qt5ct.conf" + else + # Create basic qt5ct config if it doesn't exist + cat > "$HOME/.config/qt5ct/qt5ct.conf" << EOF +[Appearance] +color_scheme_path=/home/mike/.config/qt5ct/colors/rose-pine.conf +color_scheme=rose-pine +custom_palette=true +standard_dialogs=default +style=Fusion + +[Fonts] +fixed=@Variant(\0\0\0@\0\0\0\x12\0M\0o\0n\0o\0s\0p\0\x61\0\x63\0\x65@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +general=@Variant(\0\0\0@\0\0\0\x12\0U\0\x62\0u\0n\0t\0u@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray() +EOF fi fi # Update Rofi theme +mkdir -p "$HOME/.config/rofi" if [ -f "$HOME/.config/rofi/config.rasi" ]; then - sed -i 's/@theme ".*"/@theme "rose-pine"/' "$HOME/.config/rofi/config.rasi" -elif [ -f "$HOME/.config/rofi/config" ]; then - sed -i 's/rofi.theme:.*/rofi.theme: rose-pine/' "$HOME/.config/rofi/config" + # Update existing config.rasi + if grep -q "@theme" "$HOME/.config/rofi/config.rasi"; then + sed -i 's/@theme ".*"/@theme "rose-pine"/' "$HOME/.config/rofi/config.rasi" + else + echo '@theme "rose-pine"' >> "$HOME/.config/rofi/config.rasi" + fi +else + # Create new config.rasi with Rose Pine (dark) theme + cat > "$HOME/.config/rofi/config.rasi" << EOF +configuration { + modi: "drun,run,window"; + show-icons: true; + icon-theme: "Papirus-Dark"; + display-drun: ""; + display-run: ""; + display-window: ""; + drun-display-format: "{name}"; + disable-history: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@theme "rose-pine" +EOF fi # Update Wezterm theme if [ -f "$HOME/.config/wezterm/wezterm.lua" ]; then - sed -i 's/config.color_scheme = .*/config.color_scheme = "rose-pine"/' "$HOME/.config/wezterm/wezterm.lua" + # Update Rose Pine theme variant to main (dark) + sed -i "s/local theme = wezterm\.plugin\.require('https:\/\/github\.com\/neapsix\/wezterm')\.\(main\|moon\|dawn\)/local theme = wezterm.plugin.require('https:\/\/github.com\/neapsix\/wezterm').main/" "$HOME/.config/wezterm/wezterm.lua" + # Also handle manual require statements + sed -i "s/local theme = require('lua\/rose-pine')\.\(main\|moon\|dawn\)/local theme = require('lua\/rose-pine').main/" "$HOME/.config/wezterm/wezterm.lua" + # Fallback for older color_scheme format + sed -i 's/config.color_scheme = .*/-- config.color_scheme = "rose-pine" -- Using custom Rose Pine theme/' "$HOME/.config/wezterm/wezterm.lua" elif [ -f "$HOME/.wezterm.lua" ]; then - sed -i 's/config.color_scheme = .*/config.color_scheme = "rose-pine"/' "$HOME/.wezterm.lua" + # Update Rose Pine theme variant to main (dark) + sed -i "s/local theme = wezterm\.plugin\.require('https:\/\/github\.com\/neapsix\/wezterm')\.\(main\|moon\|dawn\)/local theme = wezterm.plugin.require('https:\/\/github.com\/neapsix\/wezterm').main/" "$HOME/.wezterm.lua" + # Also handle manual require statements + sed -i "s/local theme = require('lua\/rose-pine')\.\(main\|moon\|dawn\)/local theme = require('lua\/rose-pine').main/" "$HOME/.wezterm.lua" + # Fallback for older color_scheme format + sed -i 's/config.color_scheme = .*/-- config.color_scheme = "rose-pine" -- Using custom Rose Pine theme/' "$HOME/.wezterm.lua" fi # Set environment variables for current session +export THEME="dark" export GTK_THEME="Rosepine-Dark:dark" -# Reload applications that support theme changes -pkill -USR1 wezterm >/dev/null 2>&1 || true +# Create theme indicator file for bar.sh to detect +echo "dark" > "$HOME/.current_theme" + +# Verify the file was written +if [ "$(cat "$HOME/.current_theme")" = "dark" ]; then + echo "✓ Theme file updated to 'dark'" +else + echo "✗ Failed to update theme file" +fi + +# Check if bar is running +if pgrep -f "bar.sh" > /dev/null; then + echo "✓ Bar is running - theme should update immediately" +else + echo "⚠ Bar is not running - start it with: ~/repos/dwm/bar.sh" +fi # Try to reload GTK applications via xsettingsd if available if command -v xsettingsd >/dev/null 2>&1; then @@ -85,5 +197,66 @@ if pgrep -x "gnome-session" >/dev/null; then dbus-send --session --type=method_call --dest=org.gnome.SettingsDaemon.Color /org/gnome/SettingsDaemon/Color org.gnome.SettingsDaemon.Color.ApplySettings >/dev/null 2>&1 || true fi +# Update theme state file for bar.sh +echo "dark" > "$HOME/.current_theme" + +# Load dark theme Xresources and reload dwm colors +if [ -f "$HOME/.Xresources.dark" ]; then + echo "Loading dark theme Xresources..." + xrdb -merge "$HOME/.Xresources.dark" + + # Send signal to dwm to reload colors (equivalent to Mod+Shift+F5) + # First try using xdotool to simulate the key combination + if command -v xdotool >/dev/null 2>&1; then + xdotool key --clearmodifiers Super_L+shift+F5 2>/dev/null || true + fi + + # Alternative: if you have dwm-msg or similar IPC tool + # dwm-msg run_command xrdb 2>/dev/null || true +fi + +# Refresh system tray icons and Qt applications +echo "Refreshing system tray and Qt applications..." + +# Restart common tray applications to refresh their icons +for app in nm-applet blueman-applet pasystray; do + if pgrep "$app" >/dev/null; then + pkill "$app" 2>/dev/null + sleep 0.5 + nohup "$app" >/dev/null 2>&1 & + fi +done + +# Notify Qt applications of theme change +if command -v qt5ct >/dev/null 2>&1; then + export QT_QPA_PLATFORMTHEME=qt5ct +fi +if command -v qt6ct >/dev/null 2>&1; then + export QT_QPA_PLATFORMTHEME=qt6ct +fi + # Notify about theme change echo "Switched to Rose Pine (dark) theme" + +# Update shell configuration to source theme on new terminals +if [ -n "$SHELL" ]; then + shell_name=$(basename "$SHELL") + case "$shell_name" in + "bash") + if ! grep -q "source.*\.theme_env" "$HOME/.bashrc" 2>/dev/null; then + echo "[ -f \"\$HOME/.theme_env\" ] && source \"\$HOME/.theme_env\"" >> "$HOME/.bashrc" + fi + ;; + "fish") + mkdir -p "$HOME/.config/fish" + if ! grep -q "source.*\.theme_env" "$HOME/.config/fish/config.fish" 2>/dev/null; then + echo "[ -f \"\$HOME/.theme_env\" ] && source \"\$HOME/.theme_env\"" >> "$HOME/.config/fish/config.fish" + fi + ;; + "zsh") + if ! grep -q "source.*\.theme_env" "$HOME/.zshrc" 2>/dev/null; then + echo "[ -f \"\$HOME/.theme_env\" ] && source \"\$HOME/.theme_env\"" >> "$HOME/.zshrc" + fi + ;; + esac +fi diff --git a/.local/bin/light b/.local/bin/light index 54b4785..db5c89c 100755 --- a/.local/bin/light +++ b/.local/bin/light @@ -1,7 +1,8 @@ #!/bin/bash -# Set theme environment variable +# Set theme environment variable for current session and future sessions export THEME="light" +echo "export THEME=light" > "$HOME/.theme_env" # Update GTK theme using gsettings (more reliable) if command -v gsettings >/dev/null 2>&1; then @@ -38,43 +39,154 @@ EOF # Update Qt6 theme using qt6ct if command -v qt6ct >/dev/null 2>&1; then export QT_QPA_PLATFORMTHEME=qt6ct - mkdir -p "$HOME/.config/qt6ct" + mkdir -p "$HOME/.config/qt6ct/colors" if [ -f "$HOME/.config/qt6ct/qt6ct.conf" ]; then - sed -i 's/^style=.*/style=rose-pine-dawn/' "$HOME/.config/qt6ct/qt6ct.conf" + sed -i 's/^color_scheme_path=.*/color_scheme_path=\/home\/mike\/.config\/qt6ct\/colors\/rose-pine-dawn.conf/' "$HOME/.config/qt6ct/qt6ct.conf" sed -i 's/^color_scheme=.*/color_scheme=rose-pine-dawn/' "$HOME/.config/qt6ct/qt6ct.conf" + else + # Create basic qt6ct config if it doesn't exist + cat > "$HOME/.config/qt6ct/qt6ct.conf" << EOF +[Appearance] +color_scheme_path=/home/mike/.config/qt6ct/colors/rose-pine-dawn.conf +color_scheme=rose-pine-dawn +custom_palette=true +standard_dialogs=default +style=Fusion + +[Fonts] +fixed=@Variant(\0\0\0@\0\0\0\x12\0M\0o\0n\0o\0s\0p\0\x61\0\x63\0\x65@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +general=@Variant(\0\0\0@\0\0\0\x12\0U\0\x62\0u\0n\0t\0u@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray() +EOF fi fi # Update Qt5 theme using qt5ct if command -v qt5ct >/dev/null 2>&1; then export QT_QPA_PLATFORMTHEME=qt5ct - mkdir -p "$HOME/.config/qt5ct" + mkdir -p "$HOME/.config/qt5ct/colors" if [ -f "$HOME/.config/qt5ct/qt5ct.conf" ]; then - sed -i 's/^style=.*/style=rose-pine-dawn/' "$HOME/.config/qt5ct/qt5ct.conf" + sed -i 's/^color_scheme_path=.*/color_scheme_path=\/home\/mike\/.config\/qt5ct\/colors\/rose-pine-dawn.conf/' "$HOME/.config/qt5ct/qt5ct.conf" sed -i 's/^color_scheme=.*/color_scheme=rose-pine-dawn/' "$HOME/.config/qt5ct/qt5ct.conf" + else + # Create basic qt5ct config if it doesn't exist + cat > "$HOME/.config/qt5ct/qt5ct.conf" << EOF +[Appearance] +color_scheme_path=/home/mike/.config/qt5ct/colors/rose-pine-dawn.conf +color_scheme=rose-pine-dawn +custom_palette=true +standard_dialogs=default +style=Fusion + +[Fonts] +fixed=@Variant(\0\0\0@\0\0\0\x12\0M\0o\0n\0o\0s\0p\0\x61\0\x63\0\x65@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) +general=@Variant(\0\0\0@\0\0\0\x12\0U\0\x62\0u\0n\0t\0u@\"\0\0\0\0\0\0\xff\xff\xff\xff\x5\x1\0\x32\x10) + +[Interface] +activate_item_on_single_click=1 +buttonbox_layout=0 +cursor_flash_time=1000 +dialog_buttons_have_icons=1 +double_click_interval=400 +gui_effects=@Invalid() +keyboard_scheme=2 +menus_have_icons=true +show_shortcuts_in_context_menus=true +stylesheets=@Invalid() +toolbutton_style=4 +underline_shortcut=1 +wheel_scroll_lines=3 + +[SettingsWindow] +geometry=@ByteArray() +EOF fi fi # Update Rofi theme +mkdir -p "$HOME/.config/rofi" if [ -f "$HOME/.config/rofi/config.rasi" ]; then - sed -i 's/@theme ".*"/@theme "rose-pine-dawn"/' "$HOME/.config/rofi/config.rasi" -elif [ -f "$HOME/.config/rofi/config" ]; then - sed -i 's/rofi.theme:.*/rofi.theme: rose-pine-dawn/' "$HOME/.config/rofi/config" + # Update existing config.rasi + if grep -q "@theme" "$HOME/.config/rofi/config.rasi"; then + sed -i 's/@theme ".*"/@theme "rose-pine-dawn"/' "$HOME/.config/rofi/config.rasi" + else + echo '@theme "rose-pine-dawn"' >> "$HOME/.config/rofi/config.rasi" + fi +else + # Create new config.rasi with Rose Pine Dawn (light) theme + cat > "$HOME/.config/rofi/config.rasi" << EOF +configuration { + modi: "drun,run,window"; + show-icons: true; + icon-theme: "Papirus-Light"; + display-drun: ""; + display-run: ""; + display-window: ""; + drun-display-format: "{name}"; + disable-history: false; + hide-scrollbar: true; + sidebar-mode: false; +} + +@theme "rose-pine-dawn" +EOF fi # Update Wezterm theme if [ -f "$HOME/.config/wezterm/wezterm.lua" ]; then - sed -i 's/config.color_scheme = .*/config.color_scheme = "rose-pine-dawn"/' "$HOME/.config/wezterm/wezterm.lua" + # Update Rose Pine theme variant to dawn (light) + sed -i "s/local theme = wezterm\.plugin\.require('https:\/\/github\.com\/neapsix\/wezterm')\.\(main\|moon\|dawn\)/local theme = wezterm.plugin.require('https:\/\/github.com\/neapsix\/wezterm').dawn/" "$HOME/.config/wezterm/wezterm.lua" + # Also handle manual require statements + sed -i "s/local theme = require('lua\/rose-pine')\.\(main\|moon\|dawn\)/local theme = require('lua\/rose-pine').dawn/" "$HOME/.config/wezterm/wezterm.lua" + # Fallback for older color_scheme format + sed -i 's/config.color_scheme = .*/-- config.color_scheme = "rose-pine-dawn" -- Using custom Rose Pine theme/' "$HOME/.config/wezterm/wezterm.lua" elif [ -f "$HOME/.wezterm.lua" ]; then - sed -i 's/config.color_scheme = .*/config.color_scheme = "rose-pine-dawn"/' "$HOME/.wezterm.lua" + # Update Rose Pine theme variant to dawn (light) + sed -i "s/local theme = wezterm\.plugin\.require('https:\/\/github\.com\/neapsix\/wezterm')\.\(main\|moon\|dawn\)/local theme = wezterm.plugin.require('https:\/\/github.com\/neapsix\/wezterm').dawn/" "$HOME/.wezterm.lua" + # Also handle manual require statements + sed -i "s/local theme = require('lua\/rose-pine')\.\(main\|moon\|dawn\)/local theme = require('lua\/rose-pine').dawn/" "$HOME/.wezterm.lua" + # Fallback for older color_scheme format + sed -i 's/config.color_scheme = .*/-- config.color_scheme = "rose-pine-dawn" -- Using custom Rose Pine theme/' "$HOME/.wezterm.lua" fi # Set environment variables for current session +export THEME="light" export GTK_THEME="" unset GTK_THEME # Unset to use theme from config files -# Reload applications that support theme changes -pkill -USR1 wezterm >/dev/null 2>&1 || true +# Create theme indicator file for bar.sh to detect +echo "light" > "$HOME/.current_theme" + +# Verify the file was written +if [ "$(cat "$HOME/.current_theme")" = "light" ]; then + echo "✓ Theme file updated to 'light'" +else + echo "✗ Failed to update theme file" +fi + +# Check if bar is running +if pgrep -f "bar.sh" > /dev/null; then + echo "✓ Bar is running - theme should update immediately" +else + echo "⚠ Bar is not running - start it with: ~/repos/dwm/bar.sh" +fi # Try to reload GTK applications via xsettingsd if available if command -v xsettingsd >/dev/null 2>&1; then @@ -86,5 +198,66 @@ if pgrep -x "gnome-session" >/dev/null; then dbus-send --session --type=method_call --dest=org.gnome.SettingsDaemon.Color /org/gnome/SettingsDaemon/Color org.gnome.SettingsDaemon.Color.ApplySettings >/dev/null 2>&1 || true fi +# Update theme state file for bar.sh +echo "light" > "$HOME/.current_theme" + +# Load light theme Xresources and reload dwm colors +if [ -f "$HOME/.Xresources.light" ]; then + echo "Loading light theme Xresources..." + xrdb -merge "$HOME/.Xresources.light" + + # Send signal to dwm to reload colors (equivalent to Mod+Shift+F5) + # First try using xdotool to simulate the key combination + if command -v xdotool >/dev/null 2>&1; then + xdotool key --clearmodifiers Super_L+shift+F5 2>/dev/null || true + fi + + # Alternative: if you have dwm-msg or similar IPC tool + # dwm-msg run_command xrdb 2>/dev/null || true +fi + +# Refresh system tray icons and Qt applications +echo "Refreshing system tray and Qt applications..." + +# Restart common tray applications to refresh their icons +for app in nm-applet blueman-applet pasystray; do + if pgrep "$app" >/dev/null; then + pkill "$app" 2>/dev/null + sleep 0.5 + nohup "$app" >/dev/null 2>&1 & + fi +done + +# Notify Qt applications of theme change +if command -v qt5ct >/dev/null 2>&1; then + export QT_QPA_PLATFORMTHEME=qt5ct +fi +if command -v qt6ct >/dev/null 2>&1; then + export QT_QPA_PLATFORMTHEME=qt6ct +fi + # Notify about theme change echo "Switched to Rose Pine Dawn (light) theme" + +# Update shell configuration to source theme on new terminals +if [ -n "$SHELL" ]; then + shell_name=$(basename "$SHELL") + case "$shell_name" in + "bash") + if ! grep -q "source.*\.theme_env" "$HOME/.bashrc" 2>/dev/null; then + echo "[ -f \"\$HOME/.theme_env\" ] && source \"\$HOME/.theme_env\"" >> "$HOME/.bashrc" + fi + ;; + "fish") + mkdir -p "$HOME/.config/fish" + if ! grep -q "source.*\.theme_env" "$HOME/.config/fish/config.fish" 2>/dev/null; then + echo "[ -f \"\$HOME/.theme_env\" ] && source \"\$HOME/.theme_env\"" >> "$HOME/.config/fish/config.fish" + fi + ;; + "zsh") + if ! grep -q "source.*\.theme_env" "$HOME/.zshrc" 2>/dev/null; then + echo "[ -f \"\$HOME/.theme_env\" ] && source \"\$HOME/.theme_env\"" >> "$HOME/.zshrc" + fi + ;; + esac +fi diff --git a/.xinitrc b/.xinitrc index b63c83a..c1a1fa8 100644 --- a/.xinitrc +++ b/.xinitrc @@ -28,7 +28,6 @@ export SSH_AUTH_SOCK; #then # SSH_ASKPASS=/usr/lib/ssh/x11-ssh-askpass ssh-add < /dev/null #fi - # theming export QT_QPA_PLATFORMTHEME=qt5ct export DESKTOP_SESSION=plasma @@ -127,7 +126,8 @@ fi # wallpaper engine and theming # nitrogen --restore & # wal --backend colorz -i $HOME/.dots/nitrogen/.config/nitrogen/pexels-engin-akyurt-1435752.jpg & -. ~/.fehbg & +# . ~/.fehbg & +timewall set $HOME/Pictures/Arenales_del_Sol.heic --daemon & ## Set screen locker xss-lock -v -- betterlockscreen -l --time-format '%I:%M %p' & @@ -152,7 +152,8 @@ caffeine >/dev/null 2>&1 & redshift & -export THEME=dark +# Qt5ct and qt6ct theming used +export QT_QPA_PLATFORMTHEME=qt6ct ## Ulauncher # ulauncher --hide-window --no-window-shadow >/dev/null 2>&1 &