# Path: pwm/config.py
# class Config:
#     def __init__(self):
#     def load(self, default=False):
#     def _load_default(self):
#     def _ensure_config_exists(self, path):
#     def __getattr__(self, name):
# def setup_keys():
# def handle_key_press_event(event):
# def create_arguments(func):
#     def wrapper(*args, **kwargs):
# 
# Path: pwm/ffi/xcb.py
# class XcbError(Exception):
# class Cookie:
# class Xcb:
#     def __init__(self, error):
#     def __str__(self):
#     def __init__(self, name, value):
#     def __getattr__(self, name):
#     def reply(self):
#     def check(self):
#     def __init__(self):
#     def __getattr__(self, name):
#         def request(func, *args, **kwargs):
#     def connect(self, display=None):
#     def mask(self, masks):


import logging
import pwm.bar
import pwm.windows
import pwm.layout
import pwm.events
from pwm.config import config
from pwm.ffi.xcb import xcb
                self.fullscreen.add_window(wid)
            elif pwm.windows.managed[wid].floating:
                self.floating.add_window(wid)
            else:
                # Place new window below the one with the highest priority
                column = 0
                row = -1
                for priority in reversed(self.windows):
                    if priority in self.tiling.windows:
                        column, row = self.tiling.path(priority)
                        row += 1
                        break

                self.tiling.add_window(wid, column, row)

            self.windows.append(wid)
            if current() == self:
                xcb.core.map_window(wid)

    def _proxy_layout(self, attr, wid, *args, **kwargs):
        for layout in self.layouts:
            if wid in layout.windows and hasattr(layout, attr):
                return getattr(layout, attr)(wid, *args, **kwargs)

    def remove_window(self, wid):
        with pwm.windows.no_enter_notify_event():
            self._proxy_layout("remove_window", wid)
            self.windows.remove(wid)

    def move_window(self, wid, direction):

# Path: pwm/config.py
# class Config:
#     def __init__(self):
#     def load(self, default=False):
#     def _load_default(self):
#     def _ensure_config_exists(self, path):
#     def __getattr__(self, name):
# def setup_keys():
# def handle_key_press_event(event):
# def create_arguments(func):
#     def wrapper(*args, **kwargs):
# 
# Path: pwm/ffi/xcb.py
# class XcbError(Exception):
# class Cookie:
# class Xcb:
#     def __init__(self, error):
#     def __str__(self):
#     def __init__(self, name, value):
#     def __getattr__(self, name):
#     def reply(self):
#     def check(self):
#     def __init__(self):
#     def __getattr__(self, name):
#         def request(func, *args, **kwargs):
#     def connect(self, display=None):
#     def mask(self, masks):


# Path: pwm/workspaces.py
import logging
import pwm.bar
import pwm.windows
import pwm.layout
import pwm.events
from pwm.config import config
from pwm.ffi.xcb import xcb

                self.fullscreen.add_window(wid)
            elif pwm.windows.managed[wid].floating:
                self.floating.add_window(wid)
            else:
                # Place new window below the one with the highest priority
                column = 0
                row = -1
                for priority in reversed(self.windows):
                    if priority in self.tiling.windows:
                        column, row = self.tiling.path(priority)
                        row += 1
                        break

                self.tiling.add_window(wid, column, row)

            self.windows.append(wid)
            if current() == self:
                xcb.core.map_window(wid)

    def _proxy_layout(self, attr, wid, *args, **kwargs):
        for layout in self.layouts:
            if wid in layout.windows and hasattr(layout, attr):
                return getattr(layout, attr)(wid, *args, **kwargs)

    def remove_window(self, wid):
        with pwm.windows.no_enter_notify_event():
            self._proxy_layout("remove_window", wid)
            self.windows.remove(wid)

    def move_window(self, wid, direction):

        with pwm.windows.no_enter_notify_event():