Owen W. Taylor
df3e19b449
Broadway/Quartz/Win32: make event source prepare()/check() note paused status
...
When events are paused, we should not return TRUE from prepare() or check().
GTK+ handles this for events that are already in the GTK+ queue, but
we also need suppress checks for events that are in the system queue - if we
return TRUE indicating that there are events in the system queue, then we'll
call dispatch(), and do nothing. The event source will spin, and will never
run the other phases of the paint clock.
(Broadway doesn't have a window system queue separate from the GDK event queue,
but we write the function the same way for consistency.)
https://bugzilla.gnome.org/show_bug.cgi?id=694274
2013-02-21 09:59:58 -05:00
Thomas Wood
00a107cc4c
wayland: don't attempt to unqueue events when events are paused
...
When events are paused, we should not return TRUE from prepare() or check().
GTK+ handles this for events that are already in the GTK+ queue, but
we also need suppress checks for events that are in the system queue - if we
return TRUE indicating that there are events in the system queue, then we'll
call dispatch(), and do nothing. The event source will spin, and will never
run the other phases of the paint clock.
https://bugzilla.gnome.org/show_bug.cgi?id=694274
2013-02-21 09:59:58 -05:00
Alexander Larsson
3c690c52ba
Avoid loop in paint update cycle
...
Commit 1db87c897f
accidentally removed
a check for !in_paint_idle in maybe_start_idle which causes us
to create a paint loop whenever something requests a phase
inside the paint_idle.
2013-02-19 21:12:48 +01:00
Benjamin Otte
de08716526
x11: Handle case where xsettings are NULL
2013-02-19 19:55:02 +01:00
Benjamin Otte
0ed47e1bb7
x11: Fix introspection build
...
File removal in bb4953f3e8
wasn't checked
in here.
2013-02-19 15:38:08 +01:00
Benjamin Otte
588513fc9a
x11: Get rid of XSettingsClient object
...
Instead, store its variables in the GdkX11Screen.
2013-02-19 14:33:39 +01:00
Benjamin Otte
3eef3290ad
x11: Use _gdk_x11_get_xatom_for_display_printf()
...
instead of keeping the atom around all the time
2013-02-19 14:33:39 +01:00
Benjamin Otte
13eeb6ca33
x11: Introduce _gdk_x11_get_xatom_for_display_printf()
...
and use it instead of caching the atom in the GdkScreenX11.
2013-02-19 14:33:39 +01:00
Benjamin Otte
b2043511ee
x11: Don't keep an "in_init" variable
...
Instead, track the init state with a boolean argument.
2013-02-19 14:33:39 +01:00
Benjamin Otte
200d6fe664
x11: Clean up xsettings header
...
- Don't use defines for renames
- Move enum into only source file using it
2013-02-19 14:33:38 +01:00
Benjamin Otte
e1efe3269c
x11: Get rid of XSettingsSetting
...
Use GValue throughout instead.
2013-02-19 14:33:38 +01:00
Benjamin Otte
84679ba78b
x11: Remove extra variable
...
Use a getter instead.
2013-02-19 14:33:38 +01:00
Benjamin Otte
78ce2563be
x11: Split xsettings event filter into 2 functions
...
One for each type of window we watch.
2013-02-19 14:33:38 +01:00
Benjamin Otte
f6d6e932de
x11: Make stored xsettings window a GdkWindow
2013-02-19 14:33:38 +01:00
Benjamin Otte
5507954e04
x11: Split function into two
...
Instead of a boolean is_start, have a start and an end function.
2013-02-19 14:33:38 +01:00
Benjamin Otte
8028a5b24a
x11: Use gdk_display_flush()
2013-02-19 14:33:38 +01:00
Benjamin Otte
c91843edea
x11: Get selection atom useing GDK functions
...
Don't call XInternAtoms ourselves.
2013-02-19 14:33:38 +01:00
Benjamin Otte
8596142336
x11: Warning improvements to xsettings code
...
... and using g_warning() instead of fprintf()
2013-02-19 14:33:37 +01:00
Benjamin Otte
01be4ce166
x11: Use usual Atom handling in xsettings code
2013-02-19 14:33:37 +01:00
Benjamin Otte
ed38dbe28f
x11: Consolidate root window event setting in one place
...
No need to duplicate things in xsettings code.
2013-02-19 14:33:37 +01:00
Benjamin Otte
9ed7e883f2
x11: Remove unused argument
2013-02-19 14:33:37 +01:00
Benjamin Otte
edf19ab7b4
x11: Store GDK name in xsettings hash table
...
The X name is only used while reading the property, so no need to keep
it.
2013-02-19 14:33:37 +01:00
Benjamin Otte
afa3d611d6
x11: Remove XSettingsAction type
...
Use GdkSettingAction instead.
2013-02-19 14:33:37 +01:00
Benjamin Otte
a4f11fa4f5
x11: Make xsettings callbacks code go away
...
It's the same callbacks every time, so just move them into the source
file.
2013-02-19 14:33:37 +01:00
Benjamin Otte
c3607fd551
x11: Don't store name in XSettingsSetting anymore
...
This is in preparation to switching XSettingsSetting to GValue
2013-02-19 14:33:36 +01:00
Benjamin Otte
30a4150c8e
x11: Use boolean instead of enum for errors in xsettings code
2013-02-19 14:33:36 +01:00
Benjamin Otte
23b039c8cd
x11: Move error reporting to where the error happens
...
Also, use g_warning() instead of fprintf().
2013-02-19 14:33:36 +01:00
Benjamin Otte
b36b89151e
x11: Move length checking into return_if_fail() macro
2013-02-19 14:33:36 +01:00
Benjamin Otte
e3206b9de4
x11: Use GDK error trapping code
2013-02-19 14:33:36 +01:00
Benjamin Otte
c84e303fb5
x11: Split out xsettings string reading code
2013-02-19 14:33:36 +01:00
Benjamin Otte
2b83062fc6
x11: Clean up xsettings header
...
Move private struct definitions into source file, remove unneeded C++
guards.
2013-02-19 14:33:36 +01:00
Benjamin Otte
0c58cb744c
x11: Add debugging output for xsettings code
2013-02-19 14:33:36 +01:00
Benjamin Otte
8857766b5a
gdk: Add a debug category for settings
2013-02-19 14:33:36 +01:00
Benjamin Otte
08a6f554c3
x11: Use glib malloc funcs for XSettings
2013-02-19 14:32:41 +01:00
Benjamin Otte
7800e68b73
x11: Call grab functions directly
...
... instead of going via vfuncs.
2013-02-19 14:32:41 +01:00
Benjamin Otte
eb4792128f
x11: Pass the GdkScreen to the XSettingsClient
2013-02-19 14:32:41 +01:00
Benjamin Otte
bb4953f3e8
x11: Fold xsettings-common.[ch] into xsettings-client.[ch]
2013-02-19 14:32:41 +01:00
Benjamin Otte
63f0797e70
x11: Return XSetting without copying
2013-02-19 14:32:41 +01:00
Benjamin Otte
1f95eddbda
x11: Don't store last change serial
...
It's unused anyway
2013-02-19 14:32:41 +01:00
Benjamin Otte
8fa1b2bb9d
xsettings: Remove XSettingsList type
...
Use GHashTable throughout
2013-02-19 14:32:41 +01:00
Benjamin Otte
d7ea5b5266
xsettings: Use glib byte order functions
2013-02-19 14:32:40 +01:00
Benjamin Otte
c1a4a1da10
xsettings: Remove unused function
...
Remove xsettings_client_new() and rename
xsettings_client_new_with_grab_funcs() to xsettings_client_new()
2013-02-19 14:32:40 +01:00
Rob Bradford
2145907cfe
wayland: Synthesize fullscreen window state change
2013-02-19 13:11:12 +00:00
Cosimo Cecchi
7d4976b46e
docs: add some missing gtk-doc blocks and Since tags for new API
2013-02-18 20:10:01 -05:00
Thomas Wood
fbc0572068
wayland: attempt to determine the possible parent surface for popups
...
Use the surface beneath the device that created the grab as the transient
parent for the popup surfaces.
https://bugzilla.gnome.org/show_bug.cgi?id=693913
2013-02-18 19:38:21 -05:00
Thomas Wood
ec43a1f72a
wayland: look further through the hierarchy for the surface with the grab
...
https://bugzilla.gnome.org/show_bug.cgi?id=693912
2013-02-18 19:38:21 -05:00
Owen W. Taylor
b61198cfcb
GdkWindow: don't leak the newly created frame clock
2013-02-18 15:25:52 -05:00
Alexander Larsson
5dbf814f0c
win32: Request higher precision timers during animations
...
The default windows timer resolution is 16msec, which is too little
for fluent animations (say at 60Hz). So, while a paint clock is
active we temporarily raise the timer resolution to 1 msec.
2013-02-18 17:14:25 +01:00
Owen W. Taylor
1db87c897f
Add gdk_frame_clock_begin/end_updating()
...
Add an API to start or stop continually updating the frame clock.
This is a slight convenience for applcations and avoids the problem
of getting one more frame run after an animation stops, but the
primary motivation for this is because it looks like we might have
to use timeBeginPeriod()/timeEndPeriod() on Windows to get reasonably
accurate timing, and for that we'll need to know if there is an
animation running.
https://bugzilla.gnome.org/show_bug.cgi?id=693934
2013-02-18 17:14:24 +01:00
Alexander Larsson
ead64bfedd
Remove unnecessary copy of GdkFrameClockIdlePrivate
2013-02-18 11:24:03 +01:00