Skip to content

Commit 8a42eb1

Browse files
authored
Merge pull request #8 from draphy/draphy/dro-64-test-draphyos-and-optimize
feat: [DRO-64] Optimize and update design
2 parents 52197b3 + 5e79808 commit 8a42eb1

6 files changed

Lines changed: 96 additions & 54 deletions

File tree

.github/workflows/release.yml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,13 @@ jobs:
111111
COMMITS=$(git log --pretty=format:"%s|%h" ${LATEST_TAG}..HEAD)
112112
fi
113113
114+
BREAKING=""
114115
while IFS='|' read -r msg hash; do
115-
if echo "$msg" | grep -qE "^feat(\(.+\))?:"; then
116+
# Check for breaking changes first (feat!, fix!, etc.)
117+
if echo "$msg" | grep -qE "^(feat|fix|refactor)(\(.+\))?!:"; then
118+
CLEAN_MSG=$(echo "$msg" | sed -E 's/^(feat|fix|refactor)(\([^)]+\))?!:\s*//')
119+
BREAKING="${BREAKING}- ${CLEAN_MSG} (${hash})\n"
120+
elif echo "$msg" | grep -qE "^feat(\(.+\))?:"; then
116121
CLEAN_MSG=$(echo "$msg" | sed -E 's/^feat(\([^)]+\))?:\s*//')
117122
FEATURES="${FEATURES}- ${CLEAN_MSG} (${hash})\n"
118123
elif echo "$msg" | grep -qE "^fix(\(.+\))?:"; then
@@ -125,6 +130,9 @@ jobs:
125130
done <<< "$COMMITS"
126131
127132
# Build release notes
133+
if [ -n "$BREAKING" ]; then
134+
NOTES="${NOTES}## ⚠️ Breaking Changes\n${BREAKING}\n"
135+
fi
128136
if [ -n "$FEATURES" ]; then
129137
NOTES="${NOTES}## Features\n${FEATURES}\n"
130138
fi

configs/i3/config

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,9 +308,8 @@ bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3?' -B 'Yes' 'i3-msg e
308308

309309
# Always float certain windows
310310
for_window [class="Pavucontrol"] floating enable
311-
for_window [class="Arandr"] floating enable
312311
for_window [class="Lxappearance"] floating enable
313-
for_window [class="Nitrogen"] floating enable
312+
for_window [class="Arandr"] floating enable
314313
for_window [window_role="pop-up"] floating enable
315314
for_window [window_role="task_dialog"] floating enable
316315
for_window [window_role="Preferences"] floating enable
@@ -356,8 +355,6 @@ exec_always --no-startup-id feh --bg-fill ~/.config/wallpaper.png
356355
# Blue light filter (Thrissur, Kerala, India)
357356
exec --no-startup-id redshift -l 10.5276:76.2144
358357

359-
# Restore last wallpaper (if using nitrogen)
360-
# exec --no-startup-id nitrogen --restore
361358

362359
# Polkit authentication agent
363360
exec --no-startup-id /usr/libexec/xfce-polkit

