summaryrefslogtreecommitdiff
path: root/src/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* Make it possible to include private cogl API from mutterJonas Ådahl2016-07-201-0/+2
| | | | | | | If we want to put a cogl winsys backend in mutter, that backend need to have access to the internal workings of cogl. https://bugzilla.gnome.org/show_bug.cgi?id=768976
* Make mutter manage its own clutter backendsJonas Ådahl2016-07-201-0/+4
| | | | | | | | | Introduce two new clutter backends: MetaClutterBackendX11 and MetaClutterBackendNative. They are so far only wrap ClutterBackendX11 and ClutterBackendEglNative respectively, but the aim is to move things from the original clutter backends when needed. https://bugzilla.gnome.org/show_bug.cgi?id=768976
* Let gdbus-codegen generate autocleanup definitionsMatthias Clasen2016-05-051-0/+3
| | | | | This used to be the hardcoded behavior, but it broke some other users, so it was made conditional and default off.
* wayland: Add MetaWaylandTabletManagerCarlos Garnacho2016-05-031-0/+2
| | | | | | | This struct keeps the server side information for the wl_tablet_manager global resource. It keeps the clients requesting this interface, and does keep track of the plugged tablet devices, so wl_tablet_manager.device_added is emitted on the expected clients.
* wayland: Add MetaWaylandTabletSeatCarlos Garnacho2016-05-031-0/+2
| | | | This object groups all the tablets/tools pertaining to a given seat.
* wayland: Add MetaWaylandTabletToolCarlos Garnacho2016-05-031-0/+2
| | | | | This struct holds the server-side information of a wl_tablet_tool, which represents an specific tool of an specific tablet, and is unique as such.
* wayland: Add MetaWaylandTabletCarlos Garnacho2016-05-031-0/+2
| | | | | This (very basic at the moment) struct keeps server-side information for wl_tablet resources.
* protocol: Generate code for the tablet protocolCarlos Garnacho2016-05-031-0/+2
| | | | This is provided by wayland-protocols
* wayland: Refactor MetaWaylandSurfaceRoleCursorCarlos Garnacho2016-05-031-0/+2
| | | | | | | | | | | | | | | | Move into a standalone meta-wayland-surface-role-cursor.[ch], and make generic enough to work for pointe and additional (eg. tablet) cursors. Most notably, the sprite is now kept completely internal to the cursor role, and updates are routed through the given MetaCursorRenderer (which may be the default one for the pointer, or something else). The way cursor updates after cursor surface destruction has also been reworked, the pointer will just keep track of the last cursor surface, so older surfaces being destroyed don't trigger pointer rechecks/updates.
* wayland: Split out shell surface code from meta-wayland-surface.cJonas Ådahl2016-05-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | Move xdg_shell related functionality to a new meta-wayland-xdg-shell.c and wl_shell related functionality to a new meta-wayland-wl-shell.c, and adapt role object tree. Common functionality related to the surface being drawn as a MetaSurfaceActor was moved to a MetaWaylandSurfaceRoleActorSurface role. The subsurface role GObject is made to inherit the actor surface GObject. Shell surface hooks (configure, ping, close, popup done) were added to a MetaWaylandSurfaceRoleShellSurface GObject which inherits the surface actor role GObject. The shell surface roles (xdg_surface, xdg_popup, wl_shell_surface) are made to inherit the shell surface GObject and implement the relevant API. https://bugzilla.gnome.org/show_bug.cgi?id=757623 https://bugzilla.gnome.org/show_bug.cgi?id=763431
* Revert "build: Set rpath of standalone executable"Florian Müllner2016-04-281-1/+0
| | | | | | | Within the mutter module we use the .la file to link cogl/clutter, so this isn't actually needed. This reverts commit 576fe6e16bedb8848404e6335a9bd2ac7400aeeb.
* build: Set rpath of standalone executableFlorian Müllner2016-04-281-0/+1
| | | | | We now link to cogl/clutter forks in a private location, so make sure to point the runtime linker to the correct location.
* Fix the merged buildRui Matos2016-04-271-1/+12
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=760439
* wayland: Add gtk-primary-selection protocolCarlos Garnacho2016-02-261-0/+3
| | | | | | | | This protocol is an internal mirror of the primary selection drafts being proposed for wayland-protocols. No changes besides prefix/suffix changes. https://bugzilla.gnome.org/show_bug.cgi?id=762560
* core: Refactor startup notification into a separate objectCarlos Garnacho2016-02-191-0/+2
| | | | | | | | | | | | | | This is kind of in a middle ground at the moment. Even though it handles sequences not coming from libsn, they're added nowhere at the moment, we'll rely on the app launch context being in the x11 side at the moment. Also, even though we do create internal sequence objects, we keep exposing SnStartupSequences to make gnome-shell happy, we could consider making this object "public" (and the sequence objects with it), things stay private at the moment. https://bugzilla.gnome.org/show_bug.cgi?id=762268
* Implement support for the wp_pointer_constraints protocolJonas Ådahl2016-02-161-0/+10
| | | | | | | | | | | | | | | | | | | | | | The wp_pointer_constraints protocol is a protocol which enables clients to manipulate the behavior of the pointer cursor associated with a seat. Currently available constraints are locking the pointer to a static position, and confining the pointer to a given region. Currently locking is fully implemented, and confining is implemented for rectangular confinement regions. What else is lacking is less troublesome semantics for enabling the lock or confinement; currently the only requirement implemented is that the window that appears focused is the one that may aquire the lock. This means that a pointer could be 'stolen' by creating a new window that receives active focus, or when using focus-follows-mouse, a pointer passes a window that has requested a lock. This semantics can be changed and the protocol itself allows any semantics as seems fit. https://bugzilla.gnome.org/show_bug.cgi?id=744104
* Move out generic math parts out of the native barrier implementationJonas Ådahl2016-02-161-0/+2
| | | | | | | | | In order to reuse some vector math for pointer confinement, move out those parts to its own file, introducing the types old types "MetaVector2" and "MetaLine2" outside of meta-barrier-native.c, as well as introducing MetaBorder which is a line, with a blocking direction. https://bugzilla.gnome.org/show_bug.cgi?id=744104
* wayland: Implement support for wp_relative_pointerJonas Ådahl2016-02-161-0/+2
| | | | | | | | | | Add support for sending relative pointer motion deltas to clients who request such events by creating wp_relative_pointer objects via wp_relative_pointer_manager. This currently implements the unstable version 1 from wayland-protocols. https://bugzilla.gnome.org/show_bug.cgi?id=744104
* wayland: Use xdg shell protocol from wayland-protocolsJonas Ådahl2015-11-261-3/+2
| | | | | | | | | Use the xdg_shell XML file installed by wayland-protocols instead of our own copy. This protocol has yet to go through any unstable naming, but since we had an outdated (though wire compatible) version, some minor changes were needed. https://bugzilla.gnome.org/show_bug.cgi?id=758633
* wayland: Use pointer gestures protocol from wayand-protocolsJonas Ådahl2015-11-261-3/+16
| | | | | | | | | | Remove our own copy of the pointer gestures protocol, and us the one installed by wayland-protocols. This also means the new fixed unstable naming conventions are used for the new version of the protocol, which is reflected in the change. No functional changes were made, it is only a rename. https://bugzilla.gnome.org/show_bug.cgi?id=758633
* backends/x11: Draw our own cursor sprite when running nestedJonas Ådahl2015-09-131-0/+2
| | | | | | | | | Use a specialized cursor renderer when running as a nested Wayand compositor. This new renderer sets an empty X11 cursor and draws the cursor as part of the stage using the generic cursor renderer drawing path. https://bugzilla.gnome.org/show_bug.cgi?id=744932
* backends: Get rid of meta-cursor-private.hJonas Ådahl2015-08-281-1/+0
| | | | | | | | There is nothing special about the private API which only consists of getters for renderer specific backing buffer. Lets them to the regular .h file and treat them as part of the normal API. https://bugzilla.gnome.org/show_bug.cgi?id=744932
* wayland: Implement wl_pointer_gesturesCarlos Garnacho2015-08-101-0/+2
| | | | | | The global wl_pointer_gestures object is now created, effectively bridging pinch/swipe gestures with clients, so they're now accessible to clients implementing the protocol.
* wayland: Implement the wl_pointer_gesture_pinch interfaceCarlos Garnacho2015-08-101-0/+2
| | | | | The pinch gesture resources are part of the MetaWaylandPointerClient, which will be used during the propagation of CLUTTER_TOUCHPAD_PINCH events.
* wayland: Implement the wl_pointer_gesture_swipe interfaceCarlos Garnacho2015-08-101-0/+2
| | | | | The swipe gesture resources are part of the MetaWaylandPointerClient, which will be used during the emission of CLUTTER_TOUCHPAD_SWIPE events.
* wayland: Add gestures protocol XMLCarlos Garnacho2015-08-101-0/+3
|
* compositor: Add support for GL_EXT_x11_sync_objectRui Matos2015-08-071-0/+2
| | | | | | | | | | | | | | If GL advertises this extension we'll use it to synchronize X with GL rendering instead of relying on the XSync() behavior with open source drivers. Some driver bugs were uncovered while working on this so if we have had to reboot the ring a few times, something is probably wrong and we're likely to just make things worse by continuing to try. Let's err on the side of caution, disable ourselves and fallback to the XSync() path in the compositor. https://bugzilla.gnome.org/show_bug.cgi?id=728464
* compositor: Export meta_shadow_factory_get_shadow to introspectionJasper St. Pierre2015-07-061-0/+1
| | | | I forgot we had a separate list of headers for introspection to scan.
* Export the shadow factoryJasper St. Pierre2015-07-061-2/+1
| | | | | | | | | The elementary guys would like this as an API, and I don't see any reason to refuse -- this is quite nice shadow painting code :) For some reason, gobject-introspection can't seem to cope with MetaWindowShape. I'll look into it a bit later, but for now, mark the function it has trouble with as (skip).
* Install enum typesJasper St. Pierre2015-07-051-14/+15
|
* wayland: Make MetaWaylandDataSource ownership protocol specificJonas Ådahl2015-06-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Firstly, this patch makes MetawaylandDataSource a GObject. This is in order to easier track its lifetime without adding destroy signals etc. It also makes the vfunc table GObject class functions instead while at it, as well as moves protocol specific part of the source into their own implementations. An important part of this patch is the change of ownership. Prior to this patch, MetaWaylandDataDevice would kind of own the source, but for Wayland sources it would remove it if the corresponding wl_resource was destroyed. For XWayland clients it would own it completely, and only remove it if the source was replaced. This patch changes so that the protocol implementation owns the source. For Wayland sources, the wl_resource owns the source, and the MetaWaylandDataDevice sets a weak reference (so in other words, no semantical changes really). For XWayland sources, the source is owned by the selection bridge, and not removed until replaced or if the client goes away. Given the changes in ownership, data offers may now properly track the lifetime of a source it represents. Prior to this patch, if an offer with an XWayland source would loose its source, it wouldn't get notified and have an invalid pointer it would potentally crash on. For Wayland sources, an offer would have a weak reference and clean itself up if the source went away. This patch changes so the behavior is consistent, meaning a weak reference is added to the source GObject so that the offer can behave correctly both for Wayland sources and XWayland sources. https://bugzilla.gnome.org/show_bug.cgi?id=750680
* x11: Remove async-getpropJasper St. Pierre2015-06-171-2/+0
| | | | xcb can do this for us now.
* wayland: Add X11/wayland selection interoperationCarlos Garnacho2015-05-151-0/+1
| | | | | | | | | | | | | | | | | This piece of code hooks in both wl_data_device and the relevant X selection events, an X11 Window is set up so it can act as the clipboard owner when any wayland client owns the selection, reacting to SelectionRequest events, and returning the data from the wayland client FD to any X11 requestor through X properties. In the opposite direction, SelectionNotify messages are received, which results in the property contents being converted then written into the wayland requestor's FD. This code also takes care of the handling incremental transfers through the INCR property type, reading/writing data chunk by chunk. https://bugzilla.gnome.org/show_bug.cgi?id=738312
* window-wayland.[ch] => meta-window-wayland.[ch]Jasper St. Pierre2015-04-271-2/+2
| | | | This finishes off the meta- prefix for wayland/.
* Move atomnames.h to x11/Jasper St. Pierre2015-04-271-9/+4
| | | | This should *not* be part of the public API.
* wayland: Move out popup logic to its own fileJonas Ådahl2015-02-171-0/+2
| | | | | | | | | We'll want to expose popup logic outside of meta-wayland-pointer.c and one day we'll also probably want to add touch support for popups, so lets move it to its own file. There are no significant semantical changes, only refactoring. https://bugzilla.gnome.org/show_bug.cgi?id=744452
* monitor-manager: Expose MetaMonitorManager to introspectionRui Matos2015-01-301-1/+3
| | | | | | | | This just exposes the type and the singleton getter necessary to make it available to introspection. We'll expose more functionality as it becomes needed. https://bugzilla.gnome.org/show_bug.cgi?id=743745
* backends/native: Implement support for pointer barriersJonas Ådahl2015-01-191-0/+3
| | | | | | | | | | When running as a dispay server pointer barriers are a server side feature and requires no client interaction of any sort. This patch implements pointer barriers that can be used when running as a display server on the native backend. Running as a display server using the X11 backend is currently not supported. https://bugzilla.gnome.org/show_bug.cgi?id=706655
* backends/native: Add libinput-based MetaInputSettings implementationCarlos Garnacho2015-01-181-0/+2
| | | | | | | The libinput_device is fetched from the ClutterInputDevice, and configured through the libinput_device_*config* API. https://bugzilla.gnome.org/show_bug.cgi?id=739397
* backends/x11: Implement X11-specific MetaInputSettingsCarlos Garnacho2015-01-181-0/+2
| | | | | | | | This goes through modifying XI2 device properties, either common ones (eg. set on every device) or those specific to the libinput X11 driver. Keyboard repeat/rate are set through core and XKB APIs. https://bugzilla.gnome.org/show_bug.cgi?id=739397
* backends: Add MetaInputSettingsCarlos Garnacho2015-01-181-0/+2
| | | | | | | | | | | | | | | | This object internally keeps track of the relevant input configuration, and goes through its vmethods in order to apply the configuration on the backend-specific devices. So far, only mouse/touchpad settings are actually attached to GSettings changes. ::set_matrix(), meant for tablets/touchscreens, is not hooked yet. One caveat is that meta_input_settings_create() may return NULL if the backend does not own the windowing system (wayland nested on X11 being the one case), and thus device settings can't be changed freely. https://bugzilla.gnome.org/show_bug.cgi?id=739397
* barriers: Separate implementation from public APIJonas Ådahl2015-01-171-1/+4
| | | | | | | | | | | | This patch removes the X11 specific code from MetaBarrier and creates an abstraction layer MetaBarrierImpl. The existing X11 implementation is moved to a new GObject MetaBarrierImplX11 implementing the abstract interface MetaBarrierImpl which is instantiated by MetaBarrier when supported. While at it, move it to backends/ and properly name the files. https://bugzilla.gnome.org/show_bug.cgi?id=706655
* libmutter: Only export meta_* symbols in the libraryJasper St. Pierre2014-12-291-1/+1
| | | | We also need ag_* symbols for testasyncgetprop.
* Move the resizepopup to a compositor-side featureJasper St. Pierre2014-12-291-2/+0
| | | | | This is the last big feature that requires X11 on Wayland, so let's just trash it and make GNOME Shell reimplement it.
* Remove all support for the metacity formatFlorian Müllner2014-12-291-1/+0
| | | | | | | | | | Rest in peace you magnificent format, love-child of arcane X11 drawing API and markup craze, you will not be missed. We do remember however the bravery of a many men and women, who fearlessly descended into the guts of your intrinsics and turned ugliness into beauty; their work will still be spoken of when you will long have been forgotten. https://bugzilla.gnome.org/show_bug.cgi?id=741917
* Makefile: Use $(NULL) trickJasper St. Pierre2014-11-041-18/+27
| | | | This helps make the Makefile look nicer and prevent merge conflicts.
* theme: Remove our own gradient stuffJasper St. Pierre2014-10-141-3/+0
| | | | | | | | Part one of porting to cairo. Thanks to Benjamin Otte for helping me clean this up. https://bugzilla.gnome.org/show_bug.cgi?id=662962
* wayland: Move MetaWaylandRegion into a new file as wellJasper St. Pierre2014-10-071-0/+2
|
* wayland: Put the MetaWaylandBuffer implementation in a new fileJasper St. Pierre2014-10-071-0/+2
|
* compositor: Add MetaDnDActorCarlos Garnacho2014-10-061-0/+2
| | | | | | This actor is a subclass of MetaFeedbackActor that additionally implements the "drag failed" animation, snapping back to the drag origin position in a surface.