Skip to content

Next Updates (ddl 2026.2.28)#3

Open
lazypool wants to merge 6 commits intomainfrom
next
Open

Next Updates (ddl 2026.2.28)#3
lazypool wants to merge 6 commits intomainfrom
next

Conversation

@lazypool
Copy link
Owner

This PR is for the next updates, it contains:

  • feature/awesomebar
  • feature/statustext
  • feature/windowrules

The deadline is decide to 2026.2.28 currently.

* style(dwm.c): set columnlimt 0

* style(all): set `UesTab` to `ForContinuationAndIndentation`

* feat(icons): show all clients icons without title text

* docs(todo): add TODO hint to the dwm.c

* feat(icons): set default icon for windows without icons

* feat(icons): generate default icon's content

* feat(icons): colorful terminal icons

* feat(bar): simplify `drawbar` logic

* style(all): use tab for indentation

* chore(btns): simplify button selection logic

* feat(clkwintitle): select wintitle to zoom different clients

* feat(underline): add underline for selected tag and window icon

* feat(tags): hide the tail tags above MINTAGS by default

* refactor(DWM): delete redundant scripts and reorganize the file structure

* feat(statusbar): add status2d patch and rewrite statusbar print shell

* feat(statusbar): add vertical padding on status bar

* feat(statusbar): refactor statusbar printf functions

* feat(statusbar): improve statusbar printf functions

* feat(statusbar): rewrite clkstatusbar function, use '&' as separator, write test scripts

* fix(statusbar): also show volume-xmark icon when volume is 0%

* chore(scripts): simplify the codes for selecting battery icons

* perf(statusbar): pre-render to avoid initial delay

* feat(statusbar): rewrite dunst pop-up notifications

rewrite dunst.conf now that it will be merged with self-made dunstrc with various colorschemes
mv template.txt to dwm-status-placeholder.tmp, mv merged dunstrc to dunstrc.tmp and gitignore *tmp
now the *tmp files are only used when actually running autostart.sh, delete wallpaper.jpg which

* refactor(deploy-pipeline): mv dunst.conf & picom.conf out of $DWM

use ~/.config to store configs of dunst, picom and rofi, instead of $DWM
save icons svgs to ~/.local/share/icons, which obey the DBUS rules
make deploy-pipeline in Makefile so that 'make deploy' can be run by users
do some corresponding minor modifications in autostart.sh & statusbar.sh

* feat(statusbar): implement pop-up roast notifications completely

implement 'click to dunst' for battery, cpu, mem, wlan
for wlan, the rofi-wifi-menu script is added
create *.tmp files like pkgupdates.tmp, network.tmp, wifilst.tmp
to avoid long-delay commands being called frequently
an extra pipe.tmp is used to write to files 'silently'
the write process is maintained in main loop with slower frequency
for dunstrc, ban the indicator and context menu

* feat(statusbar): implement the function to call terminals and run correspending scripts

enable to call st and run 'htop', 'fetch' and 'sudo pacman -Syyu', at various locations
the self-made configs for fastfetch are created under .config, and the logo.png too
the fetch.sh and pacmanf.sh are under DWM directory
use env var to store which theme and icons set to be used, which should be mentioned in README's setup section

little fix: mv bar.txt to bar.t, use pkgupdates.tmp to store list now, add '&' suffix to 'st -t ...' commands

* feat(theme): onedark colorscheme for wm, dunst and bar

create bart.t, dunstrc, wm.h with the unified colorscheme
use the new colorscheme in config for dwm
cut tags array to length 5 and don't skip vacant tags now
add new rule for statusutil class st windows
some extra format changes are introduced in this commit
terminal launcher now exits if a running instance is detected, instead of killing and respawning it
this prevents unnecessary process termination when the terminal is already open
@lazypool
Copy link
Owner Author

Rewrite the scripts in DWM/statusbar.sh for calling st and run some extra commands

before

kill "$(pgrep -f 'st -t statusutil_fetch')"
echo $(((uridx + 1) % 4)) >"$DWM/.tmp/uridx.tmp"
st -t statusutil_fetch -c statusutil -f 'monospace:size=8' -g 103x26"$UR" -e "$DWM/fetch.sh" >/dev/null 2>&1 &
checkupdates >"$pipe" && mv "$pipe" "$DWM/.tmp/pkgupdates.tmp"

current

if ! pgrep -f 'st -t statusutil_fetch'; then
	echo $(((uridx + 1) % 4)) >"$DWM/.tmp/uridx.tmp"
	st -t statusutil_fetch -c statusutil -f 'monospace:size=8' -g 103x26"$UR" -e "$DWM/fetch.sh" >/dev/null 2>&1 &
	checkupdates >"$pipe" && mv "$pipe" "$DWM/.tmp/pkgupdates.tmp"
fi

Now, it won't do anything when the terminal to be called already exits. This little change saved some resource and bring with a smoother preformance

fix the little error in last commit to solve the problem
that the 'statusutil_htop' can't be called normally
remove the usage of val $uridx, fix the 3 dterms to the designed
positionss which looks more comfortable
@lazypool
Copy link
Owner Author

lazypool commented Dec 28, 2025

  • fix the positions of terms that will be called by the clicks on the statusbar
  • at before, they are placed at positions by cycle, and this is too ugly
  • now, they can only appear on the fixed positions, which are proportional to the window width
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant