Commit Graph

1275 Commits

Author SHA1 Message Date
Mikael Magnusson
3f6592f60f Iconification using _NET_WM_STATE_HIDDEN hint if supported by WM
If the Window Manager supports the _NET_WM_STATE_HIDDEN, we use it to use
the _NET_WM_STATE protocol when de-iconifying windows (iconification is
unchanged, via XIconifyWindow). Additionally, we no longer interpret all
UnmapNotify events for our window as the result of iconification.

(Based on patch by Tomas Frydrych <tf@linux.intel.com>)
2012-03-02 20:37:32 +01:00
Bastien Nocera
2ab1526467 x11: Fix first call to _gdk_x11_keymap_key_is_modifier()
_gdk_x11_keymap_key_is_modifier() never tries to set min/max_keycode
if they haven't been set before, meaning that until another function
sets those, all the keys will be seen as non-modifiers.

This causes GdkKeyEvents to be wrongly tagged with "->is_modifier = 0"
when in actual fact the key is a modifier. This fixes keyboard
shortcuts captured with GtkCellRendererAccel in "raw" mode thinking
a modifier without any actual keys is a valid shortcut.

https://bugzilla.gnome.org/show_bug.cgi?id=670400

Conflicts:

	gdk/x11/gdkkeys-x11.c
2012-02-19 17:42:19 +01:00
Matthias Clasen
2a9bf2619a Fix problems with DND on some X servers
When the X server does not support the shape extension (as some
vnc implementations seem to), our DND code was always seeing
an empty input shape, so drops always missed their target.

http://bugzilla.gnome.org/show_bug.cgi?id=620240
2012-01-03 11:03:45 -05:00
Richard Hughes
6a4a78d6a2 Fix a segfault if the GAppInfo does not have an icon
This fixes the following backtrace:

 0  g_logv (log_domain=0x7ffff60461a4 "GLib-GObject", log_level=<optimized out>,
    format=0x7ffff599c322 "%s: assertion `%s' failed", args1=0x7fffffffc418) at gmessages.c:577
 1  0x00007ffff59312d2 in g_log (log_domain=<optimized out>, log_level=<optimized out>,
    format=<optimized out>) at gmessages.c:591
 2  0x00007ffff601c3c7 in g_object_ref (_object=0x0) at gobject.c:2648
 3  0x00007ffff7721e22 in gdk_x11_app_launch_context_get_startup_notify_id (context=<optimized out>,
    info=0x7fffe8004b40, files=<optimized out>) at gdkapplaunchcontext-x11.c:331
 4  0x00007ffff62e60d0 in _g_desktop_app_info_launch_uris_internal (appinfo=0x7fffe8004b40, uris=0x0,
    launch_context=0x7fffe401c800, spawn_flags=G_SPAWN_SEARCH_PATH, user_setup=0, user_setup_data=0x0,
    pid_callback=0, pid_callback_data=0x0, error=0x7fffffffc848) at gdesktopappinfo.c:1269
 5  0x00007ffff62e630a in g_desktop_app_info_launch_uris (appinfo=<optimized out>, uris=<optimized out>,
    launch_context=<optimized out>, error=<optimized out>) at gdesktopappinfo.c:1341
 6  0x00007ffff62e636b in g_desktop_app_info_launch (appinfo=0x7fffe8004b40, files=<optimized out>,
    launch_context=0x7fffe401c800, error=0x7fffffffc848) at gdesktopappinfo.c:1388
2011-11-08 12:29:11 -05:00
Michael Natterer
32b70a56d1 gdk: exclude MOD1 from the virtual modifier mapping
which effectively nails down the MOD1 == ALT assumption that is valid
in all other parts of GTK+. After the modifier abstraction fixes for
OSX, the virtual mapping is now (correctly) used in more places, and
caused problems with the common default PC keyboard layout on X11 that
colocates ALT and META on the same key.
(cherry picked from commit ac943bf69a)
2011-11-07 20:19:05 +01:00
Alexander Larsson
8f6f64fe10 win32: Make WINTAB support work
Lots of rework to make input events work in the csw world
2011-11-01 12:38:15 +01:00
Javier Jardón
8d5d9e68ed gdk: Use 'const' instead deprecated G_CONST_RETURN 2011-06-15 14:47:19 +01:00
Benjamin Otte
65c1419742 x11: #ifdef USE_SHM function where it belongs
Otherwise, we end up with an unused function warning without SHM
2011-04-22 01:08:12 +02:00
Benjamin Otte
b18d4feaaf x11: Remove unused variable 2011-03-07 12:05:32 +01:00
Alexander Larsson
b0d0bf7f7d Avoid spurious emissions of monitors-changed
The monitor change detection code in _gdk_x11_screen_size_changed() and
process_monitors_change() goes to some length to make sure its only emitted
when there is an actual change to the data visible via the GdkScreen monitors
api.

