Skip to content

Commit

Permalink
fix: wrong args passed to the super class
Browse files Browse the repository at this point in the history
  • Loading branch information
its-darsh committed Feb 3, 2024
1 parent cb0ae32 commit 8ef36cb
Showing 1 changed file with 26 additions and 9 deletions.
35 changes: 26 additions & 9 deletions fabric/widgets/x11.py
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ def __init__(
v_expand: bool = False,
name: str | None = None,
default_size: tuple[int] | None = None,
ignore_empty_check: bool = False,
**kwargs,
):
"""
Expand Down Expand Up @@ -117,14 +118,14 @@ def __init__(
"""
# FIXME: improve me
super().__init__(
title,
children,
visible,
all_visible,
style,
style_compiled,
style_append,
style_add_brackets,
title,
tooltip_text,
tooltip_markup,
h_align,
Expand All @@ -135,6 +136,7 @@ def __init__(
default_size,
**kwargs,
)
self.ignore_empty_check = ignore_empty_check
layer = (
layer
if isinstance(layer, Gdk.WindowTypeHint)
Expand Down Expand Up @@ -171,8 +173,7 @@ def __init__(
}.get(geometry.lower(), Gdk.Gravity.CENTER)
)

self.display = self.rectangle = None
self.get_primary_monitor_geometry()
self.display, self.rectangle, self.scale_factor = self.get_display_props()

self.set_type_hint(layer)
self.set_container_size(default_size) if default_size != None else None
Expand Down Expand Up @@ -203,21 +204,22 @@ def init_window(
self,
):
if self.display is None:
self.get_primary_monitor_geometry()
self.display, self.rectangle, self.scale_factor = self.get_display_props()
self.set_app_paintable(True)
self.set_keep_above(True)
self.set_accept_focus(False)
self.set_visual(self.display.get_default_screen().get_rgba_visual())
return

def get_primary_monitor_geometry(self):
self.display = Gdk.Display.get_default()
self.rectangle = self.display.get_primary_monitor().get_geometry()
return self.display, self.rectangle
def get_display_props(self) -> tuple[Gdk.Display, Gdk.Rectangle, int]:
display = Gdk.Display.get_default()
rectangle = display.get_primary_monitor().get_geometry()
scale_factor = display.get_primary_monitor().get_scale_factor()
return display, rectangle, scale_factor

def set_window_geometry(self, geometry: Gdk.Gravity):
if self.rectangle is None:
self.get_primary_monitor_geometry()
self.display, self.rectangle, self.scale_factor = self.get_display_props()
min_size, natural_size = self.get_preferred_size()
min_width, min_height = min_size.width, min_size.height
# natural_width, natural_height = natural_size.width, natural_size.height
Expand Down Expand Up @@ -257,6 +259,21 @@ def set_window_geometry(self, geometry: Gdk.Gravity):
self.move(x, y)
return self

def show(self):
# showing an empty window will result a glitched window
return (
super().show()
if (len(self.get_children()) >= 1) and not self.ignore_empty_check
else False
)

def show_all(self):
return (
super().show_all()
if (len(self.get_children()) >= 1) and not self.ignore_empty_check
else False
)


if __name__ == "__main__":
from fabric.widgets.revealer import Revealer
Expand Down

0 comments on commit 8ef36cb

Please sign in to comment.