summaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)AuthorFilesLines
2017-12-20Fixes windows not going to save_rect when unmaximimizingOmar Zeidan2-1/+5
2017-12-20Allow horizontal and vertical resizing when corner tiledOmar Zeidan4-123/+207
2017-12-20Fixes window getting reset to saved_rect when untiling from cornerOmar Zeidan2-3/+4
2017-12-20Implemented simple corner tiling by mouse dragOmar Zeidan6-49/+121
2017-11-10Add stricter logic for running without XPresent supportVictor Kareh2-9/+4
2017-11-10XPresent extension support - first passVictor Kareh2-4/+9
2017-08-30Store a window flag when user resizes from tiledVictor Kareh4-1/+15
Use that flag to retain the correct window size when performing other operations. Reset when re-tiling.
2017-08-29Allow tiled windows to be resized horizontallyVictor Kareh2-4/+33
Determine whether the user is initiating a resize action on a tiled window. If the user is trying to grab the window for resizing horizontally from the edge that's farther away from the screen edge, allow the resize to occur. Otherwise maintain the current tile geometry. Also modified the window hints to allow resizing from the window menu. Fixes #250
2017-08-14display: don't use deprecated GDK_DEVICE_MANAGERraveit651-2/+14
use GtkSeat for > gtk+-3.20
2017-08-14Fix synthetic keybinding/button-grab window (#342)Victor Kareh2-0/+22
* Determine focused window when processing synthetic events When a client is passively grabbing keybindings that it does not need, it sends them up for other clients to process. Often in this situation, the event contains the wrong window (either root, for global keybindings, or the original client itself). This means that Marco will attempt to process the event for the wrong window. This is not an issue for global keybindings within Marco, as the focused window does not matter. However, for shortcuts that operate directly on specific windows, the event gets lost. This change addresses this by determining what the currently-focused window is, regardless of which client forwarded the event. * Determine window under pointer when processing synthetic events When a client is passively grabbing mouse clicks that it does not need, it sends them up for other clients to process. Often in this situation, the event contains the wrong window (either root, for global keybindings, or the original client itself). This means that Marco will attempt to process the event for the wrong window. This change addresses this by determining what the current window under the mouse pointer is, regardless of which client forwarded the event. * Remove unused development data
2017-07-29avoid deprecated gdk_display_get_screenZenWalker2-5/+2
2017-07-14Alt/tab - define arrow keycode + numpad arrowsPierre-Louis Dubouilh2-2/+8
2017-07-14Allow use of arrows while in alt+tab popupPierre-Louis Dubouilh1-0/+9
2017-06-05Added hotkey to rename current workspaceFelipe Barriga Richards2-0/+242
2017-04-23build: Use non-deprecated feature test macrosDmitry Shachnev4-4/+4
_SVID_SOURCE has been deprecated in newer versions of glibc breaking -WError; the recommended replacement of _DEFAULT_SOURCE is fairly new, so switch to _XOPEN_SOURCE instead. Based on mutter commits b159d6a5e17219557574defb6c3788d9b0c39757 and b159d6a5e17219557574defb6c3788d9b0c39757. https://bugzilla.gnome.org/show_bug.cgi?id=763782 taken from: https://git.gnome.org/browse/metacity/commit/?id=56bcf350fb599ec2caf68af4f0f92b1c3999027c
2017-01-30workspace: switch wrapping behavior for 'classic' and 'toroidal'Kevin S.C. Decker1-10/+10
2017-01-17Added functionality to ignore applications while show-desktop is triggeredIllia Danko2-2/+53
2016-12-05Added functionality to disable display preselected tab window borderIllia Danko2-33/+57
2016-10-15move to GTK+3 (>= 3.14), drop GTK+2 code and --with-gtk build optionmonsta5-292/+2
2016-04-12fix crash on showing alt-tab thumbnails with compositor on (GTK+2)monsta1-4/+4
was my mistake in 9212dacb2bfd5985d8426bf0bdb88f2aca03444e :-/
2016-03-09remove duplicate function declarationmonsta1-2/+0
2016-03-03[GTK+3] re-add ability to show alt-tab thumbnails when compositor is onmonsta1-9/+22
adapted from: https://git.gnome.org/browse/metacity/commit/?id=e6828a3ee2cab1ec1acbdd5a444dc1cb98215a75 https://git.gnome.org/browse/metacity/commit/?id=758902aef22629943738241cea1f597b6db4b18e https://git.gnome.org/browse/metacity/commit/?id=c6ba6dc7f458720d9f8666881f45a830580468cb https://git.gnome.org/browse/metacity/commit/?id=68bdf1ab9de815e07f5cd75b2e1fa24ba92ae319 https://git.gnome.org/browse/metacity/commit/?id=78bbf4423f72797a05bfaddd4121d70db30de9a3
2016-01-10Avoiding conditional directives that break statements.Romero Malaquias1-4/+8
2015-12-31window: remove excessive initializationmonsta1-1/+0
2015-12-11add a missing line from metacitymonsta1-0/+1
line is taken from https://github.com/GNOME/metacity/commit/632d3983fbc402432c6ceae05bea8903ad2f11c0 was forgotten in https://github.com/mate-desktop/marco/commit/ad9db61aabc2cbf743a1157ddc42ff76127f3fab
2015-11-08Revert "Merge pull request #115 from Samsagax/animation-fix-clean"Monsta4-148/+83
This reverts commit 567890a8a1884247de29e9f97cf9cd8110247c04, reversing changes made to a65a66d49bd0d6ec6c94b8e3ecd551cb570cec95.
2015-10-26window: initialize fullscreen to FALSEAlberts Muktupāvels1-0/+1
This fix random bug when applications without reason opens in fullscreen mode.
2015-10-26window: initialize custom_frame_extentsAlberts Muktupāvels1-0/+6
2015-10-26constraints: take into account _GTK_FRAME_EXTENTSmonsta1-26/+78
ported from https://git.gnome.org/browse/metacity/commit/?id=8f699b71bd7e5581ec2f2804ea9650597618dfe1
2015-10-26effects: remove hack that made Marco crash in certain situationsAlberts Muktupāvels1-20/+1
fixes https://github.com/mate-desktop/marco/issues/200 ported to Marco from https://github.com/GNOME/metacity/commit/f25b7760b7430b674afdb4de1e2072cd99ea3fbc
2015-09-25Merge pull request #168 from robertek/swith_to_workspace_prevNo_name4-1/+22
Possible keybinding to switch to previous workspace.
2015-09-18Revert "Remove unused function handle_run_terminal"infirit1-0/+37
This reverts commit 437b085f123f3c019bca2481000e936ee87e7c31.
2015-09-16Add manual and by-pointer window placementFaidon Liambotis4-0/+79
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.
2015-09-15Remove unused function handle_run_terminalinfirit1-37/+0
2015-09-14bump xcomposite required version to 0.3 and simplify codeAlberts Muktupāvels2-21/+9
Version 0.3 is available more then 8 years.
2015-09-14window: load NET_WM_USER_TIME from the right windowAlberts Muktupāvels1-1/+9
On subsequent changes, if there is a NET_WM_USER_TIME_WINDOW, then read the property from that rather than from the main window. (Fix an accidental regression: the right Window was being computed but no longer passed in.) Original patch author - Owen Taylor: https://bugzilla.gnome.org/show_bug.cgi?id=585979
2015-09-14xprop: Don't use GDK for reading text propertiesJasper St. Pierre1-2/+24
2015-09-14Work around Xlib 64-bit "specialness"Dan Winship1-0/+14
When putting 32-bit properties into longs on 64-bit architectures, XGetWindowProperty assumes the values are supposed to be signed, and so it sign-extends values greater than 0x7fffffff. So if they *aren't* supposed to be signed, we need to chop off the high bits ourselves. (Most CARDINAL-valued properties only end up using small values anyway, so it doesn't matter, but _NET_WM_WINDOW_OPACITY uses the full range, and so was previously failing on 64-bit machines.) https://bugzilla.gnome.org/show_bug.cgi?id=605678
2015-08-20Fix crash when struts change during grab operationOwen W. Taylor4-18/+24
Since meta_workspace_invalidate_work_area() frees the edges workspace->screen_edges and workspace->monitor_edges, we must clean up our cached edge resistance data when the invalidate_work_area() is called on the active workspace, or when the workspace changes. Make the computation of the edge resistance data lazy so that it will be recomputed the next time we try to access it. meta_display_compute_resistance_and_snapping_edges() is made private to edge-resistance.c Invaliding the data when active workspace changes also will improve correctness for edge resistance when the current workspace changes during a grab operation. (Even with this fix we still don't try to handle window positions changing during a grab operation; that can't cause a crash since, unlike screen and monitor edges, the window edges are freshly allocated, it will just cause slight oddness in that corner case.) Root cause tracked down due to much effort by Jon Nettleton. https://bugzilla.gnome.org/show_bug.cgi?id=608800
2015-08-01window menu: make minimize item insensitive when window should notMonsta1-2/+2
be minimized (e.g. delete confirmation dialog, logout dialog...)
2015-07-31Allow programmatic minimization without MWM_FUNC_MINIMIZEStefan Dösinger1-2/+1
This fixes switching out of fullscreen Direct3D applications running in Wine. See issue 166 for more details.
2015-06-10Merge pull request #160 from micove/add-tile-keybindsMartin Wimpress2-23/+21
Add tile keybinds (Fix #104, #127)
2015-06-09Merge pull request #187 from monsta/patch-1Martin Wimpress1-1/+1
prefs: make workspace name actually change
2015-06-09Merge pull request #189 from monsta/keybindings-fixMartin Wimpress1-20/+25
prefs: make keybindings change notifications work with GLib >= 2.43
2015-06-09fix uninitialized data field for sending _NET_WM_SYNC_REQUEST eventSebastian Gerhardt1-0/+1
If this field is left uninitialized, a client may mistake Marco to support more than the single update request counter described in EWMH 1.5.
2015-04-09prefs: make keybindings change notifications work with GLib >= 2.43Monsta1-20/+25
this is achieved by using the same GSettings instance for listening and reading data. it's an additional fix for the issue with GLib >= 2.43, https://git.gnome.org/browse/glib/commit/?id=8ff5668a458344da22d30491e3ce726d861b3619
2015-04-08prefs: make workspace name actually changemonsta1-1/+1
now workspace names actually change on-the-fly when you change them in dconf-editor. and this works with GLib 2.43 as well.
2015-04-05keybindings: pass screen name instead of number to error dialogMonsta1-7/+7
makes error dialogs on wrong command/terminal command actually work, and fixes https://github.com/mate-desktop/marco/issues/150 Closes https://github.com/mate-desktop/marco/pull/185 Closes https://github.com/mate-desktop/marco/issues/150
2015-02-25prefs: first connect to settings, then read them.Monsta1-7/+7
fixes the issue with GLib >= 2.43, https://git.gnome.org/browse/glib/commit/?id=8ff5668a458344da22d30491e3ce726d861b3619 Closes https://github.com/mate-desktop/marco/pull/174
2015-01-23Possible keybinding to switch to previous workspace.Robert David4-1/+22
Disabled at default.