from libqtile import layout as libqtile_layout class BaseConfig: @classmethod def get(cls, key, default): if hasattr(cls, key): return cls.__dict__[key] else: return default class BaseTheme: # Changing variables initialized by function keys = None groups = None layouts = None widget_defaults = None screens = None # 'Static' variables dgroups_key_binder = None dgroups_app_rules = [] main = None follow_mouse_focus = True bring_front_click = False cursor_warp = False floating_layout = libqtile_layout.Floating() auto_fullscreen = True focus_on_window_activation = "smart" extensions = [] # XXX: Gasp! We're lying here. In fact, nobody really uses or cares about this # string besides java UI toolkits; you can see several discussions on the # mailing lists, github issues, and other WM documentation that suggest setting # this string if your java app doesn't work correctly. We may as well just lie # and say that we're a working one by default. # # We choose LG3D to maximize irony: it is a 3D non-reparenting WM written in # java that happens to be on java's whitelist. wmname = "LG3D" def initialize(self): self.widget_defaults = self.init_widget_defaults() self.keys = self.init_keys() self.groups = self.init_groups() self.layouts = self.init_layouts() self.screens = self.init_screens() def init_keys(self): return [] def init_groups(self): return [] def init_layouts(self): return [] def init_widget_defaults(self): return {} def init_screens(self): return [] def init_mouse(self): return [] # Callbacks def callback_startup_once(self, *args, **kwargs): pass def callback_startup(self, *args, **kwargs): pass def callback_startup_complete(self, *args, **kwargs): pass def callback_setgroup(self, *args, **kwargs): pass def callback_addgroup(self, *args, **kwargs): pass def callback_delgroup(self, *args, **kwargs): pass def callback_changegroup(self, *args, **kwargs): pass def callback_focus_change(self, *args, **kwargs): pass def callback_float_change(self, *args, **kwargs): pass def callback_group_window_add(self, *args, **kwargs): pass def callback_window_name_change(self, *args, **kwargs): pass def callback_client_new(self, *args, **kwargs): pass def callback_client_managed(self, *args, **kwargs): pass def callback_client_killed(self, *args, **kwargs): pass def callback_client_state_changed(self, *args, **kwargs): pass def callback_client_type_changed(self, *args, **kwargs): pass def callback_client_focus(self, *args, **kwargs): pass def callback_client_mouse_enter(self, *args, **kwargs): pass def callback_client_name_updated(self, *args, **kwargs): pass def callback_client_urgent_hint_changed(self, *args, **kwargs): pass def callback_layout_change(self, *args, **kwargs): pass def callback_net_wm_icon_change(self, *args, **kwargs): pass def callback_selection_notify(self, *args, **kwargs): pass def callback_selection_change(self, *args, **kwargs): pass def callback_screen_change(self, *args, **kwargs): pass def callback_current_screen_change(self, *args, **kwargs): pass