3
3
4
4
from PyQt6 .QtCore import QPointF , QRectF , QSize , Qt , pyqtSignal
5
5
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
+ )
7
14
8
15
from core .event_enums import KomorebiEvent
9
16
from core .event_service import EventService
41
48
"HorizontalStack" : "horizontal_stack" ,
42
49
"UltrawideVerticalStack" : "ultrawide_vertical_stack" ,
43
50
"RightMainVerticalStack" : "right_main_vertical_stack" ,
51
+ "Floating" : "floating" ,
44
52
"Monocle" : "monocle" ,
45
53
"Maximised" : "maximised" ,
46
54
"Paused" : "paused" ,
@@ -65,8 +73,7 @@ def setAlignment(self, a0):
65
73
def paintEvent (self , a0 ):
66
74
painter = QPainter (self )
67
75
painter .setRenderHint (QPainter .RenderHint .Antialiasing )
68
- painter .setRenderHint (QPainter .RenderHint .SmoothPixmapTransform )
69
-
76
+
70
77
size = self .font ().pixelSize ()
71
78
stroke_width = max (1.0 , size * 0.08 )
72
79
@@ -81,11 +88,13 @@ def paintEvent(self, a0):
81
88
82
89
r = (icon_rect .width () / 2 ) - stroke_width
83
90
c = icon_rect .center ()
84
- adjusted_width = stroke_width - 0.5
91
+
92
+ adjusted_width = stroke_width * 0.8
85
93
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
+
89
98
self ._draw_icon (painter , icon_rect , r , c )
90
99
painter .end ()
91
100
@@ -107,7 +116,7 @@ def line(start, end):
107
116
if self .layout_name == "bsp" :
108
117
line (c - vec (0 , r ), c + vec (0 , r ))
109
118
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 ))
111
120
elif self .layout_name == "columns" :
112
121
line (c - vec (r / 2 , r ), c + vec (- r / 2 , r ))
113
122
line (c - vec (0 , r ), c + vec (0 , r ))
@@ -138,21 +147,28 @@ def line(start, end):
138
147
line (c - vec (- r / 2 , r ), c + vec (r / 2 , r ))
139
148
elif self .layout_name == "monocle" or self .layout_name == "maximised" :
140
149
pass
141
- elif self .layout_name == "tiling" :
150
+ elif self .layout_name == "tiling" or self . layout_name == "floating" :
142
151
rect_left = QRectF (icon_rect )
143
152
rect_left .setWidth (icon_rect .width () * 0.5 )
144
153
rect_left .setHeight (icon_rect .height () * 0.5 )
145
154
rect_right = QRectF (rect_left )
146
155
147
156
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 )
149
158
)
150
159
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 )
152
161
)
153
162
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 )
156
172
elif self .layout_name == "paused" :
157
173
rect_left = QRectF (icon_rect )
158
174
rect_right = QRectF (rect_left )
@@ -169,9 +185,12 @@ def line(start, end):
169
185
icon_rect .topLeft () + vec (icon_rect .width () * 0.55 , icon_rect .width () * 0.15 )
170
186
)
171
187
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 )
175
194
else :
176
195
line (c - vec (0 , r ), c + vec (0 , r ))
177
196
line (c + vec (0 , r / 2 ), c + vec (r , r / 2 ))
0 commit comments