summaryrefslogtreecommitdiff
path: root/src/core
AgeCommit message (Collapse)AuthorFilesLines
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-14check compositor statusDenis Gorodnichev2-14/+14
2015-01-14show tile preview with external compositorDenis Gorodnichev1-3/+1
2015-01-01BugFix: Can't retile to a different corner with keybindings.Miguel A. Colón Vélez1-1/+1
has_maximize_func implies window->has_resize_func !window->fullscreen window->has_resize_func implies (window->size_hints.min_width < window->size_hints.max_width) || (window->size_hints.min_height < window->size_hints.max_height) A tiled window implies that it could be tiled. A maximized window implies that it could be tiled. . Therefore simplify the if and add window->shaded to make it equivalent to the macro but allowing to tile already maximized/tiled windows. . If this commit causes a regression it probably means that a call to meta_window_recalc_features is missing. . This bug already existed but can only be triggered by the new keybindings.
2015-01-01BugFix: Can't unmaximize a tiled window.Miguel A. Colón Vélez1-15/+1
The removed code did not allow tiled windows to be unmaximized. The code was trying to retile a tiled window when it was asked to unmaximize it. The only thing it did was turn a maximized window into a tiled window but that is not the normal expected behaviour of unmaximization. . I also reset window->tile_mode to ensure we always unmaximize correctly. Some duplicate code was also removed. . This bug affects tiling with: - tile-to-side-w - tile-to-side-e - Mouse dragging to the west corner - Mouse dragging to the east corner . Therefore it's an old bug unrelated to the new keybindings.
2015-01-01Update handle_toggle_tiled.Miguel A. Colón Vélez1-7/+19
These are the minimal changes needed to make the keybinds work. Anything else should be fixed outside handle_toggle_tiled.
2014-11-27removed unused function argumentMonsta1-3/+2
Closes https://github.com/mate-desktop/marco/pull/152
2014-11-25merge metacity(gtk3) changesDenis Gorodnichev6-53/+29
merge metacity(gtk3) changes fix warnings clean up unused variables replace UNUSED_VARIABLE by G_GNUC_UNUSED
2014-11-12Unconditionally reset minimize_after_placement on placementinfirit1-3/+2
GTK+ has now started using _NET_WM_STATE_HIDDEN for iconified windows. For windows iconified at creation time, this causes metacity to set minimize_after_placement, which then causes the window to become minimized immediately after the first time it has been activated by the user. This happens because: (1) minimize_after_placement is reset after placing the window (2) if a window is minimized, placement is deferred Reset minimize_after_placement unconditionally in place_window_if_needed() to solve the issue. Reported and tested by Daniel Drake <[email protected]> Based on metacity commit: b0700e20b79896de7d28d2ff2bb18be324d8e19f From: Florian Müllner <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=684741
2014-11-12Work around usage of XPointerinfirit1-1/+1
XLib has historically used "char*" for "generic pointer" but compliers rightly complain when casting this to a structure. Work around this by casting to void * and letting the implicit conversion to a structure type take effect. Based on metacity commit: 687376bb549b3d60ba848c9d4105fe41087f3a77 From: Colin Walters <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=611644
2014-11-12Unify keymap-reloading code branchesinfirit1-14/+24
Simplify the keymap loading logic by unifying the different branches; in the reorganization this patch fixes a bug where when we got a MappingKeyboard event we wouldn't update virtual modifiers correctly. Based on a patch by Thomas Thurman <[email protected]> Based on metacity commit: ba2e5f7f541446931299814bafa642d09047f386 From: "Owen W. Taylor" <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=565540
2014-11-12Update keybindings when XKB keyboard layout changesinfirit2-1/+31
* Select for XKB keyboard notification events explicitly; since GTK+ has selected for XKB events, delivery of old-school MappingNotify events is disabled. * Fix a bug where once a keycode was loaded for a key binding, it would never be reassigned; we want to laod new keycodes for all bindings that have a key symbol rather than a fixed keycode. [ With fixes from Owen W. Taylor <[email protected]> ] Based on metacity commit: c262e3d65a37abedc507705cddfec72c901c321f From: Derek Poon <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=565540
2014-11-12Allow explicit raises from same client, not just same appinfirit1-1/+22
We currently allow XRaiseWindow when the same application (defined by the window group) is focused, but the kind of old applications that XRaiseWindow are frequently not setting the window group. Expand the check to allow the same X client (defined by the looking at client ID) to raise windows above the focus window. Based on metacity commit: 632d3983fbc402432c6ceae05bea8903ad2f11c0 From: "Owen W. Taylor" <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=567528
2014-11-07Revert "Possible keybinding to switch to previous workspace."infirit4-16/+1
This reverts commit 69b7a0ad9277f21ad761c84ac1bae5455a2f879e. It has the unintended side-effect that it reverses the alt+tab behaviour.
2014-10-27Fixup Gtk3 Gdk device handlingDenis Gorodnichev1-6/+9
2014-10-27don't change use settings by command line argumentDenis Gorodnichev2-7/+9
2014-10-27Rework tiling code based off Consortiuminfirit12-148/+296
Taken from https://github.com/SolusOS-discontinued/consortium/commit/b463e03f5bdeab307ceee6b969c681f29537c76d
2014-10-25Make sure to always call va_endinfirit1-2/+3
Based on metacity commit: b235d3e78670e30a55f3f746f13003577988bed6 From: Jasper St. Pierre <[email protected]>
2014-10-25Drop support for Glib < 2.32infirit1-4/+0
2014-10-25Cleanup GTK_CHECK_VERSION and unify where possibleinfirit1-4/+1
gdk_x11_window_lookup_for_display since 2.24 GDK_WINDOW_XID since always gtk_widget_get_visible since 2.18 gtk_widget_set_mapped since 2.20 gdk_event_new since 2.2 gdk_x11_window_lookup_for_display since 2.24 gdk_text_property_to_utf8_list_for_display since 2.2 gtk_widget_get_realized since 2.20 gdk_visual_get_depth since 2.22 gtk_widget_get_window since 2.14 gtk_widget_set_allocation since 2.18
2014-10-24keybindings.c: fix deprecated warninginfirit1-1/+1
Based on metacity commit: 8f49828169efb43976e23dd15c6dc4d630346f50
2014-10-24Add error handling to glibtop_get_proc_uidinfirit1-2/+9
Author: Tomaž Šolc Based on commit: 4ecd6e49164ee027cee8dfdbb51fd8389694ff43 Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=603240
2014-10-24Update meta_show_dialog for gtk's removal of --screeninfirit3-8/+6
gtk3 no longer has the --screen command-line argument, which metacity was passing to zenity. Use --display (with an explicitly-specified screen number) instead. Author: Dan Winship Bug: https://bugzilla.gnome.org/show_bug.cgi?id=687938 Based on metacity commit: 8d19afdcccaec28a5512b0a707d8238b9dd4e2f3
2014-10-24Fix new window focusinfirit1-7/+12
Based on metacity commit: cd481d37ec2551e98db758ff640d02f3745259db From: Alberts Muktupāvels <[email protected]> Gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=534752
2014-10-24use force_save_user_rect=TRUE for maximized windows tooinfirit1-2/+0
Force to save user rect for maximized windows too, otherwise when launching maximized application on non left monitor it will be moved to left monitor. Ubuntu bug: https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/727928 Based on metacity commit: fbfcbc5e35e35063c8ff71b399a0bf72a31852e7 From: Alberts Muktupāvels <[email protected]>
2014-10-24Properly ifdef some KXB code.infirit2-10/+11
Taken out of metacity commit: 238e83a98cf014c9b1082d21541e63f102d441d6 From: Alberts Muktupāvels <[email protected]>
2014-10-24Remove deprecated glib thread api calls.infirit1-9/+0
Also bump minimum required glib version to 2.32.
2014-10-24don't show shadow for maximized windowsinfirit1-0/+10
based on metacity commit: 72d1c6a6b9a85391444bb5ff8c5de1e3aabd3fd9 From: Alberts Muktupāvels <[email protected]>
2014-10-24Fix identification of CSD windows when checking whether to force fullscreeninfirit3-1/+21
We try to exempt CSD windows from being forced fullscreen if they are undecorated and the size of the screen; however, we also catch almost all windows that *do* need to be forced fullscreen in this check, since they also have decorations turned off. Identify actual CSD windows by checking whether _GTK_FRAME_EXTENTS is set - GTK+ will always set this on CSD windows even if they have no invisible borders or shadows at the current time. Based on metacity commit: 41dd72bc5dd08d7d0cb136f694a6d9a30e38b341 From: Owen W. Taylor <[email protected]> Metacity gnome bug: https://bugzilla.gnome.org/show_bug.cgi?id=723029
2014-10-24add support for _GTK_FRAME_EXTENTSinfirit4-3/+71
Support for _GTK_FRAME_EXTENTS are based on mutter. Based on metacity commit: e132e2a700c4b50c93eae064d8fd1769b67baf06 By: Alberts Muktupāvels <[email protected]>
2014-10-24don't switch workspace when switching to sticky windowDenis Gorodnichev1-3/+6
Closes https://github.com/mate-desktop/marco/pull/121 Closes https://github.com/mate-desktop/marco/issues/18
2014-09-23Tell we are Metacity to avoid issues with maximized Java applicationsStefano Karapetsas1-1/+1
Not the best solution, but the only way to fix the issue at the moment See https://github.com/linuxmint/muffin/pull/11 Closes https://github.com/mate-desktop/marco/issues/133
2014-08-18fix seqfault when animation is disabledDenis Gorodnichev1-1/+2
2014-06-26Remove misleading comment in effect_free functionJoaquín Ignacio Aramendía1-5/+1
The new behaviour is the animation callback function should run the finished function once it's done with the animation.
2014-06-26Bugfix: Correct was_minimized flag transitionJoaquín Ignacio Aramendía1-1/+1
2014-06-26Bugfix: If the window shown was minimized, grab focus.Joaquín Ignacio Aramendía1-0/+5
2014-06-26Bugfix: run finished function if animations are disabledJoaquín Ignacio Aramendía1-0/+7
2014-06-26Implement animation handling in implement_showingJoaquín Ignacio Aramendía1-5/+101
Functions meta_window_animate_[un]minimize will handle [un]minimization animations. Maybe this should be done in effects.c file to trigger animations based on context, compositing, preferences etc.
2014-06-26Fix: the effect "finished" callback needs to be called after the effect endsJoaquín Ignacio Aramendía1-6/+23
Added two fields to BoxAnimationContext to handle finish callback inside box_animation_timeout function instead of effect_free. Now the finish function is called after the effect is finished.