From 01872fbe75283ca3e15f4d04071a94ab2dbcea71 Mon Sep 17 00:00:00 2001 From: David Raphi Date: Wed, 10 Dec 2025 14:00:33 +0530 Subject: [PATCH 1/2] feat!: [DRO-64] Optimize and update design --- configs/i3/config | 5 +-- configs/picom/picom.conf | 1 + configs/polybar/config.ini | 82 +++++++++++++++++++++++--------------- install.sh | 21 +++++----- uninstall.sh | 31 ++++++++++---- 5 files changed, 87 insertions(+), 53 deletions(-) diff --git a/configs/i3/config b/configs/i3/config index 1d850c2..6764162 100644 --- a/configs/i3/config +++ b/configs/i3/config @@ -308,9 +308,8 @@ bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3?' -B 'Yes' 'i3-msg e # Always float certain windows for_window [class="Pavucontrol"] floating enable -for_window [class="Arandr"] floating enable for_window [class="Lxappearance"] floating enable -for_window [class="Nitrogen"] floating enable +for_window [class="Arandr"] floating enable for_window [window_role="pop-up"] floating enable for_window [window_role="task_dialog"] floating enable for_window [window_role="Preferences"] floating enable @@ -356,8 +355,6 @@ exec_always --no-startup-id feh --bg-fill ~/.config/wallpaper.png # Blue light filter (Thrissur, Kerala, India) exec --no-startup-id redshift -l 10.5276:76.2144 -# Restore last wallpaper (if using nitrogen) -# exec --no-startup-id nitrogen --restore # Polkit authentication agent exec --no-startup-id /usr/libexec/xfce-polkit diff --git a/configs/picom/picom.conf b/configs/picom/picom.conf index b8d51ea..7e5a8f8 100644 --- a/configs/picom/picom.conf +++ b/configs/picom/picom.conf @@ -34,6 +34,7 @@ inactive-opacity-override = false; opacity-rule = [ "100:class_g = 'firefox'", "100:class_g = 'Google-chrome'", + "100:class_g = 'Brave-browser'", "95:class_g = 'Code'", "95:class_g = 'VSCodium'", "100:class_g = 'Gimp'", diff --git a/configs/polybar/config.ini b/configs/polybar/config.ini index c976ec8..c295bcb 100644 --- a/configs/polybar/config.ini +++ b/configs/polybar/config.ini @@ -118,7 +118,7 @@ label-padding = 2 type = internal/fs interval = 25 mount-0 = / -format-mounted-prefix = "DISK " +format-mounted-prefix = " " format-mounted-prefix-foreground = ${colors.primary} label-mounted = %percentage_used%% %used%/%total% @@ -126,14 +126,14 @@ label-mounted = %percentage_used%% %used%/%total% type = internal/cpu interval = 2 -format-prefix = "CPU " +format-prefix = "" format-prefix-foreground = ${colors.primary} label = %percentage:2%% [module/memory] type = internal/memory interval = 2 -format-prefix = "RAM " +format-prefix = " " format-prefix-foreground = ${colors.primary} label = %percentage_used%% %used%/%total% @@ -146,20 +146,20 @@ interval = 3.0 ; Connected state format-connected = -label-connected = %essid% ↓%downspeed% ↑%upspeed% +label-connected = %essid% ↓%downspeed% ↑%upspeed% label-connected-foreground = ${colors.foreground} ; Disconnected state format-disconnected = -label-disconnected = NET Disconnected +label-disconnected =  Disconnected label-disconnected-foreground = ${colors.alert} -; WiFi signal strength -ramp-signal-0 = NET -ramp-signal-1 = NET -ramp-signal-2 = NET -ramp-signal-3 = NET -ramp-signal-4 = NET +; WiFi signal strength icons +ramp-signal-0 =  +ramp-signal-1 =  +ramp-signal-2 =  +ramp-signal-3 =  +ramp-signal-4 =  ramp-signal-foreground = ${colors.primary} ; Click to open network settings @@ -176,29 +176,32 @@ date-alt = "%Y-%m-%d" time = %I:%M %p time-alt = %I:%M:%S %p -; format-prefix = "DATE " format-prefix-foreground = ${colors.primary} label = %date% %time% [module/calendar] type = custom/text -content = CAL -content-foreground = ${colors.primary} +format =  +format-foreground = ${colors.primary} click-left = yad --calendar --no-buttons --undecorated --close-on-unfocus --skip-taskbar --on-top --fixed --geometry=+960+30 [module/pulseaudio] type = internal/pulseaudio -format-volume-prefix = "VOL " -format-volume-prefix-foreground = ${colors.primary} +format-volume = label-volume = %percentage%% -format-muted-prefix = "VOL " -format-muted-prefix-foreground = ${colors.primary} +format-muted-prefix = " " +format-muted-prefix-foreground = ${colors.alert} label-muted = MUTED label-muted-foreground = ${colors.alert} +ramp-volume-0 =  +ramp-volume-1 =  +ramp-volume-2 =  +ramp-volume-foreground = ${colors.primary} + ; Click to open volume control click-right = pavucontrol @@ -208,38 +211,53 @@ battery = BAT1 adapter = ACAD full-at = 98 -format-charging-prefix = "BAT " -format-charging-prefix-foreground = ${colors.primary} -label-charging = %percentage%% CHR +format-charging = +label-charging = %percentage%% label-charging-foreground = ${colors.success} -format-discharging-prefix = "BAT " -format-discharging-prefix-foreground = ${colors.primary} +format-discharging = label-discharging = %percentage%% -format-full-prefix = "BAT " -format-full-prefix-foreground = ${colors.primary} +format-full-prefix = " " +format-full-prefix-foreground = ${colors.success} label-full = FULL label-full-foreground = ${colors.success} +; Battery capacity icons +ramp-capacity-0 =  +ramp-capacity-1 =  +ramp-capacity-2 =  +ramp-capacity-3 =  +ramp-capacity-4 =  +ramp-capacity-foreground = ${colors.primary} + +; Charging animation +animation-charging-0 =  +animation-charging-1 =  +animation-charging-2 =  +animation-charging-3 =  +animation-charging-4 =  +animation-charging-foreground = ${colors.success} +animation-charging-framerate = 750 + [module/powermenu] type = custom/menu -expand-right = true +expand-right = false format-spacing = 1 -label-open = POWER +label-open =  label-open-foreground = ${colors.primary} -label-close = " CANCEL" +label-close =  label-close-foreground = ${colors.alert} label-separator = | label-separator-foreground = ${colors.foreground-alt} -menu-0-0 = reboot +menu-0-0 =  menu-0-0-exec = systemctl reboot -menu-0-1 = poweroff +menu-0-1 =  menu-0-1-exec = systemctl poweroff -menu-0-2 = logout +menu-0-2 =  menu-0-2-exec = i3-msg exit [module/tray] @@ -255,4 +273,4 @@ pseudo-transparency = false [global/wm] margin-top = 0 -margin-bottom = 0 \ No newline at end of file +margin-bottom = 0 diff --git a/install.sh b/install.sh index de4bbe2..e5fdf96 100755 --- a/install.sh +++ b/install.sh @@ -212,25 +212,25 @@ install_packages() { # Packages based on official Fedora i3 Spin + draphyOS customizations PACKAGES=( - # === Fedora i3 Spin Official (Minimal) === - # Core - i3 i3lock i3status dmenu dunst lightdm - # Terminal (official: urxvt) + # === Core === + i3 i3lock dunst lightdm + # Terminal rxvt-unicode # Networking NetworkManager network-manager-applet firefox # Audio pulseaudio-utils pavucontrol - # Misc + # Utilities brightnessctl htop mousepad Thunar - - # === Fedora i3 Spin Official (Extended) === - rofi powertop arandr tmux xarchiver nitrogen lxappearance + # App launcher + rofi + # Productivity & GUI tools + lxappearance powertop arandr tmux # === draphyOS Customizations === # Shell fish - # Status bar (replaces i3status) + # Status bar polybar # Compositor picom @@ -246,7 +246,8 @@ install_packages() { # Night light redshift geoclue2 # Fonts - fira-code-fonts google-noto-sans-mono-vf-fonts fontawesome4-fonts + fira-code-fonts google-noto-sans-mono-vf-fonts + fontawesome-6-free-fonts fontawesome-6-brands-fonts # Icons & Themes mint-y-icons adwaita-cursor-theme # Calendar popup diff --git a/uninstall.sh b/uninstall.sh index 66f54c2..46ce6a2 100755 --- a/uninstall.sh +++ b/uninstall.sh @@ -11,7 +11,6 @@ # https://github.com/draphy/draphyOS # -set -e # Colors (with fallback for non-color terminals) if [[ -t 1 ]] && [[ "${TERM:-dumb}" != "dumb" ]]; then @@ -109,10 +108,20 @@ remove_configs() { # Remove wallpaper (copied, not symlinked) rm -f "$HOME/.config/wallpaper.png" 2>/dev/null || true - # Remove empty directories created by install + # Remove empty directories created by install (only if empty) rmdir "$HOME/.config/i3/scripts" 2>/dev/null || true + rmdir "$HOME/.config/i3" 2>/dev/null || true rmdir "$HOME/.config/polybar/scripts" 2>/dev/null || true + rmdir "$HOME/.config/polybar" 2>/dev/null || true + rmdir "$HOME/.config/rofi" 2>/dev/null || true + rmdir "$HOME/.config/dunst" 2>/dev/null || true + rmdir "$HOME/.config/picom" 2>/dev/null || true + rmdir "$HOME/.config/fish" 2>/dev/null || true + rmdir "$HOME/.config/gtk-3.0" 2>/dev/null || true rmdir "$HOME/.config/redshift" 2>/dev/null || true + rmdir "$HOME/.config/xfce4/xfconf/xfce-perchannel-xml" 2>/dev/null || true + rmdir "$HOME/.config/xfce4/xfconf" 2>/dev/null || true + rmdir "$HOME/.config/xfce4" 2>/dev/null || true print_success "Configs removed" } @@ -125,15 +134,21 @@ revert_shell() { if [ "$current_shell" = "fish" ]; then echo -e "Your default shell is currently ${YELLOW}fish${NC}." echo -e "Do you want to revert to ${GREEN}bash${NC}? (y/n)" - read -r response + read -r response /dev/null || chsh -s "$bash_path" 2>/dev/null; then print_success "Shell reverted to bash" + # Remove fish from /etc/shells if it was added by draphyOS + if [ -n "$fish_path" ] && grep -q "$fish_path" /etc/shells 2>/dev/null; then + sudo sed -i "\|$fish_path|d" /etc/shells 2>/dev/null || true + fi else print_warning "Could not change shell. Run manually: chsh -s $bash_path" fi @@ -149,18 +164,20 @@ remove_packages() { echo -e "Do you want to ${RED}remove draphyOS packages${NC}? (y/n)" echo -e "${YELLOW}Warning: This will remove polybar, picom, redshift, etc.${NC}" echo -e "${YELLOW}Core packages (i3, rofi, dunst, etc.) will be kept.${NC}" - read -r response + read -r response /dev/null || true @@ -213,7 +230,7 @@ restore_backup() { if [ -n "$LATEST_BACKUP" ] && [ -d "$LATEST_BACKUP" ]; then echo -e "Found backup: ${YELLOW}$LATEST_BACKUP${NC}" echo -e "Do you want to ${GREEN}restore${NC} this backup? (y/n)" - read -r response + read -r response Date: Wed, 10 Dec 2025 14:07:23 +0530 Subject: [PATCH 2/2] fix: release note issue for breaking changes commit --- .github/workflows/release.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ee5db77..fb48362 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -111,8 +111,13 @@ jobs: COMMITS=$(git log --pretty=format:"%s|%h" ${LATEST_TAG}..HEAD) fi + BREAKING="" while IFS='|' read -r msg hash; do - if echo "$msg" | grep -qE "^feat(\(.+\))?:"; then + # Check for breaking changes first (feat!, fix!, etc.) + if echo "$msg" | grep -qE "^(feat|fix|refactor)(\(.+\))?!:"; then + CLEAN_MSG=$(echo "$msg" | sed -E 's/^(feat|fix|refactor)(\([^)]+\))?!:\s*//') + BREAKING="${BREAKING}- ${CLEAN_MSG} (${hash})\n" + elif echo "$msg" | grep -qE "^feat(\(.+\))?:"; then CLEAN_MSG=$(echo "$msg" | sed -E 's/^feat(\([^)]+\))?:\s*//') FEATURES="${FEATURES}- ${CLEAN_MSG} (${hash})\n" elif echo "$msg" | grep -qE "^fix(\(.+\))?:"; then @@ -125,6 +130,9 @@ jobs: done <<< "$COMMITS" # Build release notes + if [ -n "$BREAKING" ]; then + NOTES="${NOTES}## ⚠️ Breaking Changes\n${BREAKING}\n" + fi if [ -n "$FEATURES" ]; then NOTES="${NOTES}## Features\n${FEATURES}\n" fi