Commit Graph

4371 Commits

Author SHA1 Message Date
Carlos Garnacho
2a1a969d23 GdkWindow: Fix gdk_window_set_[device_]cursor() issues with root/foreign windows
It could be the case that gdk_window_set_cursor() is called on
pointers not yet known to the device tracking code in GdkDisplay,
so update the cursor on all master pointers.

The code actually updating the cursor for the given window has
been refactored out to gdk_window_set_cursor_internal(), used
in gdk_window_set_device_cursor() as well, which makes it handle
root/foreign windows too.

https://bugzilla.gnome.org/show_bug.cgi?id=649313
2011-05-04 01:00:42 +02:00
Martin Pitt
1e1cca8912 GdkWindow: Add missing (allow-none) annotations 2011-05-03 09:30:49 +02:00
Chun-wei Fan
527a299fdd Bug 643270: VS2010 Project Files (autotools)
-Update to distribute the VS2010 files.
-Added rules in Makefile.am's of GDK and GTK to fill in the
 project/filter files templates with up-to-date source file
 listings to simplify maintenace.

Any comments on the usage of the VS2010 files are welcome!
2011-04-27 00:48:05 +08:00
Michael Natterer
6c24a25751 gdk: add precondition checks to all GdkKeymap functions
so it warns instead of simply crashing. Also fix some whitespace
stuff.
2011-04-21 23:54:52 +02:00
Lapo Calamandrei
ce80929b83 [broadway] New adwaita based css for "wm"
Created by Lapo Calamandrei.
2011-04-19 08:30:21 +02:00
Alexander Larsson
dc56a51cec [broadway] Remove debug spew 2011-04-18 20:51:53 +02:00
Alexander Larsson
cfd8150759 [broadway] Use cairo to generate png uris 2011-04-18 20:51:53 +02:00
Alexander Larsson
0abd5e2767 [broadway] Stream data over websocket
The zlib compressed xmlhttprequest thing was a nice hack, but it doesn't
really work in production. Its not portable, doesn't have enought API
(missing notification for closed sockets) and having to synchronize
between two different connections in a reliable way is a pain.

So, we're going everything over the websocket. This is a pure switch,
but after this we want to modify the protocol to work better over
the uncompressed utf8 transport of websockets.
2011-04-18 20:51:53 +02:00
Alexander Larsson
2cb9ce954e [broadway] Remove old demo code 2011-04-18 20:51:53 +02:00
Alexander Larsson
02e9b97981 [broadway] Implement wm close in browser 2011-04-18 11:50:29 +02:00
Alexander Larsson
52074b4cac [broadway] Report most special keys in keypressed
Some special key keycode values as seen in keydown actually match
normal keys (like "." has a keyCode 46 on keyPress, which is the same
as Delete, but 190 for KeyDown). So we must match the special keys on
keypress. However, some things must be checked on keydown as they are not
generating keypress events.
2011-04-18 10:55:41 +02:00
Alexander Larsson
1fdd4915fc [broadway] Make close button text unselectable 2011-04-15 20:34:32 +02:00
Alexander Larsson
7f14b8bedf [broadway] Implement gdk_window_begin_resize_drag
This makes the resize grip work.
2011-04-15 20:34:32 +02:00
Alexander Larsson
c331d397f0 [broadway] Remove window from hashtable when destroyed 2011-04-15 20:34:32 +02:00
Alexander Larsson
66231a29b8 [broadway] Ungrab if grabbed window is destroyed 2011-04-15 20:34:32 +02:00
Alexander Larsson
22c250e324 [broadway] Correctly handle ungrabs in the browser side
Always call doUngrab to get the right event, and always do this
if the grabbed window is hidden or destroyed.
2011-04-15 20:34:31 +02:00
Alexander Larsson
887743728f [broadway] Handle keyboard modifiers in state 2011-04-14 21:36:42 +02:00
Alexander Larsson
01da867dac [broadway] Emulate hardware keycodes in keyboard events
We can't really know the client side keymaps, so we use the keysym
as the hardware keycode (essentially claiming to have a keyboard with
one key for all possible keysyms). This is not ideal, but its hard to
do better with no knowledge of the client side keyboard mappings.
(And html keyboard events suck badly...)
2011-04-14 21:36:42 +02:00
Alexander Larsson
7d37534ee2 [broadway] Implement keyboard event better
We're using the noVNC keyboard even handling model (and some of the
code with permissions). This means we combine data from keydown and
keypress to figure out the translated keysyms according to the keyboard
layout at the users machine.
2011-04-14 21:36:42 +02:00
Chun-wei Fan
f9ad0c61b2 Add gdk_win32_window_get_type into gdk.symbols
This symbol needs to be exported for GDK (Win32) so that the
runtime checks for Win32 backend usage can be done on
MSVC-compiled versions of GTK+ too.

I did not add the corresponding symbols for the other backend
though-they are probably exported automatically by GCC AFAIK.