configs/picom/picom.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ inactive-opacity-override = false;
3434
opacity-rule = [
3535
"100:class_g = 'firefox'",
3636
"100:class_g = 'Google-chrome'",
37+
"100:class_g = 'Brave-browser'",
3738
"95:class_g = 'Code'",
3839
"95:class_g = 'VSCodium'",
3940
"100:class_g = 'Gimp'",

configs/polybar/config.ini

Lines changed: 50 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -118,22 +118,22 @@ label-padding = 2
118118
type = internal/fs
119119
interval = 25
120120
mount-0 = /
121-
format-mounted-prefix = "DISK "
121+
format-mounted-prefix = " "
122122
format-mounted-prefix-foreground = ${colors.primary}
123123
label-mounted = %percentage_used%% %used%/%total%
124124

125125
[module/cpu]
126126
type = internal/cpu
127127
interval = 2
128128

129-
format-prefix = "CPU "
129+
format-prefix = ""
130130
format-prefix-foreground = ${colors.primary}
131131
label = %percentage:2%%
132132

133133
[module/memory]
134134
type = internal/memory
135135
interval = 2
136-
format-prefix = "RAM "
136+
format-prefix = " "
137137
format-prefix-foreground = ${colors.primary}
138138
label = %percentage_used%% %used%/%total%
139139

@@ -146,20 +146,20 @@ interval = 3.0
146146

147147
; Connected state
148148
format-connected = <ramp-signal> <label-connected>
149-
label-connected = %essid% ↓%downspeed% ↑%upspeed%
149+
label-connected = %essid% ↓%downspeed% ↑%upspeed%
150150
label-connected-foreground = ${colors.foreground}
151151

152152
; Disconnected state
153153
format-disconnected = <label-disconnected>
154-
label-disconnected = NET Disconnected
154+
label-disconnected = Disconnected
155155
label-disconnected-foreground = ${colors.alert}
156156

157-
; WiFi signal strength
158-
ramp-signal-0 = NET
159-
ramp-signal-1 = NET
160-
ramp-signal-2 = NET
161-
ramp-signal-3 = NET
162-
ramp-signal-4 = NET
157+
; WiFi signal strength icons
158+
ramp-signal-0 =
159+
ramp-signal-1 =
160+
ramp-signal-2 =
161+
ramp-signal-3 =
162+
ramp-signal-4 =
163163
ramp-signal-foreground = ${colors.primary}
164164

165165
; Click to open network settings
@@ -176,29 +176,32 @@ date-alt = "%Y-%m-%d"
176176
time = %I:%M %p
177177
time-alt = %I:%M:%S %p
178178

179-
; format-prefix = "DATE "
180179
format-prefix-foreground = ${colors.primary}
181180

182181
label = %date% %time%
183182

184183
[module/calendar]
185184
type = custom/text
186-
content = CAL
187-
content-foreground = ${colors.primary}
185+
format =
186+
format-foreground = ${colors.primary}
188187
click-left = yad --calendar --no-buttons --undecorated --close-on-unfocus --skip-taskbar --on-top --fixed --geometry=+960+30
189188

190189
[module/pulseaudio]
191190
type = internal/pulseaudio
192191

193-
format-volume-prefix = "VOL "
194-
format-volume-prefix-foreground = ${colors.primary}
192+
format-volume = <ramp-volume> <label-volume>
195193
label-volume = %percentage%%
196194

197-
format-muted-prefix = "VOL "
198-
format-muted-prefix-foreground = ${colors.primary}
195+
format-muted-prefix = " "
196+
format-muted-prefix-foreground = ${colors.alert}
199197
label-muted = MUTED
200198
label-muted-foreground = ${colors.alert}
201199

200+
ramp-volume-0 = 
201+
ramp-volume-1 = 
202+
ramp-volume-2 = 
203+
ramp-volume-foreground = ${colors.primary}
204+
202205
; Click to open volume control
203206
click-right = pavucontrol
204207

@@ -208,38 +211,53 @@ battery = BAT1
208211
adapter = ACAD
209212
full-at = 98
210213

211-
format-charging-prefix = "BAT "
212-
format-charging-prefix-foreground = ${colors.primary}
213-
label-charging = %percentage%% CHR
214+
format-charging = <animation-charging> <label-charging>
215+
label-charging = %percentage%%
214216
label-charging-foreground = ${colors.success}
215217

216-
format-discharging-prefix = "BAT "
217-
format-discharging-prefix-foreground = ${colors.primary}
218+
format-discharging = <ramp-capacity> <label-discharging>
218219
label-discharging = %percentage%%
219220

220-
format-full-prefix = "BAT "
221-
format-full-prefix-foreground = ${colors.primary}
221+
format-full-prefix = " "
222+
format-full-prefix-foreground = ${colors.success}
222223
label-full = FULL
223224
label-full-foreground = ${colors.success}
224225

226+
; Battery capacity icons
227+
ramp-capacity-0 = 
228+
ramp-capacity-1 = 
229+
ramp-capacity-2 = 
230+
ramp-capacity-3 = 
231+
ramp-capacity-4 = 
232+
ramp-capacity-foreground = ${colors.primary}
233+
234+
; Charging animation
235+
animation-charging-0 = 
236+
animation-charging-1 = 
237+
animation-charging-2 = 
238+
animation-charging-3 = 
239+
animation-charging-4 = 
240+
animation-charging-foreground = ${colors.success}
241+
animation-charging-framerate = 750
242+
225243
[module/powermenu]
226244
type = custom/menu
227245

228-
expand-right = true
246+
expand-right = false
229247
format-spacing = 1
230248

231-
label-open = POWER
249+
label-open =
232250
label-open-foreground = ${colors.primary}
233-
label-close = " CANCEL"
251+
label-close =
234252
label-close-foreground = ${colors.alert}
235253
label-separator = |
236254
label-separator-foreground = ${colors.foreground-alt}
237255

238-
menu-0-0 = reboot
256+
menu-0-0 =
239257
menu-0-0-exec = systemctl reboot
240-
menu-0-1 = poweroff
258+
menu-0-1 =
241259
menu-0-1-exec = systemctl poweroff
242-
menu-0-2 = logout
260+
menu-0-2 =
243261
menu-0-2-exec = i3-msg exit
244262

245263
[module/tray]
@@ -255,4 +273,4 @@ pseudo-transparency = false
255273

256274
[global/wm]
257275
margin-top = 0
258-
margin-bottom = 0
276+
margin-bottom = 0

install.sh

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -212,25 +212,25 @@ install_packages() {
212212

213213
# Packages based on official Fedora i3 Spin + draphyOS customizations
214214
PACKAGES=(
215-
# === Fedora i3 Spin Official (Minimal) ===
216-
# Core
217-
i3 i3lock i3status dmenu dunst lightdm
218-
# Terminal (official: urxvt)
215+
# === Core ===
216+
i3 i3lock dunst lightdm
217+
# Terminal
219218
rxvt-unicode
220219
# Networking
221220
NetworkManager network-manager-applet firefox
222221
# Audio
223222
pulseaudio-utils pavucontrol
224-
# Misc
223+
# Utilities
225224
brightnessctl htop mousepad Thunar
226-
227-
# === Fedora i3 Spin Official (Extended) ===
228-
rofi powertop arandr tmux xarchiver nitrogen lxappearance
225+
# App launcher
226+
rofi
227+
# Productivity & GUI tools
228+
lxappearance powertop arandr tmux
229229

230230
# === draphyOS Customizations ===
231231
# Shell
232232
fish
233-
# Status bar (replaces i3status)
233+
# Status bar
234234
polybar
235235
# Compositor
236236
picom
@@ -246,7 +246,8 @@ install_packages() {
246246
# Night light
247247
redshift geoclue2
248248
# Fonts
249-
fira-code-fonts google-noto-sans-mono-vf-fonts fontawesome4-fonts
249+
fira-code-fonts google-noto-sans-mono-vf-fonts
250+
fontawesome-6-free-fonts fontawesome-6-brands-fonts
250251
# Icons & Themes
251252
mint-y-icons adwaita-cursor-theme
252253
# Calendar popup

uninstall.sh

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
# https://github.com/draphy/draphyOS
1212
#
1313

14-
set -e
1514

1615
# Colors (with fallback for non-color terminals)
1716
if [[ -t 1 ]] && [[ "${TERM:-dumb}" != "dumb" ]]; then
@@ -109,10 +108,20 @@ remove_configs() {
109108
# Remove wallpaper (copied, not symlinked)
110109
rm -f "$HOME/.config/wallpaper.png" 2>/dev/null || true
111110

112-
# Remove empty directories created by install
111+
# Remove empty directories created by install (only if empty)
113112
rmdir "$HOME/.config/i3/scripts" 2>/dev/null || true
113+
rmdir "$HOME/.config/i3" 2>/dev/null || true
114114
rmdir "$HOME/.config/polybar/scripts" 2>/dev/null || true
115+
rmdir "$HOME/.config/polybar" 2>/dev/null || true
116+
rmdir "$HOME/.config/rofi" 2>/dev/null || true
117+
rmdir "$HOME/.config/dunst" 2>/dev/null || true
118+
rmdir "$HOME/.config/picom" 2>/dev/null || true
119+
rmdir "$HOME/.config/fish" 2>/dev/null || true
120+
rmdir "$HOME/.config/gtk-3.0" 2>/dev/null || true
115121
rmdir "$HOME/.config/redshift" 2>/dev/null || true
122+
rmdir "$HOME/.config/xfce4/xfconf/xfce-perchannel-xml" 2>/dev/null || true
123+
rmdir "$HOME/.config/xfce4/xfconf" 2>/dev/null || true
124+
rmdir "$HOME/.config/xfce4" 2>/dev/null || true
116125

117126
print_success "Configs removed"
118127
}
@@ -125,15 +134,21 @@ revert_shell() {
125134
if [ "$current_shell" = "fish" ]; then
126135
echo -e "Your default shell is currently ${YELLOW}fish${NC}."
127136
echo -e "Do you want to revert to ${GREEN}bash${NC}? (y/n)"
128-
read -r response
137+
read -r response </dev/tty || response="n"
129138

130139
if [[ "$response" =~ ^[Yy]$ ]]; then
131140
local bash_path
132141
bash_path=$(command -v bash)
142+
local fish_path
143+
fish_path=$(command -v fish)
133144
if [ -n "$bash_path" ]; then
134145
print_step "Reverting shell to bash..."
135146
if sudo chsh -s "$bash_path" "$USER" 2>/dev/null || chsh -s "$bash_path" 2>/dev/null; then
136147
print_success "Shell reverted to bash"
148+
# Remove fish from /etc/shells if it was added by draphyOS
149+
if [ -n "$fish_path" ] && grep -q "$fish_path" /etc/shells 2>/dev/null; then
150+
sudo sed -i "\|$fish_path|d" /etc/shells 2>/dev/null || true
151+
fi
137152
else
138153
print_warning "Could not change shell. Run manually: chsh -s $bash_path"
139154
fi
@@ -149,18 +164,20 @@ remove_packages() {
149164
echo -e "Do you want to ${RED}remove draphyOS packages${NC}? (y/n)"
150165
echo -e "${YELLOW}Warning: This will remove polybar, picom, redshift, etc.${NC}"
151166
echo -e "${YELLOW}Core packages (i3, rofi, dunst, etc.) will be kept.${NC}"
152-
read -r response
167+
read -r response </dev/tty || response="n"
153168

154169
if [[ "$response" =~ ^[Yy]$ ]]; then
155170
print_step "Removing draphyOS-specific packages..."
156171

157172
# Only remove packages that are draphyOS additions, not core i3 spin
158173
PACKAGES=(
159-
polybar picom
174+
polybar picom fish
160175
feh flameshot playerctl
161176
xss-lock xdotool xclip
162177
redshift yad qt5ct
163178
mint-y-icons
179+
ImageMagick
180+
fontawesome-6-free-fonts fontawesome-6-brands-fonts
164181
)
165182

166183
sudo dnf remove -y "${PACKAGES[@]}" 2>/dev/null || true
@@ -213,7 +230,7 @@ restore_backup() {
213230
if [ -n "$LATEST_BACKUP" ] && [ -d "$LATEST_BACKUP" ]; then
214231
echo -e "Found backup: ${YELLOW}$LATEST_BACKUP${NC}"
215232
echo -e "Do you want to ${GREEN}restore${NC} this backup? (y/n)"
216-
read -r response
233+
read -r response </dev/tty || response="n"
217234

218235
if [[ "$response" =~ ^[Yy]$ ]]; then
219236
print_step "Restoring backup..."
@@ -280,7 +297,7 @@ main() {
280297
echo " - Restoring your backup"
281298
echo ""
282299
echo -e "Do you want to continue? (y/n)"
283-
read -r response
300+
read -r response </dev/tty || response="n"
284301

285302
if [[ ! "$response" =~ ^[Yy]$ ]]; then
286303
echo "Uninstall cancelled."

0 commit comments

Comments
 (0)