emmental/ui/window.py

35 lines
1.3 KiB
Python

# Copyright 2021 (c) Anna Schumaker.
import audio
import lib
import sidebar
from gi.repository import Gtk
from . import keyboard
from . import pane
class Window(Gtk.ApplicationWindow):
def __init__(self):
Gtk.ApplicationWindow.__init__(self)
self.set_icon_name("emmental")
self.set_title(lib.version.string())
self.set_titlebar(audio.Header())
self.set_child(pane.Pane())
self.add_controller(keyboard.Event)
lib.settings.initialize("window.width", 1400)
lib.settings.initialize("window.height", 800)
lib.settings.initialize("window.maximized", False)
self.set_default_size(lib.settings.get_int("window.width"),
lib.settings.get_int("window.height"))
self.connect("notify::default-width", self.width_changed)
self.connect("notify::default-height", self.height_changed)
self.connect("notify::maximized", self.maximized)
def width_changed(self, window, param):
lib.settings.set("window.width", self.get_default_size().width)
def height_changed(self, window, param):
lib.settings.set("window.height", self.get_default_size().height)
def maximized(self, window, param):
lib.settings.set("window.maximized", window.is_maximized())