This is done to make commit
9db4accf9c
work on MSVC
2011-04-14 23:48:49 +08:00
Matthias Clasen
4a6f5a6247 Fix make dist in gdk/broadway 2011-04-13 17:48:48 -04:00
Kristian Høgsberg
f75ea21dcd wayland: Remove non-existing gdkscreen-wayland.h from SOURCES 2011-04-13 14:34:26 -04:00
Dan Winship
91b5223001 GdkDeviceManagerXI2: don't set user_time on ButtonRelease
The XI2 device manager was mistakenly setting the window user_time on
both ButtonPress and ButtonRelease, which meant that processes that
tried to launch another process based on the time of a ButtonPress
event would end up always focus-stealing-preventing the new app.

https://bugzilla.gnome.org/show_bug.cgi?id=647275
2011-04-12 12:53:47 -04:00
Matthias Clasen
611a67b350 GdkWindowImplX11: Struct packing improvements 2011-04-12 12:14:07 -04:00
Matthias Clasen
1c4cb29475 GdkX11Screen: Struct packing improvements 2011-04-12 12:13:56 -04:00
Matthias Clasen
879202b9c2 GdkX11DragContext: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
cef996d57e GdkX11DeviceXI: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
20c8b765a5 GdkScreen: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
220ba87ec0 GdkWindow: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
14ad1fab8e GdkDisplay: Struct packing improvements 2011-04-12 12:13:55 -04:00
Matthias Clasen
63c4bb5563 GdkCursor: Struct packing improvements 2011-04-12 12:13:55 -04:00
Kristian Høgsberg
c7514e8f0d Merge branch 'gdk-backend-wayland'
Conflicts:
	Makefile.am
	configure.ac
	gdk/Makefile.am
	gtk/gtksettings.c
	gtk/gtkwindow.c
2011-04-12 09:52:44 -04:00
Alexander Larsson
85c1c22d04 [broadway] Cancel key events after seeing them 2011-04-12 13:38:04 +02:00
Alexander Larsson
afdde925b8 [broadway] Fix canvas resize when resizing browser window
We always have to resize the canvas, even when its in a toplevel.
2011-04-12 11:34:13 +02:00
Alexander Larsson
20542b0ead [broadway] Fix typo 2011-04-12 11:21:47 +02:00
Alexander Larsson
f4bef2c720 [broadway] Combine window move and resize into one op
This way we avoid sending a configure event for the inbetween state
if we're resizeing and moving at the same time.
2011-04-12 11:12:39 +02:00
Alexander Larsson
ca49ec2c8c [broadway] Fix various js warnings 2011-04-12 11:12:39 +02:00
Alexander Larsson
840df5c7c1 [broadway] Add stacktrace debugging functions 2011-04-12 11:12:39 +02:00
Alexander Larsson
2934569781 [broadway] Always send configure events from browser
As soon as something changes, even if it was a request from the user
we send a configure event. If not we might race with a app-side
generated configure event.

For instance, a create + resize might create only a configure event for
the create in the browser, but that may get to the app after the app-side
configure event for the resize, overriding the new size.
2011-04-12 11:12:39 +02:00
Alexander Larsson
ddcbd8234b [broadway] When resyncing, first create all windows then set attributes
Some attributes (like transient parent) depende on other windows being
there, so we create all first.
2011-04-12 11:12:39 +02:00
Alexander Larsson
4bbc45380b [broadway] More complete handling of transient parent
We now handle any order of transient being set and windows shown/created
2011-04-12 11:12:39 +02:00
Alexander Larsson
75dc3f3a07 [broadway] Use mozInnerScreenX & co to get window position
This way we don't have to rely on any event, which won't work until
we get an event.
2011-04-12 11:12:38 +02:00
Alexander Larsson
8a7e208bb2 [broadway] Parse x/y as signed 2011-04-12 11:12:38 +02:00
Alexander Larsson
4cb979d6b9 [broadway] Update window geometry after showing window 2011-04-12 11:12:38 +02:00
Alexander Larsson
4c575ac343 [broadway] Don't cache surface.transientToplevel as that might change at various times 2011-04-12 11:12:38 +02:00
Alexander Larsson
7b3b4a6ad9 [broadway] Correctly track remote visible state
GDK_WINDOW_IS_MAPPED is not false for withdrawn windows, so we need
to track real visibility ourselves.
2011-04-11 12:09:43 +02:00
Alexander Larsson
33d16b16c9 [broadway] Clean up js side surface handling
* Always calculate the context, don't store in surface.
* Store the toplevel element (frame or canvas) for easy access.
* Always use visibility hidden rathern than display none to hide windows,
  as this means we can always rely on dom positioning info.
2011-04-11 12:09:43 +02:00
Alexander Larsson
27c4d104fb [broadway] Restack on window show to ensure all zIndexes are right 2011-04-11 12:09:43 +02:00
Alexander Larsson
c839f2910c [broadway] Store surface, not id in stackingOrder list 2011-04-11 12:09:43 +02:00
Alexander Larsson
ace1c4c284 [broadway] Set transient-for before showing window
When syncing windows, make sure we set transient-for before showing
the window to avoid it being visible with the wrong transient-for
(i.e. possibly on the wrong browser window).
2011-04-11 12:09:43 +02:00