Battery was suposed to be in panel, fixed that. Added support for waytray.
This commit is contained in:
57
i38.sh
57
i38.sh
@@ -401,6 +401,44 @@ update_scripts() {
|
||||
exit 0
|
||||
}
|
||||
|
||||
write_waytray_config() {
|
||||
# Only create config if waytray binaries are detected
|
||||
if ! command -v waytray-daemon &> /dev/null || ! command -v waytray &> /dev/null ; then
|
||||
return 1
|
||||
fi
|
||||
|
||||
local waytrayConfigDir="${XDG_CONFIG_HOME:-$HOME/.config}/waytray"
|
||||
local waytrayConfig="${waytrayConfigDir}/config.toml"
|
||||
|
||||
mkdir -p "${waytrayConfigDir}"
|
||||
|
||||
# Ask user if config already exists
|
||||
if [[ -f "${waytrayConfig}" ]]; then
|
||||
if ! yesno "Existing waytray configuration detected. Replace with I38's minimal tray-only config?\n\n(Select 'No' to keep your existing waytray configuration with all modules enabled)"; then
|
||||
return 0 # User wants to keep existing config
|
||||
fi
|
||||
fi
|
||||
|
||||
# Create I38's minimal tray-only config
|
||||
cat << 'EOF' > "${waytrayConfig}"
|
||||
# WayTray Configuration - Generated by I38
|
||||
# I38 provides its own battery, weather, and system info utilities
|
||||
# This config enables ONLY the system tray (SNI) functionality
|
||||
|
||||
[modules]
|
||||
order = ["tray"]
|
||||
|
||||
[modules.tray]
|
||||
enabled = true
|
||||
|
||||
[notifications]
|
||||
enabled = true
|
||||
timeout_ms = 5000
|
||||
EOF
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
|
||||
# Array of command line arguments
|
||||
declare -A command=(
|
||||
@@ -597,6 +635,9 @@ mkdir -p "${i3Path}"
|
||||
# Move scripts into place
|
||||
cp -rv scripts/ "${i3Path}/" | dialog --backtitle "I38" --progressbox "Moving scripts into place and writing config..." -1 -1
|
||||
|
||||
# Configure waytray if available
|
||||
write_waytray_config
|
||||
|
||||
cat << EOF > ${i3Path}/config
|
||||
# Generated by I38 (${0##*/}) https://git.stormux.org/storm/I38
|
||||
# $(date '+%A, %B %d, %Y at %I:%M%p')
|
||||
@@ -799,10 +840,15 @@ mode "panel" {
|
||||
|
||||
# Magic wormhole bound to shift+W
|
||||
bindsym Shift+w exec --no-startup-id ${i3Path}/scripts/wormhole.py, mode "default"
|
||||
|
||||
|
||||
$(if command -v waytray &> /dev/null ; then
|
||||
echo " # System tray bound to t"
|
||||
echo " bindsym t exec --no-startup-id waytray, mode \"default\""
|
||||
echo " "
|
||||
fi)
|
||||
# System information bound to s
|
||||
bindsym s exec --no-startup-id ${i3Path}/scripts/sysinfo.sh, mode "default"
|
||||
|
||||
|
||||
$(if command -v remind &> /dev/null ; then
|
||||
echo "# Reminders bound to r"
|
||||
echo "bindsym r exec --no-startup-id ${i3Path}/scripts/reminder.sh, mode \"default\""
|
||||
@@ -816,6 +862,9 @@ $(if command -v blueman-manager &> /dev/null ; then
|
||||
echo "bindsym b exec --no-startup-id blueman-manager, mode \"default\""
|
||||
fi)
|
||||
|
||||
# Detailed battery information bound to Shift+b
|
||||
bindsym Shift+b exec --no-startup-id ${i3Path}/scripts/battery_status.sh --detailed, mode "default"
|
||||
|
||||
$(if command -v lxsession-logout &> /dev/null ; then
|
||||
echo "# Power options bound to p"
|
||||
echo "bindsym p exec --no-startup-id lxsession-logout, mode \"default\""
|
||||
@@ -980,6 +1029,10 @@ fi
|
||||
if [[ $batteryAlert -eq 0 ]]; then
|
||||
echo "exec_always --no-startup-id ${i3Path}/scripts/battery_alert.sh"
|
||||
fi
|
||||
# WayTray system tray daemon
|
||||
if command -v waytray-daemon &> /dev/null ; then
|
||||
echo 'exec_always --no-startup-id bash -c "pgrep -x waytray-daemon > /dev/null || waytray-daemon"'
|
||||
fi
|
||||
if [[ $dex -eq 0 ]]; then
|
||||
echo '# Start XDG autostart .desktop files using dex. See also'
|
||||
echo '# https://wiki.archlinux.org/index.php/XDG_Autostart'
|
||||
|
||||
Reference in New Issue
Block a user