SideFX Houdini customization package
git clone https://git.lucas.co/hou-control.git
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_()