1 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
3 action.c for the Openbox window manager
4 Copyright (c) 2006 Mikael Magnusson
5 Copyright (c) 2003-2007 Dana Jansens
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 See the COPYING file for a copy of the GNU General Public License.
23 #include "focus_cycle.h"
24 #include "moveresize.h"
37 #include "startupnotify.h"
45 void setup_action_growtoedge_north(ObAction
**a
, ObUserAction uact
)
47 (*a
)->data
.diraction
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
48 (*a
)->data
.diraction
.direction
= OB_DIRECTION_NORTH
;
51 void setup_action_growtoedge_south(ObAction
**a
, ObUserAction uact
)
53 (*a
)->data
.diraction
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
54 (*a
)->data
.diraction
.direction
= OB_DIRECTION_SOUTH
;
57 void setup_action_growtoedge_east(ObAction
**a
, ObUserAction uact
)
59 (*a
)->data
.diraction
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
60 (*a
)->data
.diraction
.direction
= OB_DIRECTION_EAST
;
63 void setup_action_growtoedge_west(ObAction
**a
, ObUserAction uact
)
65 (*a
)->data
.diraction
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
66 (*a
)->data
.diraction
.direction
= OB_DIRECTION_WEST
;
69 void setup_action_top_layer(ObAction
**a
, ObUserAction uact
)
71 (*a
)->data
.layer
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
72 (*a
)->data
.layer
.layer
= 1;
75 void setup_action_normal_layer(ObAction
**a
, ObUserAction uact
)
77 (*a
)->data
.layer
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
78 (*a
)->data
.layer
.layer
= 0;
81 void setup_action_bottom_layer(ObAction
**a
, ObUserAction uact
)
83 (*a
)->data
.layer
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
84 (*a
)->data
.layer
.layer
= -1;
87 void setup_client_action(ObAction
**a
, ObUserAction uact
)
89 (*a
)->data
.any
.client_action
= OB_CLIENT_ACTION_ALWAYS
;
92 ActionString actionstrings
[] =
107 setup_action_growtoedge_north
112 setup_action_growtoedge_south
117 setup_action_growtoedge_west
122 setup_action_growtoedge_east
131 void action_unshaderaise(union ActionData
*data
)
133 if (data
->client
.any
.c
->shaded
)
134 action_unshade(data
);
139 void action_shadelower(union ActionData
*data
)
141 if (data
->client
.any
.c
->shaded
)
147 void action_growtoedge(union ActionData
*data
)