diff options
| author | Faidon Liambotis <[email protected]> | 2015-09-14 03:06:18 +0300 | 
|---|---|---|
| committer | infirit <[email protected]> | 2015-09-16 13:59:59 +0200 | 
| commit | dee034771c8f3b519c8011faf78d277d6af76933 (patch) | |
| tree | 411e2ced133401f2480a2323154b5df792b4cc31 /src/core/window.c | |
| parent | e12e55167107adaa0b45decdb2f57cf7c870d2aa (diff) | |
| download | marco-dee034771c8f3b519c8011faf78d277d6af76933.tar.bz2 marco-dee034771c8f3b519c8011faf78d277d6af76933.tar.xz  | |
Add manual and by-pointer window placement
This adds a window placement preference: the existing behavior is now
called "automatic" and is the default. Two new modes are being
introduced: "pointer", which means that windows are placed according to
the mouse pointer position; and "manual" which means that the user must
manually place the new window with the mouse or keyboard.
This is a straight port from muffin, commit 3257671.
Diffstat (limited to 'src/core/window.c')
| -rw-r--r-- | src/core/window.c | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/window.c b/src/core/window.c index 60616e4d..30ebfa85 100644 --- a/src/core/window.c +++ b/src/core/window.c @@ -461,6 +461,7 @@ meta_window_new_with_attrs (MetaDisplay       *display,    window->maximize_horizontally_after_placement = FALSE;    window->maximize_vertically_after_placement = FALSE;    window->minimize_after_placement = FALSE; +  window->move_after_placement = FALSE;    window->fullscreen = FALSE;    window->fullscreen_after_placement = FALSE;    window->fullscreen_monitors[0] = -1; @@ -2346,6 +2347,13 @@ meta_window_show (MetaWindow *window)        if (takes_focus_on_map)          {            meta_window_focus (window, timestamp); + +          if (window->move_after_placement) +            { +              meta_window_begin_grab_op(window, META_GRAB_OP_KEYBOARD_MOVING, +                                        FALSE, timestamp); +              window->move_after_placement = FALSE; +            }          }        else          {  | 
