Jasper St. Pierre
f0bf9c7fc3
wayland: Check for newly_attached everywhere
...
Instead of using commit_attached_buffer / actor_surface_commit.
We want to kill the return values of these methods because we
really should always be calling them, even if the surface doesn't
have a role.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
d0f0be8b03
wayland: Only set newly_attached if the buffer changes
...
This cleans up the check to determine if the buffer changed,
meaning we shouldn't have to pass it around like we needed
to do before.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
f5e77d7f63
wayland: Remove some extraneous code
...
This is already handled by the double_buffered_state_reset at the end.
2014-04-11 23:55:37 -07:00
Jasper St. Pierre
277879c11b
wayland: Small code style fix-up
2014-04-11 23:55:36 -07:00
Jasper St. Pierre
1a4c16659f
wayland: Remove an old comment
...
wl_buffer_release semantics are centrally managed, and the comment
is above something completely unrelated.
2014-04-11 23:55:36 -07:00
Jasper St. Pierre
239195c1d1
wayland: Rename commit_attached_surface to commit_attached_buffer
...
The buffer is the thing that's attached here, not the surface.
2014-04-11 23:55:28 -07:00
Jasper St. Pierre
7c4f4c6f36
wayland: Rename set_transient_for to set_parent
...
This is also something that we did upstream. Since we want to
introduce an explicit "xdg_transient" window type for tooltips
and popovers, and since "transient_for" is a confusing dumb
80s term lifted from the ICCCM spec, just rename it.
2014-04-11 23:54:11 -07:00
Jasper St. Pierre
e8447ad9bb
wayland: Rename the delete event to the close event
...
This was changed upstream a little while ago for C++ compatibility.
It's also the more common term for the operation: you close a window,
you don't delete one. In fact, a delete event might seem like it
would be about resource management instead.
2014-04-11 23:52:48 -07:00
Giovanni Campagna
c55f64fdf2
x11: fix enter/leave events for frames
...
We need to pass all events on frames to GTK, even if we handled
them internally, to make sure that the hover state is properly
updated.
2014-04-12 03:16:40 +02:00
Bastien Nocera
d53e04f4c8
Name all timeouts and idles
...
Better names can be used once we make more use of them.
https://bugzilla.gnome.org/show_bug.cgi?id=727979
2014-04-10 18:59:46 +02:00
Nirbheek Chauhan
b37223b9bb
window: Use guint8 for opacity internally
...
Except while reading _NET_WM_WINDOW_OPACITY, opacity is between 0 and 255. With
guint8, we'll get compiler warnings if arbitrary int values are passed.
https://bugzilla.gnome.org/show_bug.cgi?id=727874
2014-04-10 18:15:25 +02:00
Jasper St. Pierre
3ba8532bdc
Revert "wayland: make parallel installable with regular mutter"
...
This reverts commit ea3d2b4759
.
2014-04-09 15:14:11 -07:00
Jasper St. Pierre
912cf8ee5f
Merge branch 'wayland'
...
This has one regression: the basic touch support added by
Carlos Garnacho in 991c85f
is now partially reverted, since
we ported to Clutter events for this. We'll need to either
port his changes to Clutter, or restructure event handling
in mutter directly.
2014-04-09 14:54:13 -07:00
Jasper St. Pierre
85eab49b53
window-actor: Rearrange MetaWindowActorPrivate
...
This matches the wayland branch better, which makes it easier to merge.
2014-04-09 12:49:31 -07:00
Jasper St. Pierre
954677dcbd
window: Make sure to end the grab even if the last action was a snap
...
This seems to be a cherry-pick failure while we were switching event
handling around. This matches what the master branch does.
2014-04-09 12:40:13 -07:00
Alexander Larsson
d7c4f57aae
ui: Disable scaling support in Gtk+
...
We can't really support the Gtk+ automatic scaling, as to much
code relies on the GdkWindow and XWindow sizes, etc to match.
In order to keep working we just disable the scaling, meaning
we will pick up the larger fonts, but nothing else. Its not
ideal but it works for now.
https://bugzilla.gnome.org/show_bug.cgi?id=706388
2014-04-09 12:34:10 -07:00
Owen W. Taylor
ebbdfabed6
window-props.c: React to changes to _GTK_FRAME_EXTENTS
...
When _GTK_FRAME_EXTENTS changes, we need to redo constraints on
the window - this matters in particular if the toolkit removes
invisible borders when a window is maximized, since otherwise
the maximized window will be positioned as if it still has
invisible borders.
https://bugzilla.gnome.org/show_bug.cgi?id=714707
2014-04-09 12:20:45 -07:00
A. Walton
4396ac809b
screen: Name the guard window
...
So that extensons can recognize it, for the case where they
want to watch the window list.
https://bugzilla.gnome.org/show_bug.cgi?id=710346
2014-04-09 12:20:07 -07:00
Colin Guthrie
c2b9155979
MonitorXrandr: Mask a BadValue error on VirtualBox.
...
https://bugzilla.gnome.org/show_bug.cgi?id=707563
2014-04-09 12:19:11 -07:00
Robert Ancell
f68d65a5ae
xrandr: Use specified output property name for backlight control
...
Backlight controls are set using the "BACKLIGHT" XRANDR output property.
This should be "Backlight" according to the XRANDR spec [1].
Some drivers (Intel) export both properties and some only the specified property (nvidia).
Users of drivers that only export the specified property cannot change their backlight using XRANDR.
[1] http://cgit.freedesktop.org/xorg/proto/randrproto/tree/randrproto.txt section 9.1
https://bugzilla.gnome.org/show_bug.cgi?id=723606
2014-04-09 12:17:58 -07:00
Giovanni Campagna
42f267bb50
MonitorManager: make sure to pass the right sizes to vararg functions
...
A gulong is not enough to get 64 bits in all arches, so we must
cast it, or we can corrupt the stack.
This was downstream bug bugzilla.redhat.com/show_bug.cgi?id=1002055
https://bugzilla.gnome.org/show_bug.cgi?id=707267
2014-04-09 12:14:26 -07:00
Giovanni Campagna
e215f3f5eb
monitor-config: prevent assert that at least one output is connected
...
Apparently some connector technologies don't distinguish between
on and off, and there might be valid use cases for running without
any connected monitor.
In that case, just avoid any configuration at all.
https://bugzilla.gnome.org/show_bug.cgi?id=709009
2014-04-09 12:13:32 -07:00
Florian Müllner
7ac66faa72
tower: Fix erroneous return value
...
The function's return value is void, not gboolean.
2014-04-09 12:10:24 -07:00
Robert Bragg
d0b870d3a9
tower: make sure not to blend when updating tower
...
Each level in the tower is initialized by binding the texture for that
level to an offscreen framebuffer and rendering the previous level as a
textured rectangle. The problem was that we were blending the previous
level with undefined data so argb32 windows with transparencies would
result in artefacts. This makes sure to disable blending when drawing
the textured rectangle.
2014-04-09 12:10:17 -07:00
Jasper St. Pierre
99ad5c00a7
texture-tower: Remove CPU codepath for mipmap generation
...
The CPU codepath for mipmapping is unusably slow, and we expect modern
graphics cards with modern TFP/FBO support.
2014-04-09 12:10:00 -07:00
Jasper St. Pierre
797c46ba7d
events: Fix event handling for window menus under X11
...
We need to pass XI_Enter / XI_Leave events for GTK+ windows to GTK+,
rather than eating them.
2014-04-09 11:38:49 -07:00
Nirbheek Chauhan
ab0bd59f5e
window-props: _NET_WM_WINDOW_OPACITY range is 0xffffffff to 0
...
After reading the atom, scale the value from 0xffffffff to 0xff. Not doing so
causes Clutter to truncate the opacity value, and only read the last two digits.
Hence, 0x7fffffff (50%) becomes 0xff (100%).
https://bugzilla.gnome.org/show_bug.cgi?id=727874
2014-04-09 16:40:10 +02:00
Nirbheek Chauhan
0c0973bbd8
window-props: _NET_WM_WINDOW_OPACITY range is 0xffffffff to 0
...
After reading the atom, scale the value from 0xffffffff to 0xff. Not doing so
causes Clutter to truncate the opacity value, and only read the last two digits.
Hence, 0x7fffffff (50%) becomes 0xff (100%).
https://bugzilla.gnome.org/show_bug.cgi?id=727874
2014-04-09 16:39:08 +02:00
Rui Matos
feca0fb512
xwayland: Re-sync input focus when associating a surface to a window
...
When the MetaWindow is created we don't have the surface yet and thus
we can't set input focus to it so we need to try again when we get the
surface.
2014-04-09 11:20:28 +02:00
Jasper St. Pierre
2f229c3928
display: Remove code to calculate the above-tab keycode
...
We always know it will be KEY_GRAVE + 8.
2014-04-07 17:56:00 -04:00
Jasper St. Pierre
a730361d6c
Use libxkbcommon keysym names everywhere
2014-04-07 17:56:00 -04:00
Jasper St. Pierre
db058d4a81
keybindings: Use xkb_keysym_get_name
2014-04-07 17:56:00 -04:00
Jasper St. Pierre
15cf804dbc
keybindings: Eliminate the use of the stored modmap
...
We can simply check the XKB keysym here to see if it's a modifier.
2014-04-07 17:55:59 -04:00
Jasper St. Pierre
b38b037092
keybindings: Don't bother saving num_lock / caps_lock in MetaDisplay
...
It's unused outside of this one function.
2014-04-07 17:55:58 -04:00
Jasper St. Pierre
42bcad6549
display: Ignore the modmask passed into meta_display_begin_grab_op
...
A careful analysis of mutter's codebase shows that nothing actually
passes anything but 0 to this. gnome-shell has one instance, but it's
most likely a mistake.
Remove the grab_mask field and the one place in keybindings.c that uses it.
The parameter to begin_grab_op is left in for API compatibility reasons.
2014-04-07 17:45:52 -04:00
Jasper St. Pierre
b0ea0afd2f
display: Remove meta_display_get_ignored_modifier_mask
...
It's unused, in both here and in gnome-shell.
2014-04-07 17:16:29 -04:00
Jasper St. Pierre
1d08d75108
keybindings: Rename and move keysym_to_keycode
...
This makes it more what it's actually doing.
2014-04-07 16:02:08 -04:00
Jasper St. Pierre
4daf20483d
keybindings: Handle META_KEY_ABOVE_TAB in get_keycodes_for_keysym
...
We're going to switch to get_keycodes_for_keysym for the other
bindings, so add that special case here.
2014-04-07 16:01:24 -04:00
Jasper St. Pierre
96b6dcec01
display: Kill some bad whitespace
2014-04-07 16:00:17 -04:00
Jasper St. Pierre
9fe5a3b407
keybindings: Fix style
2014-04-07 16:00:17 -04:00
Jasper St. Pierre
a7d4713393
accel-parse: Add a notice about where the code came from
2014-04-07 11:25:16 -04:00
Jasper St. Pierre
4d4ecae2a1
accel-parse: Clean up trailing whitespace
2014-04-07 11:24:23 -04:00
Jasper St. Pierre
545c3b6678
accel-parse: Clean up error handling
...
Now that we have the code in-tree, we can change the API to actually
report an error rather than checking afterwards.
2014-04-07 11:21:36 -04:00
Jasper St. Pierre
e70f336a09
accel-parse: Use libxkbcommon for keysym parsing
...
This kills our dependency on GTK+ / GDK entirely.
2014-04-07 11:19:41 -04:00
Jasper St. Pierre
806f1742ac
accel-parse: Switch code to output MetaVirtualModifier directly
2014-04-07 11:19:40 -04:00
Jasper St. Pierre
0dc63f395d
accel-parse: Remove support for <Release>
2014-04-07 11:15:01 -04:00
Jasper St. Pierre
616f1a09b1
accel-parse: Add keycode parsing as well
2014-04-07 11:15:01 -04:00
Jasper St. Pierre
50e69109b6
accel-parse: Integrate Above_Tab parsing code directly into our copy
2014-04-07 11:15:01 -04:00
Jasper St. Pierre
242784d3e4
accel-parse: Copy the code from GTK+ in-tree
...
We can't use GTK+ for accelerator parsing under Wayland, since we
don't want to go through Xwayland to make that happen.
2014-04-07 11:14:35 -04:00
Jasper St. Pierre
0466fe9301
Move meta_ui_parse_accelerator into core/
...
We're currently using GTK+ for this, but we'll stop doing that fairly
quickly and instead just copy the GTK+ code in-tree.
2014-04-07 10:59:46 -04:00
Jasper St. Pierre
dbf5d8f9bc
ui: Kill off meta_ui_accelerator_name
...
It's unused.
2014-04-07 10:46:50 -04:00
Jasper St. Pierre
b9e9595e8b
errors: Kill off meta_error_trap_push_with_return
...
It isn't special; it's just an alias for meta_error_trap_push.
2014-04-07 10:37:03 -04:00
Jasper St. Pierre
75de29f5f7
errors: Remove vestigals of old error trap implementation
2014-04-07 10:37:03 -04:00
Jasper St. Pierre
e2b24092d6
events: Don't pass any X input events on to Clutter / GTK+
2014-04-07 10:37:02 -04:00
Jasper St. Pierre
0e6570b09b
events: Early exit when we get a SN notification event
...
Nothing else needs to see this.
2014-04-07 10:37:02 -04:00
Jasper St. Pierre
840378ae68
xprop: Don't use GDK for reading text properties
2014-04-07 10:37:02 -04:00
Jasper St. Pierre
4752776ebf
ui: Don't add our filter function twice
2014-04-06 15:19:04 -04:00
Jasper St. Pierre
c40868b239
xwayland: Fix rendering
...
Since we get the ClientMessage after the surface is created, there's
no good way to synchronize the two streams. In this case, what we
need to do is delay the surface commit until after we get the
ClientMessage. Ideally, we'd be using a better surface system overall
where committing the surface didn't depend on what type it is, but
oh well, this is a good short-term hack for now.
2014-04-02 13:24:58 -04:00
Jasper St. Pierre
a21e7a2188
wayland: Move surface_set_buffer back into the commits
...
For XWayland support, we need to delay the buffer set until after
we do the typechecking, as we need to bail out early in that case.
2014-04-02 13:24:58 -04:00
Jasper St. Pierre
371fba6843
wayland: Move the commit implementation to the top
...
We're going to need to expose commit as a public method for XWayland
support, so decouple it from the handler implementation.
2014-04-02 13:24:57 -04:00
Jasper St. Pierre
be02fa1120
xwayland: Switch to the new Xwayland DDX
2014-04-02 13:24:57 -04:00
Jasper St. Pierre
43730f1660
xwayland: Switch to SIGUSR1 to know when the X server has finished init
...
This is effectively the same, but since we lose the xserver.xml protocol
in the new XWayland DDX, we have to use SIGUSR1 anyway, so might as well
switch over now.
2014-04-02 13:16:10 -04:00
Jasper St. Pierre
4f609dbf5e
xwayland: Don't use glib after forking
...
glib doesn't have any guarantee about working after forking.
We can get away with it, but we're better off just not using it.
2014-04-02 13:04:31 -04:00
Jasper St. Pierre
2a7d12ba14
xwayland: Make failing to exec a fatal error
2014-04-02 13:03:29 -04:00
Jasper St. Pierre
c4c0b5f0ab
xwayland: Detect a fail to fork
2014-04-02 13:03:17 -04:00
Jasper St. Pierre
8373c90cd8
background: Remove load_still_frame
...
Nothing uses it, and it's incompatible with XWayland anyway.
2014-04-02 12:35:24 -04:00
Jasper St. Pierre
eb5b54dd8b
xwayland: Split another part of the initialization sequence out
...
This will be used from a SIGUSR1 handler.
2014-04-02 11:41:28 -04:00
Jasper St. Pierre
9653b79a35
xwayland: Split a helper out
...
This will make the next commit, which ports to the new ClientMessage
API, more understandable.
2014-04-02 11:41:28 -04:00
Jasper St. Pierre
e07bd15fc2
xwayland: Make file cosmetically modern
...
Put a modeline, include "config.h", and shift around the include ordering
2014-04-02 11:41:27 -04:00
Jasper St. Pierre
5cf0740b4e
xwayland: Fork the X server ourselves
...
gspawn just isn't us the fine-grained control we need for starting
processes and leaking file descriptors in.
2014-04-02 11:41:27 -04:00
Jasper St. Pierre
c540ddf59b
xwayland: Move display_name into choose_xdisplay
2014-04-02 11:41:27 -04:00
Jasper St. Pierre
a44295599c
xwayland: Split out the code that creates the XWayland sockets
2014-04-02 11:41:26 -04:00
Jasper St. Pierre
af272f2685
xwayland: Move global initialization down
2014-04-02 11:41:26 -04:00
Jasper St. Pierre
81d033ec73
xwayland: Use %m instead of manual strerror(errno)
2014-04-02 11:41:26 -04:00
Jasper St. Pierre
e9ee984921
wayland: Rename the wl_surface interface handlers
...
We usually name the method handlers after the direct name
of the interface methods. Do that for wl_surface as well.
2014-04-02 11:41:26 -04:00
Jasper St. Pierre
3c404c5db3
wayland: Replace make_toplevel / window_unmanaging with set_window
...
The make_toplevel / window_unmanaging interface has never made
a lot of sense to me. Replace it with set_window, which does
effectively the same thing.
It's still not perfect in the case of XWayland, but I don't think
XWayland will ever make me happy.
2014-04-02 11:41:07 -04:00
Jasper St. Pierre
e4cd000cef
wayland: Implement wl_seat v3
...
The new XWayland DDX flat out requires seat v3.
2014-04-02 11:40:40 -04:00
Jasper St. Pierre
6296fefea6
window-actor: Clean up has_shadow
...
This has some particularly picky #if 0'd code. Since the history for
it isn't illuminating in the slightest, I'm just going to kill it.
2014-04-02 11:40:04 -04:00
Jasper St. Pierre
c1e3a6b742
idle-monitor: Actually get the check for is_wayland_compositor correctly
...
If we're a Wayland compositor we shouldn't be taking this path, ever.
2014-04-01 16:05:53 -04:00
Jasper St. Pierre
dcd83b7365
idle-monitor-native: Remove another copy/paste error
...
Don't overwrite the watch with a new malloc'd variable.
2014-04-01 16:01:06 -04:00
Jasper St. Pierre
617b00dfbd
idle-monitor-native: Reindent
2014-04-01 15:52:11 -04:00
Jasper St. Pierre
94692414cb
idle-monitor-native: Fix copy/paste bug
2014-04-01 15:52:11 -04:00
Jasper St. Pierre
ab6bc76bfd
Move edid-parse to backends/
2014-04-01 14:35:04 -04:00
Jasper St. Pierre
57803f1d59
wayland-stage: Clean up and rename
...
It should be META_TYPE_WAYLAND_STAGE, not META_WAYLAND_TYPE_STAGE.
Well, actually, it *should* be META_TYPE_NATIVE_STAGE, because it's
not related to Wayland at all. But that comes later :)
2014-04-01 14:04:58 -04:00
Jasper St. Pierre
67b6737b27
backend: Fix warning
2014-04-01 14:04:53 -04:00
Jasper St. Pierre
29396014fd
backend: Fix the nested mode
2014-04-01 13:56:40 -04:00
Jasper St. Pierre
899d4d8477
monitor-manager: Move default get_edid_file / read_edid to base class
...
These are also used by the native manager.
2014-04-01 10:24:34 -04:00
Jasper St. Pierre
bce1d5117b
Start creating different subdirectories for each backend
2014-03-31 23:44:47 -04:00
Jasper St. Pierre
d5552cc372
Rename meta-xrandr-shared to meta-display-config-shared
2014-03-31 23:44:47 -04:00
Jasper St. Pierre
fd392cc1e7
Remove "xrandr" from the name of the generated DBus files
...
It's about generic display config, not XRandR specifically.
2014-03-31 23:44:47 -04:00
Jasper St. Pierre
b641d9d5a8
Rename the DBus interface files
2014-03-31 23:44:46 -04:00
Jasper St. Pierre
5bcc78498f
Move MetaLauncher to meta-backend
2014-03-31 23:44:46 -04:00
Jasper St. Pierre
521125b672
meta-wayland: Use meta_clutter_init
2014-03-31 23:44:45 -04:00
Jasper St. Pierre
89b931435d
Move meta_clutter_init into a new file
...
We'll use this to get the initialization between the Wayland and
X11 compositor codepaths back in sync.
2014-03-31 23:44:25 -04:00
Jasper St. Pierre
e22e9f5df5
main: Refactor some code slightly
2014-03-31 22:55:13 -04:00
Jasper St. Pierre
20547e3b63
Move weston-launch to backends/
...
It's about display servers, not Wayland integration.
2014-03-31 22:48:34 -04:00
Jasper St. Pierre
2cf185b4e4
Move mutter-Xatomtype to x11/
2014-03-31 22:13:12 -04:00
Jasper St. Pierre
229360b248
Start molding out a new src/backends/ dir
...
Right now this just has all of the files in one directory. We'll
be introducing more structure to this in the future, and build
a proper backend system.
2014-03-31 22:11:00 -04:00
Jasper St. Pierre
ccced506ed
Rename monitor => meta-monitor-manager
2014-03-31 22:05:24 -04:00
Jasper St. Pierre
28b9160c01
Rename monitor-config => meta-monitor-config
2014-03-31 22:05:22 -04:00