However, commit 662e69ad added some code that always emits "monitors-changed"
in _gdk_x11_screen_size_changed when we have randr13 and get a ConfigureNotify
on the root window (even though we may already have emitted it in the
RRScreenChangesNotify event!).

As far as I can tell this is due to a comment in the bug referenced by the
commit (https://bugzilla.gnome.org/show_bug.cgi?id=601712#c4) where it says:

  This version of the patch changes GdkDisplay to emit "monitors-changed" when
  the primary monitor changes (see the change in _gdk_x11_screen_size_changed).

And, if you remove this part of the change the signal is not emitted when just
the primary is changed. However, this is not really the right approach. We
should just also check for if the primary changes in process_monitors_change()
to avoid spurious signal emissions.

https://bugzilla.gnome.org/show_bug.cgi?id=643216
(cherry picked from commit 0b0f110152)

Conflicts:

	gdk/x11/gdkscreen-x11.c
2011-02-24 20:05:45 +01:00
Matthias Clasen
b609bd1149 Fix doc comment 2011-02-19 10:16:58 -05:00
Martin Nordholts
fa2d05ab4e Bug 633291 - Handle Shift-keys in X11 gdk_test_simulate_key()
If a level 1 key maps to a key value passed to
gdk_test_simulate_key(), raise the GDK_SHIFT_MASK flag so the reqested
key value is generated. Also add a regression test for this fix.
2011-02-13 12:34:19 +01:00
Matthias Clasen
e3185138ac Fix the build without the Composite headers
The code was already protected by #ifdef HAVE_XCOMPOSITE, but
we forgot the include.
https://bugzilla.gnome.org/show_bug.cgi?id=642137
2011-02-12 08:06:31 -05:00
Pavel Holejsovsky
5cded4d5e2 [GI] Add missing (transfer) annotations
Backported from master commit 2f0d40335b.
2011-01-26 12:49:08 +01:00
Matthias Clasen
0455bcfda4 Expose gtk-auto-mnemonics as an Xsetting 2011-01-23 16:58:50 -05:00
Adel Gadllah
6490a22aaf GdkX11dnd: Fix build issue
I messed up while rebasing the window caches patch.
2011-01-05 17:54:29 +01:00
Matthias Clasen
644f25c497 Decouple GdkWindowCache life-cycle from GdkX11DragContext
By making window caches refcounted. This fixes problems with leaking
drag contexts, as experienced in
https://bugzilla.gnome.org/show_bug.cgi?id=637691
and
https://bugzilla.gnome.org/show_bug.cgi?id=144324

Based on a patch by drago01@gmail.com
2011-01-05 17:37:37 +01:00
Murray Cumming
87285bc8bf gdk_spawn* deprecation docs: Mention actual replacement functions. 2011-01-05 01:34:49 +01:00
Matthias Clasen
120915d6de Reinstate the implementation of gdk_window_foreign_new_for_display
This was accidentally dropped when introducing
gdk_x11_window_foreign_new_for_display().
2010-12-23 11:58:26 -05:00
Matthias Clasen
e2361108f4 Document that keymap functions will stop accepting NULL 2010-12-23 10:15:59 -05:00
Matthias Clasen
8ad1c959ef Fix a typo 2010-12-21 11:35:38 -05:00
Matthias Clasen
dd05e41475 Deprecate gdk_xid_table* functions 2010-12-21 09:54:15 -05:00
Matthias Clasen
a88f8e4c57 Deprecate gdk_drag_context_new 2010-12-21 09:54:15 -05:00
Matthias Clasen
bad6d00966 Deprecate some gdk text conversion routines
And add x11-specific replacements for them
2010-12-21 09:54:15 -05:00
Matthias Clasen
6250c1dbe1 Deprecate gdk_net_wm_supports 2010-12-21 09:54:14 -05:00
Matthias Clasen
dd1de27061 Deprecate gdkx_visual_get 2010-12-21 09:54:14 -05:00
Matthias Clasen
08e4a60de1 Deprecate gdk_spawn apis 2010-12-21 09:54:14 -05:00
Matthias Clasen
2f8c78ddc5 Deprecate foreign window apis
And add x11- and win32-specific apis for these at the same time
2010-12-21 09:54:14 -05:00
Matthias Clasen
0f8251da61 Deprecate gdk_set_sm_client_id
And add a gdk_x11_set_sm_client_id to replace it.
2010-12-21 09:54:13 -05:00
Matthias Clasen
b2274ba08a Avoid delays in starting applications
Only query file info once, and don't do it for non-native files, since
that may cause sync network IO.

Bug http://bugzilla.gnome.org/show_bug.cgi?id=635588
2010-11-29 21:08:59 +01:00
Michael Natterer
d0f2b13309 gdk: add gdk_device_get_n_keys() to access the sealed num_keys member 2010-11-24 20:15:29 +01:00
Bastien Nocera
df08bc43ec gdk: Add XSetting for "gtk-cursor-blink-timeout"
Otherwise the blink timeout is the one used by default in GTK+.

https://bugzilla.gnome.org/show_bug.cgi?id=634697
2010-11-15 17:20:02 +00:00
Matthias Clasen
0200763126 Fix header inclusions for !srcdir builds 2010-10-16 16:53:44 -04:00
Christian Persch
2a646c1d21 Take cursor hotspot from pixbuf if available
Allow -1 for the hotspot coordinates in gdk_cursor_new_from_pixbuf,
if the pixbuf contains the x_hot/y_hot options with appropriate values.

Bug #632140.
2010-10-16 01:11:43 -04:00
Matthias Clasen
4850fa57f9 Fix up a botched cherry-pick 2010-09-17 11:05:42 -04:00
Matthias Clasen
0ebde0bbe5 Fix a doc comment
(cherry picked from commit 28c66ed9b0)
2010-09-17 09:49:54 -04:00
Matthias Clasen
27970efd52 Add annotations
The goi scanner warns about these nowadays.
(cherry picked from commit 6aa8941b84)
2010-09-17 09:47:47 -04:00
Sebastian Dröge
285ab04c0c gdk: Only use XComposite if it is available
Fixes build if it isn't available. Bug #629748.
2010-09-15 16:41:41 +02:00
Matthias Clasen
4394a972dc Fix a logic error in the gdk_display deprecation 2010-09-13 13:14:18 -04:00
Adel Gadllah
81ec8c7a1b [GdkWindowCache] Don't ignore the CompositeOverlayWindow
Add the composite overlay window to the cache, as this can be a reasonable Xdnd proxy as well.

This is only done when the screen is composited in order to avoid mapping
the COW. We assume that the CM is using the COW (which is true for pretty
much any CM currently in use).

https://bugzilla.gnome.org/show_bug.cgi?id=601731
2010-09-13 18:21:15 +02:00
Matthias Clasen
a3c3031a0e Deprecate gdk_display and GDK_DISPLAY 2010-09-10 22:33:58 -04:00
Matthias Clasen
bcdd895229 Avoid segfault on xkbless systems
This was reported in bug 628932 to cause problems on VNC.
(cherry picked from commit d5c2cb7bcb)
2010-09-07 00:11:55 -04:00
Matthew Barnes
1175e6b98c Don't leak display name
Bug 628656 - _gdk_windowing_get_startup_notify_id memory leak

get_display_name() returns a newly allocated string, which was being fed
directory info a g_strdup_printf() call.
(cherry picked from commit bf3b5f785e)
2010-09-03 12:51:24 -04:00
Matthias Clasen
4e2ade8d6b Make gdk_keymap_map_virtual_modifiers work early
It needs to ensure that we have an uptodate modmap. Bug 616401
(cherry picked from commit d5a8a3c9bc)
2010-08-30 12:52:40 -04:00
Matthias Clasen
1d5a6e790a Fix up some documentation issues 2010-08-16 17:38:23 -04:00
Benjamin Otte
cedf52fb81 x11: Deprecate GdkGC functions
They are gone in GTK3, just like the rest of GdkGC.
2010-08-12 01:54:58 +02:00
Benjamin Otte
e1c7ff8ee0 x11: Query size on real drawable
The X11 drawable does not have a clue about the real size of the
surface.

This might also be the cause for:
https://bugzilla.gnome.org/show_bug.cgi?id=599574
2010-07-26 11:58:23 +02:00
John Stowers
dc2fea413b Add gdk_device_get_n_axes
https://bugzilla.gnome.org/show_bug.cgi?id=624221
2010-07-25 12:32:43 +12:00
Matthias Clasen
cb29d27707 Make GTK+ build against an external gdk-pixbuf 2010-06-26 02:29:29 -04:00
Matthias Clasen
d780a23746 Silence a few warnings in !HAVE_RANDR builds
(cherry picked from commit b96a05b81f)
2010-06-04 15:47:42 -04:00