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
Alexander Larsson
05dfb7f594
[broadway] Fix css typo
...
rgb takes 3 params, rgba takes four.
2011-04-11 12:09:43 +02:00
Alexander Larsson
7a197e5b65
[broadway] Fix up frame size calculation
...
Turns out that offsetTop/Left doesn't contain the border, so we need
to manually add that in.
2011-04-11 12:09:43 +02:00
Alexander Larsson
2728cc9508
[broadway] Remove expensive transparency effects from css
2011-04-10 21:10:07 +02:00
Alexander Larsson
d6beabbff2
[broadway] Make the toplevel mode a url parameter
2011-04-10 20:16:13 +02:00
Alexander Larsson
fe79bbd618
[broadway] Position non-popup windows ourselves
...
We ignore the initial positions for non-popup windows, instead we
place the windows ourselves (or in the useToplevel mode by the WM).
2011-04-10 20:16:13 +02:00
Alexander Larsson
e5d8905cd2
[broadway] Fix up toplevel content visibility in useToplevel mode
...
surfaces.canvas may change if we move to another document, so
reupdate the element to show after ensureSurfaceInDocument.
2011-04-10 20:16:13 +02:00
Alexander Larsson
fadaced85f
[broadway] Move window to top when moving
2011-04-10 20:16:13 +02:00
Alexander Larsson
618dc872b0
[broadway] Add some initial work for in-window frames
...
The css is based on work by Jasper St Pierre:
http://magcius.mecheye.net/vista/
2011-04-10 20:16:13 +02:00
Alexander Larsson
69eafcc3c5
[broadway] Fix some typos in the js code
2011-04-10 20:16:13 +02:00
Alexander Larsson
930e43c710
[broadway] Use the right doctype for html5
2011-04-10 20:16:13 +02:00
Tristan Van Berkom
d2303bafae
Fix some crashes caused by unimplemented functions in GdkOffscreenWindow
...
These crashes happen when accessing GtkWindow properties and the
GdkWindow is an offscreen (fixes https://bugzilla.gnome.org/show_bug.cgi?id=647244 )
2011-04-09 02:00:18 +09:00
Matthias Clasen
fbf1093d5c
Free the translate queue when closing a display
...
Not that many people are ever going to hit this.
https://bugzilla.gnome.org/show_bug.cgi?id=645236
2011-04-08 21:34:25 -04:00
Matthias Clasen
9e6d3d969c
Fix some possible crashes if the default display is NULL
...
Unlikely that many people will hit these, but still.
https://bugzilla.gnome.org/show_bug.cgi?id=645176
2011-04-08 21:20:26 -04:00
Carlos Garnacho
db74a6e816
GdkDevice: Remove duplicate private function
...
_gdk_device_get_axis_use() dates back to pre-sealing, when the
xi2 work began, this remaining can be gone with a public
gdk_device_get_axis_use() function already in place.
2011-04-08 16:39:45 +02:00
Alexander Larsson
955f01cdf7
[broadway] Enable useToplevelWindow by default for now
2011-04-07 21:16:52 +02:00
Alexander Larsson
7128087cb4
[broadway] Implement selections
2011-04-07 20:21:22 +02:00
Alexander Larsson
cad40b24e2
[broadway] Remove unused hashtables
2011-04-07 20:20:51 +02:00
Alexander Larsson
d12a9a5e99
[broadway] Add gdk_broadway_display_get_last_seen_time
2011-04-07 20:18:13 +02:00
Alexander Larsson
42cbed6759
[broadway] Fix up header guards to not refer to gdkx.h
2011-04-07 20:04:48 +02:00
Alexander Larsson
f0e1115f80
[broadway] Add gdkbroadway.h public header
2011-04-07 19:25:16 +02:00
Alexander Larsson
095ccf9c11
[broadway] Serialize event times
...
Event times come from the browser and may change weirdly when we reconnect
with another browser, so we normalize these to be strictly increasing
and with a 5 second gap for each reconnect.
2011-04-07 19:12:51 +02:00
Alexander Larsson
9d974ca13a
[broadway] Fix typo in implicit grab support
...
We do an implicit grab if there is no grab already, not only if there is
one.
2011-04-07 15:26:37 +02:00
Alexander Larsson
dd07f534f4
[broadway] Handle screen size
...
Without this menu placement doesn't work right
2011-04-07 15:10:39 +02:00
Alexander Larsson
8c20b476df
[broadway] Track and report last and future state
...
This fixes the drawing area demo in gtk-demo
2011-04-07 14:36:30 +02:00
Alexander Larsson
1a7b76d49d
[broadway] Report mouse pointer coordinates right
...
The windows argument to device_query_state can be a client side
window, but we must only handle the "native" part of it (i.e.
window->impl->wrapper).
2011-04-07 14:29:26 +02:00
Alexander Larsson
43aac66458
[broadway] Fix all unnecessary warnings
2011-04-07 10:03:17 +02:00
Alexander Larsson
3b1fe05e78
[broadway] Wire up the delete event
2011-04-07 10:03:17 +02:00
Alexander Larsson
06fc6e007e
[broadway] Report right root coors in toplevel mode
2011-04-07 10:03:17 +02:00
Alexander Larsson
adc05ae6b7
[broadway] Add configure event for browser-side geometry changes
...
Atm this only works for the useToplevelWindows case, but we can add
a browser wm to make use of it inside the browser too.
2011-04-07 10:03:17 +02:00
Alexander Larsson
1365e93fad
[broadway] Add experimental toplevel window mode
...
This mode makes each toplevel window get its own browser window, with
popup windows using the browser window of their transient parent.
Its not idea, as you can't get rid of all browser chrome by default, and
it means popups (like menus) can't extend outside the toplevels. But, it is
kinda cool.
2011-04-07 10:03:17 +02:00
Alexander Larsson
8831efa735
[broadway] Fixup ungrab reference to old time variable
2011-04-07 10:03:17 +02:00
Alexander Larsson
05bda376f6
[broadway] Break out document setup into its own function
...
In the future we might have more documents (one per toplevel browser
window).
2011-04-07 10:03:17 +02:00
Alexander Larsson
06ad0f52e2
[broadway] Remove unused grab.time on browser side
2011-04-07 10:03:17 +02:00
Alexander Larsson
f53771cc1d
[broadway] Break out all command handling to separate functions
...
We don't want to mix up the argument parsing with the actual implementation.
2011-04-07 10:03:17 +02:00
Alexander Larsson
7c20d59411
[broadway] Make the surface object a plain js object, not the context
2011-04-07 10:03:17 +02:00
Alexander Larsson
9f848aaf30
[broadway] Centralize surface creation code in js
2011-04-07 10:03:17 +02:00
Alexander Larsson
199cd1548f
[broadway] Track window type in browser
2011-04-07 10:03:17 +02:00
Alexander Larsson
9c5c4223e3
[broadway] Track transient_for
2011-04-07 10:03:17 +02:00
Alexander Larsson
e1dcd6735e
[broadway] Remove unused query pointer message
2011-04-07 10:03:16 +02:00
Alexander Larsson
5b645357d6
[broadway] Don't roundtrip for getting current pointer location
...
Roundtrips are bad, and this gets called a lot, so we use all currently
availible future info to "emulate" a full roundtrip, but with much lower
cost.
2011-04-07 10:03:16 +02:00
Alexander Larsson
a0048d5e70
[broadway] Add _gdk_broadway_display_consume_all_input
...
This parses and queues all currently availible input data non-blockingly.
Useful to ensure the latest up-to-date future info.
2011-04-07 10:03:16 +02:00
Alexander Larsson
fdc2059edb
[broadway] Track future pointer events locations during parsing
...
We want this info so that we can avoid roundtrips and still get
a somewhat better querying for pointer locations.
2011-04-07 10:03:16 +02:00
Alexander Larsson
1fa952fb04
[broadway] Add helper for processing input at idle
2011-04-07 10:03:16 +02:00
Alexander Larsson
e113cf26fb
[broadway] Keep track of current real cursor window (sans grabs)
...
We need this to be able to do a non-roundtripping get-window.
2011-04-07 10:03:16 +02:00
Alexander Larsson
ee1657d88e
[broadway] Break out _gdk_broadway_display_read_all_input_nonblocking
...
This is useful in other places, like when we want to iterate over
all messages recieved so far.
2011-04-07 10:03:16 +02:00
Alexander Larsson
d664e78c94
[broadway] Make pointer grabs not roundtrip
...
Since we're really only initializing grabs (except for implicit
grabs at least) from the client side we might as well do all the grab
time checks on the client side to avoid unnecassary roundtrips.
2011-04-07 10:03:16 +02:00
Alexander Larsson
56d05e093d
[broadway] Save last event time seen
2011-04-07 10:03:16 +02:00
Alexander Larsson
8aad17592e
[broadway] Parse broadway input messages earlier
...
We now parse the broadway messages as soon as they are read from the wire.
This will let us sanely do lookahead in the message queue later.
2011-04-07 10:03:15 +02:00
Matthias Clasen
d46f0db38b
Make gdk_x11_window_set_theme_variant do nothing for non-toplevels
...
This avoids problems when calling this e.g. on offscreen windows.
2011-04-03 17:40:37 -04:00
Matthias Clasen
2226996b80
Keymap: properly initialize lock state
...
We need to get explicitly lock state initially, before we can
rely on state changed events to track it.
https://bugzilla.gnome.org/show_bug.cgi?id=645341
2011-04-03 17:39:31 -04:00
Matthias Clasen
31c036b9b4
Call _exit instead of exit from X error handlers
...
This is because running atexit() handlers from there is
usually bad news.
https://bugzilla.gnome.org/show_bug.cgi?id=646338
2011-03-31 19:59:00 -04:00
Garrett Regier
793d12d70d
Fix leaking calls to gdk_device_manager_list_devices()
...
gdk_device_manager_list_devices() returns a newly allocated list.
https://bugzilla.gnome.org/show_bug.cgi?id=645234
2011-03-21 10:37:10 -04:00
Garrett Regier
8d3810b0b6
Free the motion hint infos in GdkDisplay
...
https://bugzilla.gnome.org/show_bug.cgi?id=645235
2011-03-21 10:23:25 -04:00
Florian Müllner
3032fdce2a
window: Export theme variant to X11
...
The metacity theme format allows to use colors from the current
GTK+ theme in window decorations. Since GTK+ now gained support
for dark theme variants, window managers using that theme format
(metacity, mutter, compiz via gtk-window-decorator) should be able
to use colors from the correct variant; so in case a variant is
requested, export it in the _GTK_THEME_VARIANT property on
toplevel windows.
https://bugzilla.gnome.org/show_bug.cgi?id=645354
2011-03-21 15:06:34 +01:00
Dan Winship
605c383c78
GdkDeviceManagerXI2: process send_event core events
...
XSendEvent doesn't currently work with XI2 events, so add code to
translate core events when they have the send_event flag.
(We still don't actually select for core pointer/keyboard events, so
we will only receive send_event events that are sent with a 0
event_mask.)
https://bugzilla.gnome.org/show_bug.cgi?id=644847
2011-03-17 17:18:33 -04:00
Jasper St. Pierre
6ecfddf2e2
gdkkeyuni: Fix DEL for binary search
...
The list needs to be sorted in order for the binary search to work properly.
https://bugzilla.gnome.org/show_bug.cgi?id=644976
2011-03-16 20:09:13 -04:00
Matthias Clasen
66a77d0bc0
Make gdk_keyval_to_unicode return more codes
...
Previously, we didn't map ASCII controls to their Unicode
counterparts. Fix that.
https://bugzilla.gnome.org/show_bug.cgi?id=644836
2011-03-16 12:48:59 -04:00
Cosimo Cecchi
69b9794d9e
broadway: fix a build warning
2011-03-16 10:48:24 -04:00
Alexander Larsson
4fadd346fa
Merge branch 'broadway'
2011-03-15 13:00:24 +01:00
Alexander Larsson
9a26fd25af
broadway: Enable TCP_NODELAY for output socket
...
This makes us send data immediately, giving a much snappier
over-network experience.
2011-03-15 11:47:38 +01:00
Alexander Larsson
7605258890
broadway: Fix up whitespace and indentation for js code
2011-03-15 10:33:08 +01:00
Alexander Larsson
520dd09e8a
broadway: Use camelCase for all js code
2011-03-15 10:26:53 +01:00
Alexander Larsson
2635a27814
broadway: Fix flicker when resizing windows
...
Resizing a canvas causes a clear, so we have to save the previous
content and restore to avoid flickering.
2011-03-15 10:18:07 +01:00
Alexander Larsson
e3a2176a1f
broadway: double buffer window updates
...
Ensure that we're writing all the updates for a single rendering op
in one go without callbacks inbetween. That way some rendering will
be delayed, but the user will never see partial renderings.
2011-03-15 09:50:07 +01:00
Alexander Larsson
58c234e7d0
broadway: Don't crash if output is NULL
2011-03-15 08:50:18 +01:00
Alexander Larsson
4408e9d958
broadway: Implement gdk_broadway_device_window_at_position
...
This is required for ungrabs to work properly
2011-03-14 21:40:59 +01:00
Alexander Larsson
08f832908e
broadway: Ensure we begin a path when clipping
2011-03-14 20:59:28 +01:00
Alexander Larsson
acd72d0961
broadway: Do copy rects with compositing mode "copy"
2011-03-14 20:59:00 +01:00
Alexander Larsson
a5e5e2343c
broadway: Fix undefined variable error in js
2011-03-14 16:38:24 +01:00
Alexander Larsson
63c0198347
broadway: Start windows transparent rather than black
...
This avoids flashing
2011-03-14 16:04:34 +01:00
Alexander Larsson
084003953d
broadway: Make broadway port configurable with BROADWAY_DISPLAY
2011-03-14 15:58:55 +01:00
Alexander Larsson
9214796a4d
broadway: Report right coordinates on ungrab enter
2011-03-14 15:46:29 +01:00
Alexander Larsson
99d194b747
broadway: Fix various typos in mouse button event reporting
2011-03-14 15:24:25 +01:00
Alexander Larsson
ca203adc73
broadway: Fix up grab events, its "mode" not "detail" we send
2011-03-14 12:13:21 +01:00
Alexander Larsson
a1de735b87
broadway: Track button state
2011-03-14 12:09:19 +01:00
Alexander Larsson
e53abee805
broadway: Fix time in ungrab
2011-03-14 12:02:18 +01:00
Alexander Larsson
95b19bca33
broadway: Implement pointer grabs
2011-03-14 11:52:46 +01:00
Alexander Larsson
7d2ff79ddf
broadway: Fix some window coordinate reporting issues
2011-03-14 11:28:57 +01:00
Alexander Larsson
cf6bf44184
broadway: Remove debug code and fix whitespace issues
2011-03-14 11:21:37 +01:00
Alexander Larsson
c2ce462486
broadway: Add debug logging framework for js
2011-03-14 10:05:24 +01:00
Alexander Larsson
e2f8215751
broadway: Fix typo that broke window hiding
2011-03-14 09:51:54 +01:00
Alexander Larsson
6713fe9ca4
broadway: Get query_state window coords from browser side
2011-03-11 21:39:11 +01:00
Alexander Larsson
27848432c7
broadway: Split out getPositionsFromAbsCoord from getPositionsFromEvent
2011-03-11 21:28:39 +01:00
Alexander Larsson
54905a8986
broadway: Fix up a bunch of js style issues
2011-03-11 21:12:57 +01:00
Alexander Larsson
cc808ae063
broadway: Move event coordinate calculation to browser side
2011-03-11 21:10:23 +01:00