Skip to content

Commit 76045ef

Browse files
committed
some adjustments and and fixed floating icon not showing in the bar
1 parent 11a01ca commit 76045ef

File tree

1 file changed

+35
-16
lines changed

1 file changed

+35
-16
lines changed

src/core/widgets/komorebi/active_layout.py

Lines changed: 35 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,14 @@
33

44
from PyQt6.QtCore import QPointF, QRectF, QSize, Qt, pyqtSignal
55
from PyQt6.QtGui import QCursor, QPainter
6-
from PyQt6.QtWidgets import QFrame, QHBoxLayout, QLabel, QSizePolicy, QVBoxLayout, QWidget
6+
from PyQt6.QtWidgets import (
7+
QFrame,
8+
QHBoxLayout,
9+
QLabel,
10+
QSizePolicy,
11+
QVBoxLayout,
12+
QWidget,
13+
)
714

815
from core.event_enums import KomorebiEvent
916
from core.event_service import EventService
@@ -41,6 +48,7 @@
4148
"HorizontalStack": "horizontal_stack",
4249
"UltrawideVerticalStack": "ultrawide_vertical_stack",
4350
"RightMainVerticalStack": "right_main_vertical_stack",
51+
"Floating": "floating",
4452
"Monocle": "monocle",
4553
"Maximised": "maximised",
4654
"Paused": "paused",
@@ -65,8 +73,7 @@ def setAlignment(self, a0):
6573
def paintEvent(self, a0):
6674
painter = QPainter(self)
6775
painter.setRenderHint(QPainter.RenderHint.Antialiasing)
68-
painter.setRenderHint(QPainter.RenderHint.SmoothPixmapTransform)
69-
76+
7077
size = self.font().pixelSize()
7178
stroke_width = max(1.0, size * 0.08)
7279

@@ -81,11 +88,13 @@ def paintEvent(self, a0):
8188

8289
r = (icon_rect.width() / 2) - stroke_width
8390
c = icon_rect.center()
84-
adjusted_width = stroke_width - 0.5
91+
92+
adjusted_width = stroke_width * 0.8
8593
icon_rect = icon_rect.adjusted(adjusted_width, adjusted_width, -adjusted_width, -adjusted_width)
86-
rounding = icon_rect.width() * 0.1
87-
painter.drawRoundedRect(icon_rect, rounding, rounding)
88-
94+
95+
corner_radius = icon_rect.width() * 0.1
96+
painter.drawRoundedRect(icon_rect, corner_radius, corner_radius)
97+
8998
self._draw_icon(painter, icon_rect, r, c)
9099
painter.end()
91100

@@ -107,7 +116,7 @@ def line(start, end):
107116
if self.layout_name == "bsp":
108117
line(c - vec(0, r), c + vec(0, r))
109118
line(c, c + vec(r, 0))
110-
line(c + vec(r / 2 + 0.25, 0.25), c + vec(r / 2 + 0.25, r))
119+
line(c + vec(r / 2 + 0.2, 0.2), c + vec(r / 2 + 0.2, r))
111120
elif self.layout_name == "columns":
112121
line(c - vec(r / 2, r), c + vec(-r / 2, r))
113122
line(c - vec(0, r), c + vec(0, r))
@@ -138,21 +147,28 @@ def line(start, end):
138147
line(c - vec(-r / 2, r), c + vec(r / 2, r))
139148
elif self.layout_name == "monocle" or self.layout_name == "maximised":
140149
pass
141-
elif self.layout_name == "tiling":
150+
elif self.layout_name == "tiling" or self.layout_name == "floating":
142151
rect_left = QRectF(icon_rect)
143152
rect_left.setWidth(icon_rect.width() * 0.5)
144153
rect_left.setHeight(icon_rect.height() * 0.5)
145154
rect_right = QRectF(rect_left)
146155

147156
rect_left.moveTopLeft(
148-
icon_rect.topLeft() + vec(icon_rect.width() * 0.1, icon_rect.height() * 0.1)
157+
icon_rect.topLeft() + vec(icon_rect.width() * 0.15, icon_rect.height() * 0.15)
149158
)
150159
rect_right.moveTopLeft(
151-
icon_rect.topLeft() + vec(icon_rect.width() * 0.35, icon_rect.height() * 0.35)
160+
icon_rect.topLeft() + vec(icon_rect.width() * 0.3, icon_rect.height() * 0.3)
152161
)
153162

154-
painter.fillRect(rect_left, self.palette().color(self.foregroundRole()))
155-
painter.drawRect(rect_right)
163+
corner_radius = icon_rect.width() * 0.1
164+
165+
painter.setBrush(self.palette().brush(self.foregroundRole()))
166+
painter.setPen(Qt.PenStyle.NoPen)
167+
painter.drawRoundedRect(rect_left, corner_radius, corner_radius)
168+
169+
painter.setBrush(Qt.BrushStyle.NoBrush)
170+
painter.setPen(self.palette().color(self.foregroundRole()))
171+
painter.drawRoundedRect(rect_right, corner_radius, corner_radius)
156172
elif self.layout_name == "paused":
157173
rect_left = QRectF(icon_rect)
158174
rect_right = QRectF(rect_left)
@@ -169,9 +185,12 @@ def line(start, end):
169185
icon_rect.topLeft() + vec(icon_rect.width() * 0.55, icon_rect.width() * 0.15)
170186
)
171187

172-
color = self.palette().color(self.foregroundRole())
173-
painter.fillRect(rect_left, color)
174-
painter.fillRect(rect_right, color)
188+
painter.setBrush(self.palette().brush(self.foregroundRole()))
189+
painter.setPen(Qt.PenStyle.NoPen)
190+
191+
corner_radius = icon_rect.width() * 0.1
192+
painter.drawRoundedRect(rect_left, corner_radius, corner_radius)
193+
painter.drawRoundedRect(rect_right, corner_radius, corner_radius)
175194
else:
176195
line(c - vec(0, r), c + vec(0, r))
177196
line(c + vec(0, r / 2), c + vec(r, r / 2))

0 commit comments

Comments
 (0)