root/samurai-x/samuraix/layout.py

Revision f8d59575cf6bc783f0adbc0b3ab02c93ed6ce172, 1.9 KB (checked in by Jochen Maes <jochen@…>, 22 months ago)

added bsd license to all files.

  • Property mode set to 100644
Line 
1# Copyright (c) 2008, samurai-x.org
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are met:
6#     * Redistributions of source code must retain the above copyright
7#       notice, this list of conditions and the following disclaimer.
8#     * Redistributions in binary form must reproduce the above copyright
9#       notice, this list of conditions and the following disclaimer in the
10#       documentation and/or other materials provided with the distribution.
11#     * Neither the name of the samurai-x.org nor the
12#       names of its contributors may be used to endorse or promote products
13#       derived from this software without specific prior written permission.
14#
15# THIS SOFTWARE IS PROVIDED BY SAMURAI-X.ORG ``AS IS'' AND ANY
16# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18# DISCLAIMED. IN NO EVENT SHALL SAMURAI-X.ORG  BE LIABLE FOR ANY
19# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
26from samuraix.rect import Rect
27
28class Layout(object):
29    def __init__(self, desktop):
30        self.desktop = desktop
31        desktop.push_handlers(self)
32
33    def on_client_add(self, client):
34        self.layout([client])
35
36    def layout(self, new=None):
37        pass
38
39
40class MaxLayout(object):
41    def layout(self, new=None):
42        for client in new:
43            geom = Rect(0, 15, client.screen.width, client.screen.height-15)
44            client.resize(geom)
45
46
Note: See TracBrowser for help on using the browser.