summaryrefslogtreecommitdiff
path: root/src/core/display.c
AgeCommit message (Collapse)AuthorFilesLines
2023-01-14Test Xres 1.2 is presentJoakim Tjernlund1-2/+12
Before using any Xres extension one must call XResQueryExtension() Also make sure Xres 1.2 is available as marco need XResQueryClientIds()
2022-11-12Always bring into foreground the previous window after closing oneBalazs Endresz1-1/+1
When opening and then closing certain applications the focus was correctly regained by the previous window but it wasn't brought into the foreground. To fix this we call meta_workspace_focus_default_window() for both NotifyDetailNone and NotifyPointerRoot. These two are always mentioned together in the X docs: https://tronche.com/gui/x/xlib/events/input-focus/normal-and-grabbed.html Some programs will have NotifyDetailNone when closed, while others end up with NotifyPointerRoot.
2021-10-26fix code-formatting issue of previous commitraveit651-1/+1
- drop white spaces
2021-10-26Safeguard against calling gdk_x11_window_get_xid with a NULL GdkWindowrcaridade1451-2/+5
2021-03-29warning: declaration of a variable shadows a previous localrbuj1-4/+2
2021-03-06i18n: Use glib's gettext support macrosrbuj1-0/+2
2020-08-04Remove multiple empty linesrbuj1-4/+0
find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 'N;/^\n$/D;P;D;' {} \;
2020-08-04Remove trailing spaces/tabsrbuj1-7/+7
find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 's/[[:space:]]*$//' {} \; find . \( -name '*.h' -o -name '*.c' \) -exec sed -i 's/\t*$//' {} \;
2020-02-21remove warning: 'GTimeVal' is deprecatedrbuj1-5/+2
2019-08-31 display.c: add missing "break"Pavel Shlyak1-1/+1
2019-06-05Replace public MetaFrameGeometry with MetaFrameBordersVictor Kareh1-14/+7
There were actually *two* MetaFrameGeometry structs: one in theme-private.h, one in frame.h. The latter public struct was populated by a mix of (void*) casting and int pointers, usually pulling directly from the data in the private struct. Remove the public struct, replace it with MetaFrameBorders and scrap all the pointer hacks to populate it, instead relying on both structs being used in common code. This commit should be relatively straightforward, and it should not do any tricky logic at all, just a sophisticated find and replace. https://bugzilla.gnome.org/show_bug.cgi?id=644930 upstream commit: https://gitlab.gnome.org/GNOME/metacity/commit/72224a165 NOTE: Patch copied from metacity and adapted for marco.
2019-06-03alt+tab popup: bugfix mouse click handling for scale factor > 1osch1-9/+21
2019-06-03alt+tab popup: follow mouse while mouse button is pressedosch1-1/+24
2019-06-03Handle mouse clicks in Alt+Tab Popuposch1-17/+66
2019-01-07'meta_error_trap_push' instead 'meta_error_trap_push_with_return'Pablo Barciela1-5/+5
both functions have the same code
2018-08-28Optionally attach modal dialogsMaxim Ermilov1-0/+28
Add a preference /apps/mutter/general/attach_modal_dialogs. When true, instead of having independent titlebars, modal dialogs appear attached to the titlebar of the parent window and are moved together with the parent window. https://bugzilla.gnome.org/show_bug.cgi?id=612726 NOTE: Patch copied from mutter and adapted for metacity.
2018-01-28require GTK+ 3.22 and GLib 2.50monsta1-9/+0
2018-01-01Implemented tabpopup when moving window to different workspaceOmar Zeidan1-1/+4
2017-11-10Add stricter logic for running without XPresent supportVictor Kareh1-4/+0
2017-11-10XPresent extension support - first passVictor Kareh1-0/+4
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 Kareh1-0/+14
* 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
2016-10-15move to GTK+3 (>= 3.14), drop GTK+2 code and --with-gtk build optionmonsta1-10/+1
2015-09-14bump xcomposite required version to 0.3 and simplify codeAlberts Muktupāvels1-19/+9
Version 0.3 is available more then 8 years.
2015-08-20Fix crash when struts change during grab operationOwen W. Taylor1-12/+0
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
2014-11-25merge metacity(gtk3) changesDenis Gorodnichev1-3/+18
merge metacity(gtk3) changes fix warnings clean up unused variables replace UNUSED_VARIABLE by G_GNUC_UNUSED
2014-11-12Update keybindings when XKB keyboard layout changesinfirit1-0/+4
* 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-10-27Fixup Gtk3 Gdk device handlingDenis Gorodnichev1-6/+9
2014-10-27Rework tiling code based off Consortiuminfirit1-0/+23
Taken from https://github.com/SolusOS-discontinued/consortium/commit/b463e03f5bdeab307ceee6b969c681f29537c76d
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-24Properly ifdef some KXB code.infirit1-9/+7
Taken out of metacity commit: 238e83a98cf014c9b1082d21541e63f102d441d6 From: Alberts Muktupāvels <[email protected]>
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-06-26Remove all trailing whitespaces in the code treeJoaquín Ignacio Aramendía1-309/+309
Just run: $ find -name '*.c' -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i $ find -name '*.h' -print0 | xargs -r0 sed -e 's/[[:blank:]]\+$//' -i
2014-05-05Dont destroy all windows with GTK2Stefano Karapetsas1-12/+0
Regression introduced with http://git.mate-desktop.org/marco/commit/?id=3695f97acfd3d81e7f9ce23be3243d63fce35746
2014-04-23gtk3: set event deviceDenis Gorodnichev1-20/+62
2014-03-22Revert "gtk3: set event device"Stefano Karapetsas1-62/+20
This reverts commit b6ee7f8d6cb49b7b87c073695f50a0576f42a599.
2014-02-23gtk3: set event deviceDenis Gorodnichev1-20/+62
2014-01-24core: Improve GTK3 supportStefano Karapetsas1-0/+4
2013-05-17Revert deprecations for issue #41Scott Balneaves1-4/+0
2013-05-14Fix memory leak in marco. Cribbed from ↵Scott Balneaves1-13/+15
https://git.gnome.org/browse/metacity/commit/?id=d2b82ba621df8693e560bf0e10c6c56d155cb107
2012-11-20Fix deprecations and compile warnings. Clean compileScott Balneaves1-0/+4
2012-11-18fixed incorrect fsf addresses.Steve Zesch1-2/+2
2012-08-23Fix key handling while drag and drop is activeStefan Tauner1-1/+1
This is still not fixed "upstream" (i.e. in metacity) but many distributions ship with this patch. The patch is from Matthias Clasen (Redhat). See https://bugzilla.gnome.org/show_bug.cgi?id=135056#c33 and https://bugs.launchpad.net/ubuntu/+source/metacity/+bug/111939 for details.
2012-08-01apply Should-set-RestartStyleHint-to-RestartIfRunning-wh.patchraveit651-11/+4
2012-03-16Introduce key combination to switch between windows on all workspaces taken ↵Alexander Larsson1-42/+79
from https://bugzilla.gnome.org/show_bug.cgi?id=577699
2011-12-01moving from https://github.com/perberos/mate-desktop-environmentPerberos1-0/+5355