Gimp/libgimpwidgets
Niels De Graef dcf0f9e7f4 libgimpwidgets: Use Screenshot portal for picking
Freedesktop (XDG) portals are a collection of D-Bus APIs that work
across desktop environments, display servers and work within
containerized applications, like Flatpak. The internal implementation
can then choose to implement these in such a way that takes into account
security considerations, as well as making sure the user consents to
certain actions.

One such portal is the `Screenshot` portal, which contains a
`Screenshot()` method as well as `PickColor()`. We already use the
former for taking a screenshot, and this commit makes sure our color
picker also makes use of the latter.

By doing this, color picking is now possible on the major Wayland
compositors.

(Honestly, we should remove DE-specific backends like that of KWin, to
have less variation on the possible results of a color picking
operation).

Fixes https://gitlab.gnome.org/GNOME/gimp/-/issues/1074

(cherry picked from commit e82f6d5b0f)
2021-12-15 08:34:08 +01:00
..
.gitignore enums: add intermediate generated enum files to .gitignore 2017-08-24 15:35:27 -04:00
gimp3migration.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimp3migration.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpbrowser.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpbrowser.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpbusybox.c libgimpwidgets: fix docs for GimpBusyBox:message 2019-07-25 10:26:11 +02:00
gimpbusybox.h libgimp*: lots of doc fixes and new docs for structs and enums 2019-07-24 01:26:11 +02:00
gimpbutton.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpbutton.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcairo-utils.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcairo-utils.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcellrenderercolor.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcellrenderercolor.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcellrenderertoggle.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpcellrenderertoggle.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpchainbutton.c libgimpwidgets: in GimpChainButton, emit "toggled" signal when "active" changes 2019-02-08 08:22:45 -05:00
gimpchainbutton.h libgimpwidgets: add GimpChainButton::icon-size property 2019-02-04 16:50:36 -05:00
gimpcolorarea.c Issue #1788 - Inconsistency between FG color and selected color in... 2019-01-02 01:53:02 +01:00
gimpcolorarea.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorbutton.c libgimpwidgets: don't use g_type_class_add_private() in GimpColorButton 2019-06-29 16:27:05 +02:00
gimpcolorbutton.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolordisplay.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpcolordisplay.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolordisplaystack.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolordisplaystack.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorhexentry.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorhexentry.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolornotebook.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolornotebook.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorprofilechooserdialog.c libgimpwidgets: add more docs 2019-07-24 19:13:32 +02:00
gimpcolorprofilechooserdialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorprofilecombobox.c app: revert combo-box drop-down changes 2019-03-27 20:14:45 -04:00
gimpcolorprofilecombobox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorprofilestore-private.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorprofilestore.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorprofilestore.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorprofileview.c libgimpwidgets: add more docs 2019-07-24 19:13:32 +02:00
gimpcolorprofileview.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorscale.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpcolorscale.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorscales.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorscales.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorselect.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorselect.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorselection.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorselection.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcolorselector.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpcolorselector.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpcontroller.c libgimp*: use more g_clear_pointer() 2019-07-25 12:40:33 +02:00
gimpcontroller.h libgimp*: lots of doc fixes and new docs for structs and enums 2019-07-24 01:26:11 +02:00
gimpdialog.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpdialog.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpeevl.c libgimpwidgets: fix percentage use in size-entry arithmetic when lower-bound != 0 2020-01-06 23:10:04 +02:00
gimpeevl.h libgimpwidgets: fix percentage use in size-entry arithmetic when lower-bound != 0 2020-01-06 23:10:04 +02:00
gimpenumcombobox.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpenumcombobox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpenumlabel.c libgimp*: use more g_clear_pointer() 2019-07-25 12:40:33 +02:00
gimpenumlabel.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpenumstore.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpenumstore.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpenumwidgets.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpenumwidgets.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpfileentry.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpfileentry.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpframe.c Change a bazillion URLs to https:// 2018-07-14 14:23:42 +02:00
gimpframe.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimphelpui.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimphelpui.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimphintbox.c libgimpwidgets: declare GimpHintBox with public instance and class 2019-07-24 15:17:15 +02:00
gimphintbox.h libgimpwidgets: declare GimpHintBox with public instance and class 2019-07-24 15:17:15 +02:00
gimpicons.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpicons.h app, icons: add 3D Transform tool 2020-01-06 23:10:05 +02:00
gimpintcombobox.c app: revert combo-box drop-down changes 2019-03-27 20:14:45 -04:00
gimpintcombobox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpintstore.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpintstore.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpmemsizeentry.c libgimpwidgets: improve/fix more of GimpMemSizeEntry. 2020-08-05 15:43:46 +02:00
gimpmemsizeentry.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpnumberpairentry.c libgimp*: use more g_clear_pointer() 2019-07-25 12:40:33 +02:00
gimpnumberpairentry.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpoffsetarea.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpoffsetarea.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpoldwidgets.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpoldwidgets.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppageselector.c libgimpwidgets: check error return for gtk_icon_theme_load_icon(). 2019-10-12 17:11:52 +02:00
gimppageselector.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppatheditor.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppatheditor.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppickbutton-default.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppickbutton-default.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppickbutton-kwin.c Issue 1878: Eyedrop tool doesn't work when screen composing (KWin)... 2019-05-07 19:09:56 +09:00
gimppickbutton-kwin.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppickbutton-quartz.c Allow compilation on MacOS 10.5 leopard: issues #2923, #2924 and #2925 2019-03-23 23:33:07 +00:00
gimppickbutton-quartz.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppickbutton-xdg.c libgimpwidgets: Use Screenshot portal for picking 2021-12-15 08:34:08 +01:00
gimppickbutton-xdg.h libgimpwidgets: Use Screenshot portal for picking 2021-12-15 08:34:08 +01:00
gimppickbutton.c libgimpwidgets: Use Screenshot portal for picking 2021-12-15 08:34:08 +01:00
gimppickbutton.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppixmap.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppixmap.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppreview.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppreview.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppreviewarea.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimppreviewarea.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimppropwidgets.c libgimpwidgets, app, plug-ins: use GimpSpinButton everywhere 2019-03-09 07:43:13 -05:00
gimppropwidgets.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpquerybox.c libgimpwidgets, app, plug-ins: use GimpSpinButton everywhere 2019-03-09 07:43:13 -05:00
gimpquerybox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpruler.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpruler.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpscaleentry.c libgimpwidgets: fix logarithmic transform in gimp_scale_entry 2020-04-20 18:45:17 +03:00
gimpscaleentry.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpscrolledpreview.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpscrolledpreview.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpsizeentry.c libgimpwidgets: fix percentage use in size-entry arithmetic when lower-bound != 0 2020-01-06 23:10:04 +02:00
gimpsizeentry.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpspinbutton.c libgimpwidgets: handle Enter/Esc keys in GimpSpinButton 2020-07-14 13:01:35 +03:00
gimpspinbutton.h libgimpwidgets: add GimpSpinButton 2018-11-10 06:57:54 -05:00
gimpstringcombobox.c app: revert combo-box drop-down changes 2019-03-27 20:14:45 -04:00
gimpstringcombobox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpunitcombobox.c app: revert combo-box drop-down changes 2019-03-27 20:14:45 -04:00
gimpunitcombobox.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpunitmenu.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpunitmenu.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpunitstore.c libgimp*: use more g_clear_pointer() 2019-07-25 12:40:33 +02:00
gimpunitstore.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpwidgets-error.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpwidgets-error.h libgimp*: lots of doc fixes and new docs for structs and enums 2019-07-24 01:26:11 +02:00
gimpwidgets-private.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpwidgets-private.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpwidgets.c libgimpwidgets, app, plug-ins: use GimpSpinButton everywhere 2019-03-09 07:43:13 -05:00
gimpwidgets.def libgimpwidgets: add gimp_chain_button_{get,size}_icon_size() to gimpwidgets.def 2019-02-05 03:49:51 -05:00
gimpwidgets.h libgimpwidgets: add GimpSpinButton 2018-11-10 06:57:54 -05:00
gimpwidgetsenums.c libgimpwidgets: keep gimpwidgetsenums.h in alphabetical order 2019-06-01 16:43:07 +02:00
gimpwidgetsenums.h libgimpwidgets: keep gimpwidgetsenums.h in alphabetical order 2019-06-01 16:43:07 +02:00
gimpwidgetsmarshal.list Bug 783680 - Allow to hide color models in GimpColorScales 2018-03-19 23:11:27 +01:00
gimpwidgetstypes.h libgimpwidgets: declare GimpHintBox with public instance and class 2019-07-24 15:17:15 +02:00
gimpwidgetsutils.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpwidgetsutils.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
gimpzoommodel.c app, libgimp*, modules: don't use g_type_class_add_private() ... 2018-09-18 14:41:35 -04:00
gimpzoommodel.h Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00
Makefile.am libgimpwidgets: Use Screenshot portal for picking 2021-12-15 08:34:08 +01:00
test-eevl.c libgimpwidgets: fix percentage use in size-entry arithmetic when lower-bound != 0 2020-01-06 23:10:04 +02:00
test-preview-area.c Change the license URL from http://www.gnu.org/licenses/ to https:// 2018-07-11 23:47:19 +02:00