33
44from PyQt6 .QtCore import QPointF , QRectF , QSize , Qt , pyqtSignal
55from 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
815from core .event_enums import KomorebiEvent
916from core .event_service import EventService
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