summaryrefslogtreecommitdiff
path: root/plugins/wacom
Commit message (Collapse)AuthorAgeFilesLines
* plugins/wacom: Fix build without WAYLANDVlad Banea2020-02-181-1/+1
|
* plugins: Lower systemd stop timeoutBenjamin Berg2019-12-121-0/+1
| | | | | | | This prevents logout to hang if one of the g-s-d processes refuses to quit. That should never happen, but it does not hurt to configure systemd to kill the process already after 5 seconds rather than waiting up to 1 minute 30 seconds.
* plugins: Add systemd user service files for all the pluginsBenjamin Berg2019-08-053-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Using the facility added in the previous commit, we can add systemd user service files for all plugins and know when they have started up. This is roughly based on the work previously done by Iain Lane <iain@orangesquash.org.uk> and Bastien Nocera hadess@hadess.net>. For each g-s-d process we have a service and a target file. This separation only exists to contain dependency failures which would cause an OnFailure action to trigger and is needed so that we can use OnFailure for the gnome-session fail-whale (gnome-session-failed.target). In general, the approach taken is that we start g-s-d processes after gnome-session-initialized.target and before gnome-session.target. We want to be able to selectively start the services only when one or more dependencies are there, or even mask out services under some conditions. The approach taken is the following: * To mask a service, use a Conflicts entry. This is e.g. used to not start certain services in GDM using Conflicts=gnome-session@gnome-login.target * To depend on multiple targets to be up and running to start, we set each of these targets in Requisite/After/PartOf/WantedBy. We always do this for gnome-session-initialized.target but this method is extensible to any number of further targets (e.g. bluetooth.target)
* common: Pass old default and allow resetting when migrating settingsBenjamin Berg2019-05-271-2/+2
| | | | | | This is required for migrating keybindings. In some cases, the old default is now in a separate settings key, so we want to be able to reset the setting even if the user had set it explicitly.
* common: Pass new default value during schema migrationBenjamin Berg2019-05-271-2/+2
| | | | This will be required to migrate user settings of keybindings.
* wacom: Use G_DECLARE_FINAL_TYPE for GsdWacomManagerBenjamin Berg2019-03-222-79/+53
|
* wacom: Migrate 'display' setting to 'output' for opaque tabletsCarlos Garnacho2018-12-062-0/+62
| | | | | | Display mapping is user-settable on opaque tablets, thus it makes sense to migrate this setting to the new one. For other tablets, heuristics should apply, which is the behavior expected from the unset key.
* wacom: Replace GsdDeviceManager API with GDKCarlos Garnacho2018-12-064-68/+102
| | | | | For the remaining things, we can do with poking GdkDevices. This finally drops the last usage of the GsdDeviceManager abstraction.
* wacom: Drop GsdDeviceMapperCarlos Garnacho2018-12-061-28/+0
| | | | This functionality is being taken over by mutter.
* plugins: Add GDK_BACKEND #define for the GTK+ skeletonCarlos Garnacho2018-12-061-0/+1
| | | | | Not all plugins that use GDK mandate X11. Leave the allowed GDK backend (if any) as an individual plugin decision.
* build: Fix runtime linkage to libgsd and libcommonYanko Kaneti2018-02-091-0/+2
| | | | | - turns libcommon to a static uninstalled library - inject RPATH for libgsd in every installed plugin/executable
* build: Remove desktop generation duplicated commandsIñigo Martínez2018-02-051-10/+0
| | | | | | | | | | | | | | | | | | | | | | Every plugin generate an autostart desktop file, except `common` and `dummy` that are special cases. This desktop file generation is duplicated among the different plugin's build files. This code has been moved to the build file in the `plugins` directory, avoiding any code duplication. The downside of this is that meson is not able to generate files in a different directory, so all the files will be generated in the `plugin` directory, outside of the each plugin's directory. This is something that it's worked on in a different feature and it might be merged in the future. See https://github.com/mesonbuild/meson/pull/2617 https://bugzilla.gnome.org/show_bug.cgi?id=793087
* build: Remove autotoolsIñigo Martínez2018-02-051-73/+0
| | | | | | | To avoid the burden of maintaining multiple build systems, this patch removes autotools support. https://bugzilla.gnome.org/show_bug.cgi?id=793087
* build: Migrate from Intltool to GettextIñigo Martínez2018-02-052-6/+6
| | | | | | | | | | | | | Recent versions of Gettext are able to translate several formats that are used in GNOME applications. This patch migrates from Intltool to Gettext by using meson's i18n features. Explicit encoding has also been added to the gschema files due to an issue in gettext[0] with default encoding in XML files. https://bugzilla.gnome.org/show_bug.cgi?id=793087 [0] https://savannah.gnu.org/bugs/?52932
* build: Port to meson build systemIñigo Martínez2018-02-051-0/+74
| | | | | | | | meson is a build system focused on speed an ease of use, which helps speeding up the software development. This patch adds meson support along autotools. https://bugzilla.gnome.org/show_bug.cgi?id=793087
* wacom: Fix automake warning about redefining libexec_PROGRAMSPhilip Withnall2017-10-131-2/+0
| | | | | | Signed-off-by: Philip Withnall <withnall@endlessm.com> https://bugzilla.gnome.org/show_bug.cgi?id=788932
* wacom: Add both tablet and touchscreen devices on initial iterationCarlos Garnacho2017-09-221-7/+15
| | | | | | | | | | | The GsdDeviceManager::device-added callback would observe both display-attached tablets and touchscreens, but only the former were added in the initial loop. This made touchscreens not properly mapped to outputs, as touchscreens are usually built into the device. https://bugzilla.gnome.org/show_bug.cgi?id=787884
* wacom: Use GTK+ skeletonCarlos Garnacho2017-09-221-1/+1
| | | | | | | | The wacom module uses GDK resources indirectly through GsdDeviceMapper, which turn out NULL when this object tries to attach itself to a GdkScreen. https://bugzilla.gnome.org/show_bug.cgi?id=787884
* xrandr: Move GsdDeviceMapper handling to wacom pluginRui Matos2017-07-141-0/+3
| | | | | | | | | | GsdDeviceMapper's only remaining role is to map wacom tablets/touchscreens to outputs which logically belongs in the wacom plugin and is already being done there for some device types so let's move the other device type that was being handled here to that plugin too. https://bugzilla.gnome.org/show_bug.cgi?id=781907
* wacom: Don't init GTK+Bastien Nocera2017-03-281-1/+1
| | | | | | We don't use it. https://bugzilla.gnome.org/show_bug.cgi?id=780555
* wacom: Remove useless headersCarlos Garnacho2017-02-123-6/+2
| | | | | | | They're no longer needed. Also remove the notify_init() call since the wacom module no longer uses libnotify. https://bugzilla.gnome.org/show_bug.cgi?id=773958
* wacom: distcheck fixesCarlos Garnacho2017-02-121-3/+2
|
* wacom: Implement minimal data migrationCarlos Garnacho2017-02-101-0/+77
| | | | | | | Unfortunately we can't properly lookup the schemas for styli and button paths (that is, without a stylus or button path to construct settings paths from). However, support the tablet-wide settings on device hotplug.
* wacom: Detach of most responsibilitiesCarlos Garnacho2017-02-1017-8357/+130
| | | | | | | | | | | | | | | Settings for tablet devices are now managed by mutter, based on the gsettings-desktop-schemas peripherals schemas. This leaves the wacom plugin just in charge of: - Determining which output do display-attached tablets get. - Synchronizing LEDs/OLEDs to the right state, this will be triggered externally through the new SetGroupModeLED/SetOLEDLabels DBus methods. Everything else will be taken care of by mutter, both on Wayland and X11. https://bugzilla.gnome.org/show_bug.cgi?id=773958
* plugins: Use LIBM macro instead of hard-coding itBastien Nocera2016-10-111-5/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=772370
* main: Remove gnome-settings-plugin.hBastien Nocera2016-10-111-1/+4
| | | | | | | The plugin system is not used any more, and wasn't dist'ed, which broke building from tarballs. https://bugzilla.gnome.org/show_bug.cgi?id=772370
* build: Add separate GTK+ skeletonBastien Nocera2016-10-113-23/+9
| | | | | | | | | And simplify library requirements for each helper. This should allow us to trim the number of dependencies for each one of the helpers. This also moves the libnotify initialisation directly into the plugins that need it. https://bugzilla.gnome.org/show_bug.cgi?id=772370
* common: Remove use of SCHEMA_NAMEBastien Nocera2016-10-111-1/+0
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=772370
* plugins: Stop building helpers as pluginsBastien Nocera2016-10-113-88/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=772370
* plugins: Add desktop files for all the pluginsBastien Nocera2016-10-112-1/+18
| | | | | | So that the plugins can be started independently. https://bugzilla.gnome.org/show_bug.cgi?id=772370
* plugins: Rename sources of all test applicationsBastien Nocera2016-10-112-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=772370
* plugins: Remove "test" from the stand-alone program namesBastien Nocera2016-10-111-5/+5
| | | | | | | Those names will be the names of the binaries we'll run independently soon. https://bugzilla.gnome.org/show_bug.cgi?id=772370
* wacom: Avoid warnings when switching VTsBastien Nocera2016-10-081-0/+3
| | | | | | | | | | | | We get called for every removed GDK device, so check whether it's of interest early, instead after throwing a bunch of warnings. gsd-wacom[1884]: g_signal_handlers_disconnect_matched: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed gsd-wacom[1884]: gsd_wacom_device_get_device_type: assertion 'GSD_IS_WACOM_DEVICE (device)' failed gsd-wacom[1884]: gsd_wacom_device_get_settings: assertion 'GSD_IS_WACOM_DEVICE (device)' failed gsd-wacom[1884]: invalid (NULL) pointer instance https://bugzilla.gnome.org/show_bug.cgi?id=772581
* wacom: Fix memory leaksJason Gerecke2016-08-222-3/+33
| | | | | Several small leaks exist were found and fixed in the wacom plugin after running valgrind.
* wacom: Fix hot(un)plug related crashesJason Gerecke2016-08-222-3/+6
| | | | | | | | | | Most of the wacom plugin code protects X11 calls with gdk_error_trap_push/pop and prints a warning if something fails. There were two calls that were not protected, however, and one use of g_error instead of g_warning that would cause the g-s-d process to die if e.g. the tablet disappears while g-s-d is trying to work on it. https://bugzilla.gnome.org/show_bug.cgi?id=765996
* wacom: don't segfault when a device is removed while being configuredSebastien Bacher2016-05-301-0/+8
| | | | | | | Calls to open_device can return null, don't try to configure the device in those cases, it only leads to segfaults https://bugzilla.gnome.org/show_bug.cgi?id=766726
* wacom: Fix "format not a string literal" errorBastien Nocera2016-04-071-12/+14
| | | | | | | And remove extra argument to the formatting function that we wouldn't have been able to catch before. https://bugzilla.gnome.org/show_bug.cgi?id=764729
* wacom: Avoid crashing when opening the panel on wayland sessionsBastien Nocera2016-03-241-1/+2
| | | | | | | | | | | | We don't yet support wacom devices under wayland and GsdWacomDevice uses X APIs unconditionally which makes us crash under wayland. Instead, let's return early and leave the GsdWacomDevice in an invalid state which means that we just present the default UI for "no wacom devices detected". Backported from commit 888e40eae8f26823f2e9bf0c37c45eafad467d07 in gnome-control-center.
* wacom: Fix "format not a string literal" errorBastien Nocera2016-03-241-6/+21
|
* wacom: Unown the name when the plugin stopsBastien Nocera2016-03-101-0/+5
| | | | So that we can disable the plugin and run the test binary instead.
* wacom: Plug GsdWacomDevice leakCarlos Garnacho2016-01-221-0/+3
| | | | | We fetch the current pad device from the button-mapping OSD window through g_object_get(), which adds new references to GObjects.
* wacom: Remove weak ref from the button mapping osd window to the deviceCarlos Garnacho2016-01-221-0/+7
| | | | | It's not removed during finalization, so it's kept lingering, and called when the device is actually removed/destroyed.
* wacom: Remove double weak refCarlos Garnacho2016-01-221-2/+0
| | | | We're doing this call twice. This is safe, but unneeded.
* wacom: Ensure to reapply keep-aspect after monitor mapping changesCarlos Garnacho2015-11-031-0/+44
| | | | | | | Otherwise the mapping may come out wrong if during the initialization paths it first applies keep-aspect, and later maps to a single monitor. https://bugzilla.gnome.org/show_bug.cgi?id=753680
* common: Add GsdDeviceManager::device-changedCarlos Garnacho2015-11-021-0/+26
| | | | | | | | | | | | When devices are plugged, we may end up emitting GsdDeviceManager::device-added at a time when not all GdkDevices have been attached to the GsdDevice, this makes these devices occasionally not being applied the right keep-aspect/area settings. Add a GsdDeviceManager::device-changed signal, emitted for the GsdDevice for those situations, so the late-added devices are ensured to be updated. https://bugzilla.gnome.org/show_bug.cgi?id=753589
* wacom: Apply left handed modeCarlos Garnacho2015-11-021-1/+20
| | | | | | | | | | | | | | | | | | With the introduction of GsDeviceMapper (commit 0810de0f), left-handed mode became responsibility of this object, which was applied by applying an extra rotation to the device coordinate matrix. Later, the device coordinate matrix handling was lifted to mutter, although the rotation setting was kept in the g-s-d side of the settings split, so GsdDeviceMapper would listen to the wrong settings, and left-handed mode became no mans land. Put the application of this setting back into GsdWacomManager, again translated to the "Wacom Rotation" device property. Nonetheless, all settings should move eventually to mutter domain, and this turned again into modifications to the coordinate matrix. https://bugzilla.gnome.org/show_bug.cgi?id=749767
* wacom: Plug leaksCarlos Garnacho2015-11-021-0/+4
| | | | The device array returned must be freed.
* wacom: Read settings after connecting to changed::Carlos Garnacho2015-08-031-4/+4
| | | | | | | According to GSettings docs, one must read after connecting to changed:: in order to ensure the handler will trigger in the future. https://bugzilla.gnome.org/show_bug.cgi?id=753170
* wacom: Use macro for "oled-label" sign connectionBastien Nocera2015-08-031-1/+1
|
* wacom: Fix possible double-free in LED helperBastien Nocera2015-05-261-1/+2
| | | | | | | From coverity: gnome-settings-daemon-3.14.4/plugins/wacom/gsd-wacom-led-helper.c:130: double_free: Calling "g_free" frees pointer "status" which has already been freed. https://bugzilla.gnome.org/show_bug.cgi?id=749882