diff options
author | Omar Zeidan <[email protected]> | 2017-12-30 06:45:08 +0100 |
---|---|---|
committer | raveit65 <[email protected]> | 2018-01-15 17:29:48 +0100 |
commit | fc79bd1c4af4bce121a313cc2777b414c838a73c (patch) | |
tree | 8400f3cebd8785dde10cbba9f1c0b5b2392f77d7 /src/core/keybindings.c | |
parent | 7e14f82c4b5e3137bbdc3a4e55dbfe01e5af28c0 (diff) | |
download | marco-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.c | 43 |
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, ¤t_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 |