# 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):


from pwm.config import config
from pwm.ffi.xcb import xcb
import pwm.windows
        dx, dy = self._delta(direction, config.window.move_speed)

        pwm.windows.configure(wid,
                              x=round(x+self.workspace.width*dx),
                              y=round(y+self.workspace.height*dy))

    def resize(self, wid, delta):
        x, y, width, height = pwm.windows.get_geometry(wid)

        width = max(10, round(width+self.workspace.width*delta[0]))
        height = max(10, round(height+self.workspace.height*delta[1]))

        pwm.windows.configure(wid, width=width, height=height)

    def relative(self, wid, pos):
        idx = self.windows.index(wid)+1
        return (self.windows[idx] if idx < len(self.windows)
                else self.windows[0])


class Fullscreen:
    def __init__(self, workspace):
        self.workspace = workspace
        self.windows = []

    def add_window(self, wid):
        self.windows.append(wid)
        pwm.windows.managed[wid].fullscreen = True

        pwm.windows.configure(wid, x=0, y=0,

# 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/layout.py
from pwm.config import config
from pwm.ffi.xcb import xcb
import pwm.windows

        dx, dy = self._delta(direction, config.window.move_speed)

        pwm.windows.configure(wid,
                              x=round(x+self.workspace.width*dx),
                              y=round(y+self.workspace.height*dy))

    def resize(self, wid, delta):
        x, y, width, height = pwm.windows.get_geometry(wid)

        width = max(10, round(width+self.workspace.width*delta[0]))
        height = max(10, round(height+self.workspace.height*delta[1]))

        pwm.windows.configure(wid, width=width, height=height)

    def relative(self, wid, pos):
        idx = self.windows.index(wid)+1
        return (self.windows[idx] if idx < len(self.windows)
                else self.windows[0])


class Fullscreen:
    def __init__(self, workspace):
        self.workspace = workspace
        self.windows = []

    def add_window(self, wid):
        self.windows.append(wid)
        pwm.windows.managed[wid].fullscreen = True

        pwm.windows.configure(wid, x=0, y=0,

                              width=xcb.screen.width_in_pixels,