summaryrefslogtreecommitdiff
path: root/src/core/keybindings.c
diff options
context:
space:
mode:
authorOmar Zeidan <[email protected]>2017-12-30 06:45:08 +0100
committerraveit65 <[email protected]>2018-01-15 17:29:48 +0100
commitfc79bd1c4af4bce121a313cc2777b414c838a73c (patch)
tree8400f3cebd8785dde10cbba9f1c0b5b2392f77d7 /src/core/keybindings.c
parent7e14f82c4b5e3137bbdc3a4e55dbfe01e5af28c0 (diff)
downloadmarco-fc79bd1c4af4bce121a313cc2777b414c838a73c.tar.bz2
marco-fc79bd1c4af4bce121a313cc2777b414c838a73c.tar.xz
Restructured monitor keybinds and adjust save_rect
Diffstat (limited to 'src/core/keybindings.c')
-rw-r--r--src/core/keybindings.c43
1 files changed, 13 insertions, 30 deletions
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 11b8daf4..a141e2c1 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -2680,37 +2680,20 @@ handle_move_to_monitor (MetaDisplay *display,
XEvent *event,
MetaKeyBinding *binding)
{
- MetaScreenDirection move_direction = binding->handler->data;
- MetaXineramaScreenInfo* current;
- MetaXineramaScreenInfo* neighbour;
- MetaRectangle current_window_rect;
- int new_x;
- int new_y;
+ const MetaScreenDirection move_direction = binding->handler->data;
+ const MetaXineramaScreenInfo* current;
+ const MetaXineramaScreenInfo* neighbour;
-
- current = meta_screen_get_xinerama_for_window(screen, window);
- neighbour = meta_screen_get_xinerama_neighbor(screen, current->number, move_direction);
-
- if(neighbour == NULL ||
- current->number == neighbour->number)
- return;
-
- if(META_WINDOW_TILED (window))
- {
- window->tile_monitor_number = neighbour->number;
- return;
- }
-
- meta_window_get_client_root_coords(window, &current_window_rect);
-
- new_x = current_window_rect.x - current->rect.x + neighbour->rect.x;
- new_y = current_window_rect.y - current->rect.y + neighbour->rect.y;
- /* target_rect.width = window->rect.width; */
- /* target_rect.height = window->rect.height; */
- /* Maybe do some resizing? */
-
- meta_window_move(window, TRUE, new_x, new_y);
-
+ current = meta_screen_get_xinerama_for_window(screen, window);
+ neighbour = meta_screen_get_xinerama_neighbor(screen, current->number, move_direction);
+
+ if(neighbour == NULL ||
+ current->number == neighbour->number)
+ return;
+
+ meta_window_move_to_monitor(window,
+ current,
+ neighbour);
}
static gboolean