OpenRiot v8.0.11: Return of the Click

“In a world where the bar renders and the clicks go nowhere, one panel must find its center. This summer, the right side fights back. The menus come home. The lock walks away. And somewhere in the dark, a notification daemon learns its own name again.” – The OpenRiot Crew, in the movie trailer voice, v8.0.11


Release Overview

v8.0.11 is the sequel the last release accidentally set up.

The right panel finally clicks across the whole icon. Power and Settings open as real dropdowns under the bar instead of panels in the middle of the screen. The redundant lock icon is gone. The upgrade path stops trusting a dunst process that is alive but not registered with D-Bus.

Total changes: one center command, two purple menus, one removed icon, and one notification daemon that needed a second take.


The Click Awakens

The right bar contains a right-aligned block of modules inside a 37% window. The background was wider than the block. Polybar painted the icons in the right place and calculated their click boxes somewhere else. Clicking the left third of an icon worked. The rest of the icon was a rumour.

fixed-center = true on [bar/right] centers the content block inside the window. The painted icons and the click boxes now share the same coordinates. The left third stops being the only third that believes in input.

This is the same class of bug as the old Nerd Font advance-width problem, only caused by layout instead of glyph metrics. The polybar.Icon() offset still does its job. The panel now stands where the hitbox expects it to stand.


Drop It Like It’s Hot

Power and Settings now open as rofi dropdowns anchored to the top-right corner, 30 pixels below the bar.

Power keeps its five items: Lock, Suspend, Reboot, Shutdown, Logout. Settings keeps its toggle list. Both use a 2px purple border and a purple selected row, so the highlight matches the frame instead of arguing with it.

The old menus were centered. A menu that opens where you clicked is a courtesy. A menu that opens in the middle of the screen is a jump scare. This is the Snoop Dogg release of menu placement: drop it like it is hot, not like it is lost.

The centered --power-menu and --settings-menu commands still exist for keyboard users and anything that expects the old behavior. The bar icons use the dropdown variants.


Should I Stay or Should I Go

The lock icon is gone from the right bar.

Super+L locks the screen. The Power menu has a Lock entry. A third icon for the same action was a door with two other doors already open. The Clash asked the question in 1982; the bar answered by removing the extra handle.

The module definition stays in the template, unused, so a future layout can bring it back without archaeology.


The Thing

The upgrade path kills dunst to load a new config. The old watchdog looked for a process named dunst and called it healthy. The replacement process could start before the old one released org.freedesktop.Notifications. It walked like dunst. It talked like dunst. It owned no notification service. The Thing, 1982, except the test is a D-Bus name instead of a blood sample.

The upgrade now waits for the old process to exit, starts dunst, and polls dunstctl count displayed until the service answers. The i3 watchdog uses the same health check instead of pgrep. A running process is no longer accepted as proof of a running notification daemon.

That is why crypto, update, and the rest of the notification-only icons work again. They were never broken. They were talking to a daemon that had forgotten how to listen.


🧾 Files Changed

File Change
config/polybar/config.ini.tmpl Right panel centered,
  lock removed, dropdown clicks
source/commands/helpers.go Power dropdown placement,
  purple border and selection
source/commands/commands.go --power-dropdown,
  --settings-dropdown
source/settings/settings.go Settings dropdown placement,
  purple border and selection
config/i3/config dunst health check and wait
install/packages.yaml dunst restart waits for D-Bus
Makefile ui waits for dunst registration
install/openriot Rebuilt with the changes

🗣️ Final Words

“The click returned. The menus dropped where they belong. The lock left without a scene. The notification daemon got a name and a health check. No credits roll. The bar just works, which is the only ending that matters.” – The OpenRiot Crew, v8.0.11