from __future__ import annotations from typing import Any import gi gi.require_version("Gtk", "4.0") from gi.repository import Gtk # NOQA: E402 class MainWindow(Gtk.ApplicationWindow): def __init__(self, *args: Any, **kwargs: Any): super().__init__(*args, **kwargs) # Make window fullscreen and borderless self.set_decorated(False) self.fullscreen() # Main horizontal box to split the screen main_box = Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL) main_box.set_homogeneous(True) # Make both halves equal size # Left half left_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) left_box.set_valign(Gtk.Align.CENTER) left_box.set_halign(Gtk.Align.CENTER) left_label = Gtk.Label(label="Left Side") left_box.append(left_label) # Right half right_box = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) right_box.set_valign(Gtk.Align.CENTER) right_box.set_halign(Gtk.Align.CENTER) right_label = Gtk.Label(label="Right Side") right_box.append(right_label) # Add both halves to main box main_box.append(left_box) main_box.append(right_box) self.set_child(main_box) class App(Gtk.Application): def __init__(self): super().__init__() def do_activate(self): win = MainWindow(application=self) win.present() def main(): app = App() app.run(None)