]>
Dogcows Code - chaz/openbox/blob - scripts/builtins.py
1 ###########################################################################
2 ### Functions that can be used as callbacks for mouse/keyboard bindings ###
3 ###########################################################################
6 """Closes the window on which the event occured"""
7 client
= Openbox_findClient(openbox
, data
.window())
8 if client
: OBClient_close(client
)
11 """Focuses the window on which the event occured"""
12 client
= Openbox_findClient(openbox
, data
.window())
14 type = OBClient_type(client
)
15 # these types of windows dont get focus from window enter events
16 if data
.action() == EventEnterWindow
:
18 if (type == OBClient_Type_Dock
or \
19 type == OBClient_Type_Desktop
):
21 OBClient_focus(client
)
24 """Moves the window interactively. This should only be used with
26 client
= Openbox_findClient(openbox
, data
.window())
29 dx
= data
.xroot() - data
.pressx()
30 dy
= data
.yroot() - data
.pressy()
31 OBClient_move(client
, data
.press_clientx() + dx
, data
.press_clienty() + dy
)
34 """Resizes the window interactively. This should only be used with
36 client
= Openbox_findClient(openbox
, data
.window())
41 dx
= data
.xroot() - px
42 dy
= data
.yroot() - py
44 # pick a corner to anchor
45 if not (resize_nearest
or data
.context() == MC_Grip
):
46 corner
= OBClient_TopLeft
48 x
= px
- data
.press_clientx()
49 y
= py
- data
.press_clienty()
50 if y
< data
.press_clientheight() / 2:
51 if x
< data
.press_clientwidth() / 2:
52 corner
= OBClient_BottomRight
55 corner
= OBClient_BottomLeft
58 if x
< data
.press_clientwidth() / 2:
59 corner
= OBClient_TopRight
62 corner
= OBClient_TopLeft
64 OBClient_resize(client
, corner
,
65 data
.press_clientwidth() + dx
,
66 data
.press_clientheight() + dy
);
69 Openbox_restart(openbox
, "")
71 def toggle_shade(data
):
75 client
= Openbox_findClient(openbox
, data
.window())
77 screen
= Openbox_screen(openbox
, OBClient_screen(client
))
78 OBScreen_restack(screen
, 1, client
)
81 client
= Openbox_findClient(openbox
, data
.window())
83 screen
= Openbox_screen(openbox
, OBClient_screen(client
))
84 OBScreen_restack(screen
, 0, client
)
86 def toggle_shade(data
):
87 client
= Openbox_findClient(openbox
, data
.window())
90 OBClient_shade(client
, not OBClient_shaded(client
))
93 client
= Openbox_findClient(openbox
, data
.window())
95 OBClient_shade(client
, 1)
98 client
= Openbox_findClient(openbox
, data
.window())
100 OBClient_shade(client
, 0)
102 #########################################
103 ### Convenience functions for scripts ###
104 #########################################
106 def execute(bin
, screen
= 0):
107 Openbox_execute(openbox
, screen
, bin
)
109 print "Loaded builtins.py"
This page took 0.040557 seconds and 5 git commands to generate.