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
Jasper St. Pierre
ba6584a0d7
Move monitor-config to its own header file
2014-03-31 22:04:38 -04:00
Jasper St. Pierre
2a0289a216
Move the dummy monitor manager to his own subclass / file
2014-03-31 21:52:32 -04:00
Jasper St. Pierre
f6a73bcf22
cursor: Do less work if we don't have a connection to GBM at all
2014-03-31 19:14:56 -04:00
Jasper St. Pierre
59e064f610
cursor: Split out code that loads an image into a GBM buffer
2014-03-31 19:14:56 -04:00
Jasper St. Pierre
ba131626c2
cursor: Always use cogl_wayland_texture_2d_new_from_buffer
...
It makes our life so much easier.
2014-03-31 19:14:56 -04:00
Jasper St. Pierre
30ebf46aa4
cursor: Reindent
2014-03-31 19:14:56 -04:00
Jasper St. Pierre
da27735265
cursor: Refactor code to load cursor images out
...
We're going to make MetaCursorReference specialized and per-backend soon.
2014-03-31 19:14:55 -04:00
Jasper St. Pierre
78dbf8cb56
cursor: Split out the structure for the actual textures / buffers out
...
This will allow us to have a MetaCursorReference 'subclass' that's
lazily loaded. We currently always load all the images.
The long-term plan is to have a subclass for each "backend" and only
have CoglTexture as a common denominator. For the nested X11 backend,
we use XDefineCursor on our stage window. For the Wayland backend, we
would use set_cursor on our stage surface. For the native backend, we
would use the GBM code that's there right now.
The CoglTexture is there to be a "shared fallback" between all devices,
and also for the get_sprite API.
The odd man out is the X11 compositor case. For that, we need to move
the responsibility of setting the final cursor image out of
MetaCursorTracker, and simply have it be about tracking the used sprite
image and pointer position.
2014-03-31 19:09:08 -04:00
Jasper St. Pierre
f4e299ca46
cursor: Split out code that frees the MetaCursorReference
2014-03-31 18:27:20 -04:00
Jasper St. Pierre
f95f2b0c6d
cursor-tracker: Make set_root_cursor take a MetaCursorReference
2014-03-31 18:27:20 -04:00
Jasper St. Pierre
fe42a4eb4e
screen: Move XDefineCursor on the root window here
...
This is really an X11 front-end thing, so it doesn't belong in the
cursor tracker, which is a back-end thing.
2014-03-31 18:27:20 -04:00
Jasper St. Pierre
565883dadb
screen: Refactor update_cursor a bit
2014-03-31 18:27:19 -04:00
Jasper St. Pierre
be60e4f6e7
cursor-tracker: Make set_window_cursor take a MetaCursorReference as well
2014-03-31 18:27:19 -04:00
Jasper St. Pierre
fa60824096
cursor-tracker: Make set_grab_cursor take a MetaCursorReference
2014-03-31 18:27:19 -04:00
Jasper St. Pierre
0efb0b47eb
cursor: Move cursor caching layer to meta_cursor_reference_from_theme
2014-03-31 18:27:18 -04:00
Jasper St. Pierre
0f810a4e21
cursor: Refactor out code that loads from XcursorImage
2014-03-31 18:27:18 -04:00
Jasper St. Pierre
383d4c7e4e
cursor: Introduce accessors for the texture / GBM bo
...
We want to make this private, and have MetaCursorReference be
backend-defined, with the texture possibly loaded on demand.
We can't make the definition of MetaCursorReference truly private yet
because of the XFixes cursor. A victim of MetaCursorTracker trying to
do too many things at once...
2014-03-31 18:27:18 -04:00
Jasper St. Pierre
21425b5833
cursor-tracker: Split the code that loads MetaCursorReferences out
...
The plan here is to move the usage of these interfaces to the consumer,
and then slam the code into backends.
2014-03-31 18:27:18 -04:00
Jasper St. Pierre
863569b702
cursor-tracker: Split out the code that updates the new cursor
2014-03-31 18:27:17 -04:00
Jasper St. Pierre
5f52f55916
cursor-tracker: Start moving some code to a new file
...
I want the MetaCursorTracker to mostly be about retrieving cursor
information. Start moving the code that loads cursor images to a
new file, MetaCursor. Eventually, MetaCursorTracker's APIs will
all take MetaCursorReferences, and we can have a clean backend
split here.
2014-03-31 18:27:17 -04:00
Jasper St. Pierre
0aec98cf02
idle-monitor: Hack out assert fail
...
It seems that we're getting XSyncAlarmNotify events here as a Wayland
compositor for some reason. Just hack this one out for now.
2014-03-31 18:27:17 -04:00
Jasper St. Pierre
b64d14ff4a
cursor-tracker: Rearrange code
...
Move take_texture closer to where it's used, and add hot_x / hot_y args.
2014-03-31 15:22:31 -04:00
Jasper St. Pierre
08a8254deb
cursor-tracker: Move ref_count to the top
2014-03-31 15:22:31 -04:00
Jasper St. Pierre
11de01741c
cursor-tracker: Add a comment about what previous is
...
It confused me a bit.
2014-03-31 15:22:31 -04:00
Jasper St. Pierre
a7ea2cd365
cursor-tracker: Shadowing is bad, don't do it
2014-03-31 15:22:31 -04:00
Jasper St. Pierre
a15a4faff0
cursor-tracker: Remove unused constants
2014-03-31 15:22:30 -04:00
Jasper St. Pierre
b93176d89a
cursor-tracker: Kill off an unused include
2014-03-30 23:06:01 -04:00
Jasper St. Pierre
f842ea6d15
idle-monitor: Make the rest of the implementation-specific fields private
2014-03-30 23:04:39 -04:00
Jasper St. Pierre
422f2e5fe6
idle-monitor: Kill off an unused field
2014-03-30 23:00:10 -04:00
Jasper St. Pierre
3961f291e4
idle-monitor: Move the alarms field to the XSync backend
...
For whatever reason, this hash table was in the generic
implementation section instead of the XSync implementation,
even though it's only used by the XSync implementation.
Use it as a first pass of things to move over.
2014-03-30 22:55:54 -04:00
Jasper St. Pierre
61d8b35254
idle-monitor: Move watch implementations to be private to the subclass
2014-03-30 22:55:03 -04:00
Jasper St. Pierre
78457cf7b4
idle-monitor: Create separate subtypes for backend-specific idle monitors
...
The separation here isn't 100% clean yet, as there's common
parts that are still protocol specific. We'll clean that up
in the next commit.
2014-03-30 22:55:03 -04:00
Jasper St. Pierre
1e2bdcc3c5
idle-monitor: Move reset_idletime handling to events.c
...
It's not specific to the Wayland protocol at all, and it's not really
a Wayland compositor thing. This should eventually be in the native
backend.
2014-03-30 22:55:02 -04:00
Jasper St. Pierre
490e1c8c3b
idle-monitor: Split the DBus implementation to a separate file
2014-03-30 22:55:02 -04:00
Jasper St. Pierre
9a751a95e3
idle-monitor: Rearrange code to make it a cleaner split
...
We're going to push this to be subclasses soon.
2014-03-30 22:55:02 -04:00
Jasper St. Pierre
afce448281
Kill meta_ui_add_event_func / remove_event_func
...
The reason we don't simply use gdk_window_add_filter directly is
because of some twisted idea that any GDK symbol being used from
core/ is a layer violation. While we certainly want to keep any
serious GDK code out of ui/, event handling is quite important
to have in core/, so simply use a GDK event filter directly.
2014-03-30 22:55:01 -04:00
Jasper St. Pierre
b2405b701a
Move monitor manager headers to their own files
...
Instead of having them in monitor-private.h.
This way, it's easier to move our own backend when the chance arises.
2014-03-30 22:54:52 -04:00
Jasper St. Pierre
390c028da7
Rename the monitor backend filenames
...
To match the "meta-*" new-style naming.
2014-03-30 20:21:39 -04:00