git.lucas.co / hou-control
SideFX Houdini customization package
git clone https://git.lucas.co/hou-control.git

commit389170976fa36a7856dec8bd29ebaab8a6b6ecf8
parentb257f89f2c
authorLucas Galante <[email protected]>
date2026-09-15 12:22
statusbar: bigger circle, just left of the live-cooking toggle

34px, placed from the main window's right edge so it tracks resizes
like Houdini's own right-aligned status controls.

Co-Authored-By: Claude Fable 5.1 <[email protected]>

 python3.13libs/hc/hcstatusbar.py | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/python3.13libs/hc/hcstatusbar.py b/python3.13libs/hc/hcstatusbar.py
index 27390e9..8a1fd33 100644
--- a/python3.13libs/hc/hcstatusbar.py
+++ b/python3.13libs/hc/hcstatusbar.py
@@ -25,11 +25,12 @@ from PySide6.QtGui import QColor, QFont, QPainter, QPen
 from PySide6.QtWidgets import QFrame, QHBoxLayout, QWidget
 
 
-HCSTATUSBAR_MARGIN = 4
-HCSTATUSBAR_RIGHT_MARGIN = 360
-# The old 500px-wide label strip started here; the circle keeps its left edge.
-HCSTATUSBAR_LEFT_OFFSET = 500 + HCSTATUSBAR_RIGHT_MARGIN
-HCSTATUSBAR_SIZE = 26
+HCSTATUSBAR_SIZE = 34
+# Houdini's status bar keeps its right-hand controls right-aligned, so the
+# circle is placed from the right edge: its right side this far in, which is
+# a small gap left of the live-cooking toggle, and its centre this far up.
+HCSTATUSBAR_RIGHT_OFFSET = 666
+HCSTATUSBAR_CENTER_FROM_BOTTOM = 24
 
 COLOR_SAVED = QColor("#a0a0a0")
 COLOR_UNSAVED = QColor("#d9534f")
@@ -324,8 +325,8 @@ class HCStatusBar:
     def _pin(self):
         if self.overlay is None:
             return
-        x = self.main.width() - HCSTATUSBAR_LEFT_OFFSET
-        y = self.main.height() - HCSTATUSBAR_SIZE - HCSTATUSBAR_MARGIN
+        x = self.main.width() - HCSTATUSBAR_RIGHT_OFFSET - HCSTATUSBAR_SIZE
+        y = self.main.height() - HCSTATUSBAR_CENTER_FROM_BOTTOM - HCSTATUSBAR_SIZE // 2
         self.overlay.setGeometry(x, y, HCSTATUSBAR_SIZE, HCSTATUSBAR_SIZE)
         self.overlay.raise_()