-void setup_action_movefromedge_north(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_NORTH;
- (*a)->data.diraction.hang = TRUE;
-}
-
-void setup_action_movefromedge_south(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_SOUTH;
- (*a)->data.diraction.hang = TRUE;
-}
-
-void setup_action_movefromedge_east(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_EAST;
- (*a)->data.diraction.hang = TRUE;
-}
-
-void setup_action_movefromedge_west(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_WEST;
- (*a)->data.diraction.hang = TRUE;
-}
-
-void setup_action_movetoedge_north(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_NORTH;
- (*a)->data.diraction.hang = FALSE;
-}
-
-void setup_action_movetoedge_south(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_SOUTH;
- (*a)->data.diraction.hang = FALSE;
-}
-
-void setup_action_movetoedge_east(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_EAST;
- (*a)->data.diraction.hang = FALSE;
-}
-
-void setup_action_movetoedge_west(ObAction **a, ObUserAction uact)
-{
- (*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
- (*a)->data.diraction.direction = OB_DIRECTION_WEST;
- (*a)->data.diraction.hang = FALSE;
-}
-
void setup_action_growtoedge_north(ObAction **a, ObUserAction uact)
{
(*a)->data.diraction.any.client_action = OB_CLIENT_ACTION_ALWAYS;
action_unshaderaise,
setup_client_action
},
- {
- "sendtotoplayer",
- action_send_to_layer,
- setup_action_top_layer
- },
- {
- "togglealwaysontop",
- action_toggle_layer,
- setup_action_top_layer
- },
- {
- "sendtonormallayer",
- action_send_to_layer,
- setup_action_normal_layer
- },
- {
- "sendtobottomlayer",
- action_send_to_layer,
- setup_action_bottom_layer
- },
- {
- "togglealwaysonbottom",
- action_toggle_layer,
- setup_action_bottom_layer
- },
- {
- "movefromedgenorth",
- action_movetoedge,
- setup_action_movefromedge_north
- },
- {
- "movefromedgesouth",
- action_movetoedge,
- setup_action_movefromedge_south
- },
- {
- "movefromedgewest",
- action_movetoedge,
- setup_action_movefromedge_west
- },
- {
- "movefromedgeeast",
- action_movetoedge,
- setup_action_movefromedge_east
- },
- {
- "movetoedgenorth",
- action_movetoedge,
- setup_action_movetoedge_north
- },
- {
- "movetoedgesouth",
- action_movetoedge,
- setup_action_movetoedge_south
- },
- {
- "movetoedgewest",
- action_movetoedge,
- setup_action_movetoedge_west
- },
- {
- "movetoedgeeast",
- action_movetoedge,
- setup_action_movetoedge_east
- },
{
"growtoedgenorth",
action_growtoedge,
action_shade(data);
}
-void action_movetoedge(union ActionData *data)
-{
- gint x, y;
- ObClient *c = data->diraction.any.c;
-
- x = c->frame->area.x;
- y = c->frame->area.y;
-
- switch(data->diraction.direction) {
- case OB_DIRECTION_NORTH:
- y = client_directional_edge_search(c, OB_DIRECTION_NORTH,
- data->diraction.hang)
- - (data->diraction.hang ? c->frame->area.height : 0);
- break;
- case OB_DIRECTION_WEST:
- x = client_directional_edge_search(c, OB_DIRECTION_WEST,
- data->diraction.hang)
- - (data->diraction.hang ? c->frame->area.width : 0);
- break;
- case OB_DIRECTION_SOUTH:
- y = client_directional_edge_search(c, OB_DIRECTION_SOUTH,
- data->diraction.hang)
- - (data->diraction.hang ? 0 : c->frame->area.height);
- break;
- case OB_DIRECTION_EAST:
- x = client_directional_edge_search(c, OB_DIRECTION_EAST,
- data->diraction.hang)
- - (data->diraction.hang ? 0 : c->frame->area.width);
- break;
- default:
- g_assert_not_reached();
- }
- frame_frame_gravity(c->frame, &x, &y, c->area.width, c->area.height);
- client_action_start(data);
- client_move(c, x, y);
- client_action_end(data, FALSE);
-}
-
void action_growtoedge(union ActionData *data)
{
gint x, y, width, height, dest;
client_action_end(data, FALSE);
g_free(a);
}
-
-void action_send_to_layer(union ActionData *data)
-{
- client_set_layer(data->layer.any.c, data->layer.layer);
-}
-
-void action_toggle_layer(union ActionData *data)
-{
- ObClient *c = data->layer.any.c;
-
- client_action_start(data);
- client_action_end(data, config_focus_under_mouse);
-}
-