diff options
author | Guido Falsi <madpilot@FreeBSD.org> | 2022-12-16 14:55:57 +0000 |
---|---|---|
committer | Guido Falsi <madpilot@FreeBSD.org> | 2022-12-16 14:55:57 +0000 |
commit | aac41c1d6719790f71e5a3123ad9afdcbfb46e8e (patch) | |
tree | e51f1df0adec490936f687e2ef0a3b2ae43d0325 | |
parent | baa66e312b196b173af8edbcbc6e81f01fb9c758 (diff) | |
download | ports-aac41c1d6719790f71e5a3123ad9afdcbfb46e8e.tar.gz ports-aac41c1d6719790f71e5a3123ad9afdcbfb46e8e.zip |
Welcome XFCE 4.18 to the FreeBSD ports tree!
Upstream announce: https://xfce.org/about/news/?post=1671062400
Some notes:
- Updated pkg-descr for various packages
- Added some missing dependencies (reported by poudriere Q/A tests)
- Removed patches now included upstream
66 files changed, 354 insertions, 1610 deletions
diff --git a/deskutils/xfce4-tumbler/Makefile b/deskutils/xfce4-tumbler/Makefile index 2b725d749e8d..09cdbdb417a4 100644 --- a/deskutils/xfce4-tumbler/Makefile +++ b/deskutils/xfce4-tumbler/Makefile @@ -1,6 +1,5 @@ PORTNAME= tumbler -PORTVERSION= 4.16.1 -PORTREVISION= 4 +PORTVERSION= 4.18.0 CATEGORIES= deskutils xfce MASTER_SITES= XFCE PKGNAMEPREFIX= xfce4- @@ -19,6 +18,7 @@ LIB_DEPENDS= libpng.so:graphics/png USES= compiler:c11 gettext-tools gmake gnome libtool \ localbase:ldflags pathfix pkgconfig tar:bzip2 xfce USE_GNOME= cairo gdkpixbuf2 glib20 intltool libgsf librsvg2 +USE_XFCE= libutil USE_LDCONFIG= yes GNU_CONFIGURE= yes diff --git a/deskutils/xfce4-tumbler/distinfo b/deskutils/xfce4-tumbler/distinfo index cbe54428bf9e..8e5546b59f02 100644 --- a/deskutils/xfce4-tumbler/distinfo +++ b/deskutils/xfce4-tumbler/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1660252887 -SHA256 (xfce4/tumbler-4.16.1.tar.bz2) = 852bbffa13f35b48ce92e243a03a118e32037c03e68297335c2bc4578e39273e -SIZE (xfce4/tumbler-4.16.1.tar.bz2) = 593122 +TIMESTAMP = 1671097562 +SHA256 (xfce4/tumbler-4.18.0.tar.bz2) = 4087f3af4ef31271d3f315421a2f1fe67e4fda7ad60bbab1f073627914dfcf00 +SIZE (xfce4/tumbler-4.18.0.tar.bz2) = 609664 diff --git a/deskutils/xfce4-tumbler/files/patch-tumblerd_Makefile.in b/deskutils/xfce4-tumbler/files/patch-tumblerd_Makefile.in new file mode 100644 index 000000000000..0996dfd37445 --- /dev/null +++ b/deskutils/xfce4-tumbler/files/patch-tumblerd_Makefile.in @@ -0,0 +1,11 @@ +--- tumblerd/Makefile.in.orig 2022-06-19 06:51:39 UTC ++++ tumblerd/Makefile.in +@@ -1123,7 +1123,7 @@ install-data-am: install-confDATA install-serviceDATA + info-am: + + install-data-am: install-confDATA install-serviceDATA \ +- install-systemd_userDATA install-tumblerdPROGRAMS ++ install-tumblerdPROGRAMS + + install-dvi: install-dvi-am + diff --git a/deskutils/xfce4-tumbler/files/patch-tumblerd__tumbler.rc b/deskutils/xfce4-tumbler/files/patch-tumblerd__tumbler.rc deleted file mode 100644 index 783d00df99ea..000000000000 --- a/deskutils/xfce4-tumbler/files/patch-tumblerd__tumbler.rc +++ /dev/null @@ -1,20 +0,0 @@ ---- tumblerd/tumbler.rc.orig 2017-05-28 10:17:58 UTC -+++ tumblerd/tumbler.rc -@@ -37,7 +37,7 @@ MaxFileSize=0 - - # RAW image files using libopenraw - [RawThumbnailer] --Disabled=false -+Disabled=true - Priority=1 - Locations= - MaxFileSize=0 -@@ -58,7 +58,7 @@ MaxFileSize=0 - - # ffmpegthumbnailer plugin - [FfmpegThumbnailer] --Disabled=false -+Disabled=true - Priority=2 - Locations= - MaxFileSize=0 diff --git a/deskutils/xfce4-tumbler/files/patch-tumblerd_tumbler.rc b/deskutils/xfce4-tumbler/files/patch-tumblerd_tumbler.rc new file mode 100644 index 000000000000..48f55a83b9de --- /dev/null +++ b/deskutils/xfce4-tumbler/files/patch-tumblerd_tumbler.rc @@ -0,0 +1,20 @@ +--- tumblerd/tumbler.rc.orig 2022-03-29 08:54:49 UTC ++++ tumblerd/tumbler.rc +@@ -36,7 +36,7 @@ MaxFileSize=0 + # RAW image files using libopenraw (the libopenraw pixbuf loader is kind of + # broken, hence the priority) + [RawThumbnailer] +-Disabled=false ++Disabled=true + Priority=3 + Locations= + Excludes= +@@ -67,7 +67,7 @@ MaxFileSize=0 + + # ffmpegthumbnailer plugin + [FfmpegThumbnailer] +-Disabled=false ++Disabled=true + Priority=2 + Locations= + Excludes= diff --git a/deskutils/xfce4-tumbler/pkg-descr b/deskutils/xfce4-tumbler/pkg-descr index 8f476a66a2f8..e7cf43c973d5 100644 --- a/deskutils/xfce4-tumbler/pkg-descr +++ b/deskutils/xfce4-tumbler/pkg-descr @@ -1,2 +1,3 @@ -Tumbler, is thumbnail service implementing the thumbnail management D-BUS -specification. +Tumbler is a D-Bus service for applications to request thumbnails +for various URI schemes and MIME types. It is an implementation of +the thumbnail management D-Bus specification. diff --git a/deskutils/xfce4-tumbler/pkg-plist b/deskutils/xfce4-tumbler/pkg-plist index b461c7479f01..93a768ce3df8 100644 --- a/deskutils/xfce4-tumbler/pkg-plist +++ b/deskutils/xfce4-tumbler/pkg-plist @@ -6,7 +6,6 @@ include/tumbler-1/tumbler/tumbler-config.h include/tumbler-1/tumbler/tumbler-enum-types.h include/tumbler-1/tumbler/tumbler-error.h include/tumbler-1/tumbler/tumbler-file-info.h -include/tumbler-1/tumbler/tumbler-glib-extensions.h include/tumbler-1/tumbler/tumbler-marshal.h include/tumbler-1/tumbler/tumbler-provider-factory.h include/tumbler-1/tumbler/tumbler-provider-plugin.h @@ -65,6 +64,7 @@ share/icons/hicolor/32x32/apps/org.xfce.tumbler.png %%NLS%%share/locale/is/LC_MESSAGES/tumbler.mo %%NLS%%share/locale/it/LC_MESSAGES/tumbler.mo %%NLS%%share/locale/ja/LC_MESSAGES/tumbler.mo +%%NLS%%share/locale/kab/LC_MESSAGES/tumbler.mo %%NLS%%share/locale/kk/LC_MESSAGES/tumbler.mo %%NLS%%share/locale/ko/LC_MESSAGES/tumbler.mo %%NLS%%share/locale/lt/LC_MESSAGES/tumbler.mo diff --git a/devel/xfce4-dev-tools/Makefile b/devel/xfce4-dev-tools/Makefile index 0833d132f07d..d941e590ebde 100644 --- a/devel/xfce4-dev-tools/Makefile +++ b/devel/xfce4-dev-tools/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-dev-tools -PORTVERSION= 4.16.0 +PORTVERSION= 4.18.0 CATEGORIES= devel xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 diff --git a/devel/xfce4-dev-tools/distinfo b/devel/xfce4-dev-tools/distinfo index 34156e8dc7fd..5ea679c20d3f 100644 --- a/devel/xfce4-dev-tools/distinfo +++ b/devel/xfce4-dev-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1608682203 -SHA256 (xfce4/xfce4-dev-tools-4.16.0.tar.bz2) = f50b3070e66f3ebdf331744dd1ec5e1af5de333965d491e15ce05545e8eb4f04 -SIZE (xfce4/xfce4-dev-tools-4.16.0.tar.bz2) = 340107 +TIMESTAMP = 1671102951 +SHA256 (xfce4/xfce4-dev-tools-4.18.0.tar.bz2) = eedb4fc955f0e3459c46864ff98579295db2b900743e0ff69cad5970ba76be37 +SIZE (xfce4/xfce4-dev-tools-4.18.0.tar.bz2) = 349125 diff --git a/devel/xfce4-dev-tools/pkg-descr b/devel/xfce4-dev-tools/pkg-descr index 9e2a527001c8..ea47abf11f96 100644 --- a/devel/xfce4-dev-tools/pkg-descr +++ b/devel/xfce4-dev-tools/pkg-descr @@ -1,2 +1,2 @@ -The Xfce development tools are a collection of tools and macros for -Xfce developers and people that want to build Xfce from Git. +The Xfce Development Tools are a set of scripts and m4/autoconf +macros that ease build system maintenance. diff --git a/misc/xfce4-appfinder/Makefile b/misc/xfce4-appfinder/Makefile index bff431565205..a3bed28bb4b8 100644 --- a/misc/xfce4-appfinder/Makefile +++ b/misc/xfce4-appfinder/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-appfinder -PORTVERSION= 4.16.1 +PORTVERSION= 4.18.0 CATEGORIES= misc xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 diff --git a/misc/xfce4-appfinder/distinfo b/misc/xfce4-appfinder/distinfo index d658612b6f73..7c86814afb1f 100644 --- a/misc/xfce4-appfinder/distinfo +++ b/misc/xfce4-appfinder/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1610956327 -SHA256 (xfce4/xfce4-appfinder-4.16.1.tar.bz2) = bfe3e9bd92695014ee74a2fbb7f5fd1b4c29cf043c4a11598b8958324c81e7ec -SIZE (xfce4/xfce4-appfinder-4.16.1.tar.bz2) = 579984 +TIMESTAMP = 1671101646 +SHA256 (xfce4/xfce4-appfinder-4.18.0.tar.bz2) = 962a98d7b327d2073ed4cd0f78bce7945ed51b97d52fd60196e8b02ef819c18c +SIZE (xfce4/xfce4-appfinder-4.18.0.tar.bz2) = 562219 diff --git a/misc/xfce4-appfinder/pkg-descr b/misc/xfce4-appfinder/pkg-descr index 6b61e7bd42fe..36b309ab4bc6 100644 --- a/misc/xfce4-appfinder/pkg-descr +++ b/misc/xfce4-appfinder/pkg-descr @@ -1,2 +1,3 @@ -This application allows you to search, launch and find information about -applications installed on your system. +The Xfce application finder is a program that searches your file +system for .desktop files, and displays a categorized list of all +the GUI applications on your system. diff --git a/sysutils/garcon/Makefile b/sysutils/garcon/Makefile index 86e7b6c1b450..93db9989d3a0 100644 --- a/sysutils/garcon/Makefile +++ b/sysutils/garcon/Makefile @@ -1,5 +1,5 @@ PORTNAME= garcon -PORTVERSION= 4.16.1 +PORTVERSION= 4.18.0 CATEGORIES= sysutils xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 @@ -13,7 +13,8 @@ WWW= https://www.xfce.org/ LICENSE= GPLv2 LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ - libfreetype.so:print/freetype2 + libfreetype.so:print/freetype2 \ + libharfbuzz.so:print/harfbuzz USES= compiler:c11 gettext-tools gmake gnome libtool pathfix \ pkgconfig tar:bzip2 xfce diff --git a/sysutils/garcon/distinfo b/sysutils/garcon/distinfo index ae2f8e3e7200..7b810e9212c7 100644 --- a/sysutils/garcon/distinfo +++ b/sysutils/garcon/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1610727771 -SHA256 (xfce4/garcon-4.16.1.tar.bz2) = 84914927a2c1fda167f67af26a6640630a744a22940df508aa6c752cdbd3d21d -SIZE (xfce4/garcon-4.16.1.tar.bz2) = 520220 +TIMESTAMP = 1671096826 +SHA256 (xfce4/garcon-4.18.0.tar.bz2) = 54633487566a8b8502b71c11a7f719efe27c069bd5773cc95f11ff4ea8f11a14 +SIZE (xfce4/garcon-4.18.0.tar.bz2) = 550674 diff --git a/sysutils/garcon/pkg-descr b/sysutils/garcon/pkg-descr index 2102f39096e4..3341c102e607 100644 --- a/sysutils/garcon/pkg-descr +++ b/sysutils/garcon/pkg-descr @@ -1,3 +1,4 @@ Garcon is an implementation of the freedesktop.org menu specification -replacing the former Xfce menu library libxfce4menu. It is based on -GLib/GIO only and aims at covering the entire specification. +replacing the former Xfce menu library libxfce4menu. It is based +on GLib/GIO only and aims at covering the entire specification +except for legacy menus. diff --git a/sysutils/garcon/pkg-plist b/sysutils/garcon/pkg-plist index 7b8801cbc6ca..e83e082b54db 100644 --- a/sysutils/garcon/pkg-plist +++ b/sysutils/garcon/pkg-plist @@ -38,6 +38,7 @@ share/desktop-directories/xfce-network.directory share/desktop-directories/xfce-office.directory share/desktop-directories/xfce-other.directory share/desktop-directories/xfce-personal.directory +share/desktop-directories/xfce-science.directory share/desktop-directories/xfce-screensavers.directory share/desktop-directories/xfce-settings.directory share/desktop-directories/xfce-system.directory diff --git a/sysutils/xfce4-cpugraph-plugin/Makefile b/sysutils/xfce4-cpugraph-plugin/Makefile index 2b6d6b76cbc8..fd906be0aa45 100644 --- a/sysutils/xfce4-cpugraph-plugin/Makefile +++ b/sysutils/xfce4-cpugraph-plugin/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-cpugraph-plugin -PORTVERSION= 1.2.6 +PORTVERSION= 1.2.7 CATEGORIES= sysutils xfce MASTER_SITES= XFCE/panel-plugins DIST_SUBDIR= xfce4 diff --git a/sysutils/xfce4-cpugraph-plugin/distinfo b/sysutils/xfce4-cpugraph-plugin/distinfo index 7ad4050beb9b..89e8decd895c 100644 --- a/sysutils/xfce4-cpugraph-plugin/distinfo +++ b/sysutils/xfce4-cpugraph-plugin/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1643788330 -SHA256 (xfce4/xfce4-cpugraph-plugin-1.2.6.tar.bz2) = 773246f57c1824a85468d4119c17aeb07170ed1ebace8fa406c7fbcf5b47af99 -SIZE (xfce4/xfce4-cpugraph-plugin-1.2.6.tar.bz2) = 458058 +TIMESTAMP = 1667553246 +SHA256 (xfce4/xfce4-cpugraph-plugin-1.2.7.tar.bz2) = 68a651e278ed7186964e455b69b15da77f8d56257e5c3d6adf783b3ee9337405 +SIZE (xfce4/xfce4-cpugraph-plugin-1.2.7.tar.bz2) = 438674 diff --git a/sysutils/xfce4-power-manager/Makefile b/sysutils/xfce4-power-manager/Makefile index 4594e2ce8fb4..d6bce6f210d3 100644 --- a/sysutils/xfce4-power-manager/Makefile +++ b/sysutils/xfce4-power-manager/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-power-manager -PORTVERSION= 4.16.0 +PORTVERSION= 4.18.0 CATEGORIES= sysutils xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 @@ -11,11 +11,12 @@ WWW= https://goodies.xfce.org/projects/applications/xfce4-power-manager LICENSE= GPLv2 LIB_DEPENDS= libnotify.so:devel/libnotify \ - libupower-glib.so:sysutils/upower + libupower-glib.so:sysutils/upower \ + libharfbuzz.so:print/harfbuzz USES= compiler:c11 gettext-tools gmake gnome libtool pkgconfig \ tar:bzip2 xfce xorg -USE_GNOME= cairo glib20 gtk30 intltool +USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 intltool USE_XFCE= panel USE_XORG= ice sm xrandr x11 xext xtst xscrnsaver diff --git a/sysutils/xfce4-power-manager/distinfo b/sysutils/xfce4-power-manager/distinfo index a994126e5352..1cb2a456741f 100644 --- a/sysutils/xfce4-power-manager/distinfo +++ b/sysutils/xfce4-power-manager/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1608682877 -SHA256 (xfce4/xfce4-power-manager-4.16.0.tar.bz2) = eb9c587c01b502fa45a32e7fc2aba98fa6d8391475133883654f77e562c43bf3 -SIZE (xfce4/xfce4-power-manager-4.16.0.tar.bz2) = 1234968 +TIMESTAMP = 1671101831 +SHA256 (xfce4/xfce4-power-manager-4.18.0.tar.bz2) = 2eee467886252f9fa704c978ec67dafad5274ede93e59b092a688faa7e72c39a +SIZE (xfce4/xfce4-power-manager-4.18.0.tar.bz2) = 1239515 diff --git a/sysutils/xfce4-settings/Makefile b/sysutils/xfce4-settings/Makefile index ec50c3c6b821..d298c481b932 100644 --- a/sysutils/xfce4-settings/Makefile +++ b/sysutils/xfce4-settings/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-settings -PORTVERSION= 4.16.5 +PORTVERSION= 4.18.0 CATEGORIES= sysutils xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 diff --git a/sysutils/xfce4-settings/distinfo b/sysutils/xfce4-settings/distinfo index 2f7bdb7d0c42..43159a36aa8b 100644 --- a/sysutils/xfce4-settings/distinfo +++ b/sysutils/xfce4-settings/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1668331180 -SHA256 (xfce4/xfce4-settings-4.16.5.tar.bz2) = 7a4f74802486d7e77a1c9fa4fda19b13fc8a8dec3e5074f367e34fa82b40d28e -SIZE (xfce4/xfce4-settings-4.16.5.tar.bz2) = 1498988 +TIMESTAMP = 1671101537 +SHA256 (xfce4/xfce4-settings-4.18.0.tar.bz2) = ed3f75837cb33cd694610fc87cd569c4782b7ac4e099143a3dbe8fff1f1c6a9d +SIZE (xfce4/xfce4-settings-4.18.0.tar.bz2) = 1517874 diff --git a/sysutils/xfce4-settings/files/patch-dialogs_appearance-settings_appearance-install-theme b/sysutils/xfce4-settings/files/patch-dialogs_appearance-settings_appearance-install-theme deleted file mode 100644 index 2bac50f627ad..000000000000 --- a/sysutils/xfce4-settings/files/patch-dialogs_appearance-settings_appearance-install-theme +++ /dev/null @@ -1,10 +0,0 @@ ---- dialogs/appearance-settings/appearance-install-theme.orig 2015-08-01 08:43:16 UTC -+++ dialogs/appearance-settings/appearance-install-theme -@@ -104,6 +104,7 @@ fi - # we try $XDG_CACHE_HOME because it is more likely this is on the - # same partition, so moving the theme after extract is faster - if test x"`which mktemp 2>/dev/null`" != x""; then -+ TMPDIR="${TMPDIR:-/tmp}" - tmpdir=`TMPDIR="${XDG_CACHE_HOME:-$TMPDIR}" mktemp -d` - else - tmpdir="/tmp/tmp.$$.$RANDOM" diff --git a/sysutils/xfce4-settings/pkg-descr b/sysutils/xfce4-settings/pkg-descr index 51cd18880cd2..62995f945c07 100644 --- a/sysutils/xfce4-settings/pkg-descr +++ b/sysutils/xfce4-settings/pkg-descr @@ -1,2 +1,2 @@ -The settings manager allows you to configure every detail of your desktop -environment. +Xfce settings manager allows you to configure every detail of your +desktop environment. diff --git a/sysutils/xfce4-settings/pkg-plist b/sysutils/xfce4-settings/pkg-plist index 5ba1ba6d8583..9ec29e11c4f7 100644 --- a/sysutils/xfce4-settings/pkg-plist +++ b/sysutils/xfce4-settings/pkg-plist @@ -112,7 +112,7 @@ share/icons/hicolor/scalable/apps/org.xfce.settings.manager.svg share/icons/hicolor/scalable/apps/org.xfce.settings.mouse.svg share/icons/hicolor/scalable/apps/org.xfce.terminalemulator.svg share/icons/hicolor/scalable/apps/org.xfce.webbrowser.svg -share/xfce4/helpers/thunar.desktop +share/xfce4/helpers/alacritty.desktop share/xfce4/helpers/aterm.desktop share/xfce4/helpers/balsa.desktop share/xfce4/helpers/brave.desktop @@ -134,6 +134,7 @@ share/xfce4/helpers/icecat.desktop share/xfce4/helpers/icedove.desktop share/xfce4/helpers/iceweasel.desktop share/xfce4/helpers/jumanji.desktop +share/xfce4/helpers/kitty.desktop share/xfce4/helpers/kmail.desktop share/xfce4/helpers/konqueror.desktop share/xfce4/helpers/links.desktop @@ -158,6 +159,7 @@ share/xfce4/helpers/surf.desktop share/xfce4/helpers/sylpheed-claws.desktop share/xfce4/helpers/sylpheed.desktop share/xfce4/helpers/terminator.desktop +share/xfce4/helpers/thunar.desktop share/xfce4/helpers/thunderbird.desktop share/xfce4/helpers/urxvt.desktop share/xfce4/helpers/vimprobable2.desktop @@ -196,6 +198,7 @@ share/xfce4/helpers/xterm.desktop %%NLS%%share/locale/is/LC_MESSAGES/xfce4-settings.mo %%NLS%%share/locale/it/LC_MESSAGES/xfce4-settings.mo %%NLS%%share/locale/ja/LC_MESSAGES/xfce4-settings.mo +%%NLS%%share/locale/ka/LC_MESSAGES/xfce4-settings.mo %%NLS%%share/locale/kab/LC_MESSAGES/xfce4-settings.mo %%NLS%%share/locale/kk/LC_MESSAGES/xfce4-settings.mo %%NLS%%share/locale/ko/LC_MESSAGES/xfce4-settings.mo diff --git a/sysutils/xfce4-systemload-plugin/Makefile b/sysutils/xfce4-systemload-plugin/Makefile index ab14a337d565..c6ec96b7312f 100644 --- a/sysutils/xfce4-systemload-plugin/Makefile +++ b/sysutils/xfce4-systemload-plugin/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-systemload-plugin -PORTVERSION= 1.3.1 +PORTVERSION= 1.3.2 CATEGORIES= sysutils xfce MASTER_SITES= XFCE/panel-plugins DIST_SUBDIR= xfce4 diff --git a/sysutils/xfce4-systemload-plugin/distinfo b/sysutils/xfce4-systemload-plugin/distinfo index a363e3de653b..822a54ffd926 100644 --- a/sysutils/xfce4-systemload-plugin/distinfo +++ b/sysutils/xfce4-systemload-plugin/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1616488989 -SHA256 (xfce4/xfce4-systemload-plugin-1.3.1.tar.bz2) = 56d1007801d52d7c2b5a13bb54745f6d7f06fda28b49ce936145633068817652 -SIZE (xfce4/xfce4-systemload-plugin-1.3.1.tar.bz2) = 417959 +TIMESTAMP = 1667553309 +SHA256 (xfce4/xfce4-systemload-plugin-1.3.2.tar.bz2) = bb303fc3020e053ad1fa0b8fcbf0d7681c5563bb8f649357d6a95a577802b072 +SIZE (xfce4/xfce4-systemload-plugin-1.3.2.tar.bz2) = 409767 diff --git a/x11-fm/thunar/Makefile b/x11-fm/thunar/Makefile index 266e3a6bedf6..bb41edeb429e 100644 --- a/x11-fm/thunar/Makefile +++ b/x11-fm/thunar/Makefile @@ -1,5 +1,5 @@ PORTNAME= thunar -DISTVERSION= 4.16.11 +DISTVERSION= 4.18.0 CATEGORIES= x11-fm xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 @@ -14,7 +14,8 @@ LICENSE_FILE_GPLv2= ${WRKSRC}/COPYING LICENSE_FILE_LGPL20= ${WRKSRC}/COPYING.LIB LIB_DEPENDS= libtumbler-1.so:deskutils/xfce4-tumbler \ - libharfbuzz.so:print/harfbuzz + libharfbuzz.so:print/harfbuzz \ + libpcre2-8.so:devel/pcre2 RUN_DEPENDS= pkexec:sysutils/polkit USES= compiler:c11 cpe desktop-file-utils gettext-tools gmake gnome \ diff --git a/x11-fm/thunar/distinfo b/x11-fm/thunar/distinfo index c480d0e9508c..1b5284e75d1e 100644 --- a/x11-fm/thunar/distinfo +++ b/x11-fm/thunar/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1648939402 -SHA256 (xfce4/thunar-4.16.11.tar.bz2) = f47dde90b2e5e3e31920a4f57ddd3670282d0a90870a45e89148fce41b2a8a1b -SIZE (xfce4/thunar-4.16.11.tar.bz2) = 2326592 +TIMESTAMP = 1671101927 +SHA256 (xfce4/thunar-4.18.0.tar.bz2) = d1f4b080c97b9e390eff199aaaac7562fb20f031686f8d5ee5207e953bfc2feb +SIZE (xfce4/thunar-4.18.0.tar.bz2) = 2802858 diff --git a/x11-fm/thunar/pkg-descr b/x11-fm/thunar/pkg-descr index b7ab20bf5539..a860a702f38a 100644 --- a/x11-fm/thunar/pkg-descr +++ b/x11-fm/thunar/pkg-descr @@ -1 +1,6 @@ -Thunar is a new modern file manager for the Xfce Desktop Environment. +Thunar is a modern file manager for the Xfce Desktop Environment. +It has been designed from the ground up to be fast and easy-to-use. +Its user interface is clean and intuitive, and does not include any +confusing or useless options. Thunar is fast and responsive with a +good start up time and directory load time. Thunar is accessible +using Assistive Technologies and is fully standards compliant. diff --git a/x11-fm/thunar/pkg-plist b/x11-fm/thunar/pkg-plist index 8da6916aefec..cf11d558b0c0 100644 --- a/x11-fm/thunar/pkg-plist +++ b/x11-fm/thunar/pkg-plist @@ -37,6 +37,120 @@ share/dbus-1/services/org.xfce.FileManager.service share/dbus-1/services/org.xfce.Thunar.service %%DOCSDIR%%/README.gtkrc %%GIR%%share/gir-1.0/Thunarx-3.0.gir +share/gtk-doc/html/thunar/ThunarAbstractDialog.html +share/gtk-doc/html/thunar/ThunarAbstractIconView.html +share/gtk-doc/html/thunar/ThunarActionManager.html +share/gtk-doc/html/thunar/ThunarApplication.html +share/gtk-doc/html/thunar/ThunarBrowser.html +share/gtk-doc/html/thunar/ThunarChooserButton.html +share/gtk-doc/html/thunar/ThunarChooserDialog.html +share/gtk-doc/html/thunar/ThunarChooserModel.html +share/gtk-doc/html/thunar/ThunarClipboardManager.html +share/gtk-doc/html/thunar/ThunarColumnEditor.html +share/gtk-doc/html/thunar/ThunarColumnModel.html +share/gtk-doc/html/thunar/ThunarCompactView.html +share/gtk-doc/html/thunar/ThunarComponent.html +share/gtk-doc/html/thunar/ThunarDBusService.html +share/gtk-doc/html/thunar/ThunarDeepCountJob.html +share/gtk-doc/html/thunar/ThunarDetailsView.html +share/gtk-doc/html/thunar/ThunarDevice.html +share/gtk-doc/html/thunar/ThunarDeviceMonitor.html +share/gtk-doc/html/thunar/ThunarEmblemChooser.html +share/gtk-doc/html/thunar/ThunarFile.html +share/gtk-doc/html/thunar/ThunarFileMonitor.html +share/gtk-doc/html/thunar/ThunarFolder.html +share/gtk-doc/html/thunar/ThunarHistory.html +share/gtk-doc/html/thunar/ThunarIconFactory.html +share/gtk-doc/html/thunar/ThunarIconRenderer.html +share/gtk-doc/html/thunar/ThunarIconView.html +share/gtk-doc/html/thunar/ThunarImage.html +share/gtk-doc/html/thunar/ThunarJob.html +share/gtk-doc/html/thunar/ThunarJobOperation.html +share/gtk-doc/html/thunar/ThunarJobOperationHistory.html +share/gtk-doc/html/thunar/ThunarListModel.html +share/gtk-doc/html/thunar/ThunarLocationBar.html +share/gtk-doc/html/thunar/ThunarLocationButton.html +share/gtk-doc/html/thunar/ThunarLocationButtons.html +share/gtk-doc/html/thunar/ThunarLocationEntry.html +share/gtk-doc/html/thunar/ThunarMenu.html +share/gtk-doc/html/thunar/ThunarNavigator.html +share/gtk-doc/html/thunar/ThunarPathEntry.html +share/gtk-doc/html/thunar/ThunarPermissionsChooser.html +share/gtk-doc/html/thunar/ThunarPreferences.html +share/gtk-doc/html/thunar/ThunarPreferencesDialog.html +share/gtk-doc/html/thunar/ThunarProgressDialog.html +share/gtk-doc/html/thunar/ThunarProgressView.html +share/gtk-doc/html/thunar/ThunarPropertiesDialog.html +share/gtk-doc/html/thunar/ThunarRenamerDialog.html +share/gtk-doc/html/thunar/ThunarRenamerModel.html +share/gtk-doc/html/thunar/ThunarRenamerProgress.html +share/gtk-doc/html/thunar/ThunarSendtoModel.html +share/gtk-doc/html/thunar/ThunarSessionClient.html +share/gtk-doc/html/thunar/ThunarShortcutsIconRenderer.html +share/gtk-doc/html/thunar/ThunarShortcutsModel.html +share/gtk-doc/html/thunar/ThunarShortcutsPane.html +share/gtk-doc/html/thunar/ThunarShortcutsView.html +share/gtk-doc/html/thunar/ThunarSidePane.html +share/gtk-doc/html/thunar/ThunarSimpleJob.html +share/gtk-doc/html/thunar/ThunarSizeLabel.html +share/gtk-doc/html/thunar/ThunarStandardView.html +share/gtk-doc/html/thunar/ThunarStatusbar.html +share/gtk-doc/html/thunar/ThunarTransferJob.html +share/gtk-doc/html/thunar/ThunarTreeModel.html +share/gtk-doc/html/thunar/ThunarTreePane.html +share/gtk-doc/html/thunar/ThunarTreeView.html +share/gtk-doc/html/thunar/ThunarUserManager.html +share/gtk-doc/html/thunar/ThunarView.html +share/gtk-doc/html/thunar/ThunarWindow.html +share/gtk-doc/html/thunar/annotation-glossary.html +share/gtk-doc/html/thunar/ch01.html +share/gtk-doc/html/thunar/ch02.html +share/gtk-doc/html/thunar/ch03.html +share/gtk-doc/html/thunar/ch04.html +share/gtk-doc/html/thunar/ch05.html +share/gtk-doc/html/thunar/ch06.html +share/gtk-doc/html/thunar/ch07.html +share/gtk-doc/html/thunar/ch08.html +share/gtk-doc/html/thunar/ch09.html +share/gtk-doc/html/thunar/ch10.html +share/gtk-doc/html/thunar/ch11.html +share/gtk-doc/html/thunar/ch12.html +share/gtk-doc/html/thunar/ch13.html +share/gtk-doc/html/thunar/ch14.html +share/gtk-doc/html/thunar/ch15.html +share/gtk-doc/html/thunar/ch16.html +share/gtk-doc/html/thunar/ch17.html +share/gtk-doc/html/thunar/ch18.html +share/gtk-doc/html/thunar/ch19.html +share/gtk-doc/html/thunar/glib-gtk-extensions.html +share/gtk-doc/html/thunar/home.png +share/gtk-doc/html/thunar/index.html +share/gtk-doc/html/thunar/left-insensitive.png +share/gtk-doc/html/thunar/left.png +share/gtk-doc/html/thunar/right-insensitive.png +share/gtk-doc/html/thunar/right.png +share/gtk-doc/html/thunar/style.css +share/gtk-doc/html/thunar/thunar-objects.html +share/gtk-doc/html/thunar/thunar-thunar-dialogs.html +share/gtk-doc/html/thunar/thunar-thunar-dnd.html +share/gtk-doc/html/thunar/thunar-thunar-enum-types.html +share/gtk-doc/html/thunar/thunar-thunar-gdk-extensions.html +share/gtk-doc/html/thunar/thunar-thunar-gio-extensions.html +share/gtk-doc/html/thunar/thunar-thunar-gobject-extensions.html +share/gtk-doc/html/thunar/thunar-thunar-gtk-extensions.html +share/gtk-doc/html/thunar/thunar-thunar-ice.html +share/gtk-doc/html/thunar/thunar-thunar-io-jobs-util.html +share/gtk-doc/html/thunar/thunar-thunar-io-jobs.html +share/gtk-doc/html/thunar/thunar-thunar-io-scan-directory.html +share/gtk-doc/html/thunar/thunar-thunar-notify.html +share/gtk-doc/html/thunar/thunar-thunar-pango-extensions.html +share/gtk-doc/html/thunar/thunar-thunar-renamer-pair.html +share/gtk-doc/html/thunar/thunar-thunar-util.html +share/gtk-doc/html/thunar/thunar-view.html +share/gtk-doc/html/thunar/thunar-widgets.html +share/gtk-doc/html/thunar/thunar.devhelp2 +share/gtk-doc/html/thunar/up-insensitive.png +share/gtk-doc/html/thunar/up.png share/gtk-doc/html/thunarx/ThunarxFileInfo.html share/gtk-doc/html/thunarx/ThunarxMenu.html share/gtk-doc/html/thunarx/ThunarxMenuItem.html diff --git a/x11-wm/xfce4-desktop/Makefile b/x11-wm/xfce4-desktop/Makefile index ccfa29a6c37c..430917a22e84 100644 --- a/x11-wm/xfce4-desktop/Makefile +++ b/x11-wm/xfce4-desktop/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-desktop -PORTVERSION= 4.16.1 +PORTVERSION= 4.18.0 CATEGORIES= x11-wm xfce MASTER_SITES= XFCE DISTNAME= xfdesktop-${DISTVERSIONFULL} @@ -12,11 +12,12 @@ WWW= https://www.xfce.org/ LICENSE= GPLv2 LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libnotify.so:devel/libnotify +LIB_DEPENDS= libnotify.so:devel/libnotify \ + libharfbuzz.so:print/harfbuzz USES= compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 \ xfce xorg -USE_GNOME= cairo glib20 gtk30 intltool libwnck3 +USE_GNOME= cairo glib20 gdkpixbuf2 gtk30 intltool libwnck3 USE_XFCE= garcon libexo USE_XORG= ice sm x11 diff --git a/x11-wm/xfce4-desktop/distinfo b/x11-wm/xfce4-desktop/distinfo index 51d5353f33f2..69c443a80e6e 100644 --- a/x11-wm/xfce4-desktop/distinfo +++ b/x11-wm/xfce4-desktop/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1661013041 -SHA256 (xfce4/xfdesktop-4.16.1.tar.bz2) = e31dcb0008ae55e99e42128a4694002203305287434a8ee0f9937e7298a4bd11 -SIZE (xfce4/xfdesktop-4.16.1.tar.bz2) = 1942859 +TIMESTAMP = 1671101408 +SHA256 (xfce4/xfdesktop-4.18.0.tar.bz2) = 661783e7e6605459926d80bca46d25ce2197c221456457a863ea9d0252120d14 +SIZE (xfce4/xfdesktop-4.18.0.tar.bz2) = 2136039 diff --git a/x11-wm/xfce4-desktop/pkg-descr b/x11-wm/xfce4-desktop/pkg-descr index 800e836b5aeb..04d26547dec8 100644 --- a/x11-wm/xfce4-desktop/pkg-descr +++ b/x11-wm/xfce4-desktop/pkg-descr @@ -1,2 +1,2 @@ -The desktop manager sets the background image, and provides a root +Xfce desktop manager sets the background image, and provides a root window menu, desktop icons or minimized icons and windows list. diff --git a/x11-wm/xfce4-desktop/pkg-plist b/x11-wm/xfce4-desktop/pkg-plist index cf37b60c60d1..9eaafdb05d25 100644 --- a/x11-wm/xfce4-desktop/pkg-plist +++ b/x11-wm/xfce4-desktop/pkg-plist @@ -3,6 +3,9 @@ bin/xfdesktop-settings man/man1/xfdesktop.1.gz share/applications/xfce-backdrop-settings.desktop share/backgrounds/xfce/xfce-blue.jpg +share/backgrounds/xfce/xfce-flower.svg +share/backgrounds/xfce/xfce-leaves.svg +share/backgrounds/xfce/xfce-shapes.svg share/backgrounds/xfce/xfce-stripes.png share/backgrounds/xfce/xfce-teal.jpg share/backgrounds/xfce/xfce-verticals.png diff --git a/x11-wm/xfce4-panel/Makefile b/x11-wm/xfce4-panel/Makefile index 1245310b1796..504c5645dc6c 100644 --- a/x11-wm/xfce4-panel/Makefile +++ b/x11-wm/xfce4-panel/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-panel -PORTVERSION= 4.16.5 +PORTVERSION= 4.18.0 CATEGORIES= x11-wm xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 diff --git a/x11-wm/xfce4-panel/distinfo b/x11-wm/xfce4-panel/distinfo index e8e457ebbb7e..c1c324d8fdc5 100644 --- a/x11-wm/xfce4-panel/distinfo +++ b/x11-wm/xfce4-panel/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1661013254 -SHA256 (xfce4/xfce4-panel-4.16.5.tar.bz2) = 096693e2bc76cf760cfe00dc76ec121c4d23f9166aa29945ae41616e8ec78230 -SIZE (xfce4/xfce4-panel-4.16.5.tar.bz2) = 1386556 +TIMESTAMP = 1671097747 +SHA256 (xfce4/xfce4-panel-4.18.0.tar.bz2) = be80023fd546587831bab25ded15ae4c9e346289a75744b6ba4cf4ee53794710 +SIZE (xfce4/xfce4-panel-4.18.0.tar.bz2) = 1451719 diff --git a/x11-wm/xfce4-panel/files/patch-plugins_pager_pager.c b/x11-wm/xfce4-panel/files/patch-plugins_pager_pager.c deleted file mode 100644 index 60998ddca727..000000000000 --- a/x11-wm/xfce4-panel/files/patch-plugins_pager_pager.c +++ /dev/null @@ -1,16 +0,0 @@ -From 88d469cb47e58865370b26e6a4d6a7f8891d2949 Mon Sep 17 00:00:00 2001 -From: Andre Miranda <andreldm@xfce.org> -Date: Sun, 25 Aug 2019 19:16:03 -0300 -Subject: [PATCH] pager: Override WnckPager scroll-event handler (Bug #15886) - ---- plugins/pager/pager.c.orig 2020-12-10 23:14:07 UTC -+++ plugins/pager/pager.c -@@ -482,6 +482,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS - G_CALLBACK (pager_plugin_drag_begin_event), plugin); - g_signal_connect_after (G_OBJECT (plugin->pager), "drag-end", - G_CALLBACK (pager_plugin_drag_end_event), plugin); -+ g_signal_connect_swapped (G_OBJECT (plugin->pager), "scroll-event", -+ G_CALLBACK (pager_plugin_scroll_event), plugin); - } - else - { diff --git a/x11-wm/xfce4-panel/pkg-descr b/x11-wm/xfce4-panel/pkg-descr index d70a7b32c617..730bc7d02039 100644 --- a/x11-wm/xfce4-panel/pkg-descr +++ b/x11-wm/xfce4-panel/pkg-descr @@ -1,2 +1,2 @@ -The panel supports multiple panels, with many options for their +Xfce panel supports multiple panels, with many options for their position, appearance, transparency and behavior. diff --git a/x11-wm/xfce4-session/Makefile b/x11-wm/xfce4-session/Makefile index 379da3f79537..b6dc9292f5e9 100644 --- a/x11-wm/xfce4-session/Makefile +++ b/x11-wm/xfce4-session/Makefile @@ -1,6 +1,5 @@ PORTNAME= xfce4-session -PORTVERSION= 4.16.0 -PORTREVISION= 1 +PORTVERSION= 4.18.0 CATEGORIES= x11-wm xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 @@ -20,7 +19,7 @@ LIB_DEPENDS= libupower-glib.so:sysutils/upower \ USES= compiler:c11 gettext-tools gmake gnome libtool pathfix \ pkgconfig tar:bzip2 xfce xorg -USE_GNOME= cairo gtk30 glib20 intltool libwnck3 +USE_GNOME= cairo gdkpixbuf2 gtk30 glib20 intltool libwnck3 USE_XFCE= libexo xfconf USE_XORG= ice sm x11 diff --git a/x11-wm/xfce4-session/distinfo b/x11-wm/xfce4-session/distinfo index dbb9487151d3..e7f5f2b0745b 100644 --- a/x11-wm/xfce4-session/distinfo +++ b/x11-wm/xfce4-session/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1608682710 -SHA256 (xfce4/xfce4-session-4.16.0.tar.bz2) = 22f273f212481d71e0b5618c62710cd85f69aea74f5ea5c0093f7918b07d17b7 -SIZE (xfce4/xfce4-session-4.16.0.tar.bz2) = 875504 +TIMESTAMP = 1671101736 +SHA256 (xfce4/xfce4-session-4.18.0.tar.bz2) = 38badb500b272012f494543a60a9c0563c381647cc95bed73b68aec0b0b89a7f +SIZE (xfce4/xfce4-session-4.18.0.tar.bz2) = 853627 diff --git a/x11-wm/xfce4-session/files/patch-scripts_xflock4 b/x11-wm/xfce4-session/files/patch-scripts_xflock4 deleted file mode 100644 index 32cedb702b8a..000000000000 --- a/x11-wm/xfce4-session/files/patch-scripts_xflock4 +++ /dev/null @@ -1,18 +0,0 @@ ---- scripts/xflock4.orig 2019-05-10 20:05:58 UTC -+++ scripts/xflock4 -@@ -39,12 +39,14 @@ done - # else run another access locking utility, if installed - for lock_cmd in \ - "xlock -mode blank" \ -- "slock" -+ "slock" \ -+ "i3lock -c 000000" - do - set -- $lock_cmd - if command -v -- $1 >/dev/null 2>&1; then - $lock_cmd >/dev/null 2>&1 & - # turn off display backlight: -+ sleep 1 - xset dpms force off - exit - fi diff --git a/x11-wm/xfce4-session/pkg-plist b/x11-wm/xfce4-session/pkg-plist index a9507749271f..0e7a9b38b819 100644 --- a/x11-wm/xfce4-session/pkg-plist +++ b/x11-wm/xfce4-session/pkg-plist @@ -35,6 +35,7 @@ share/icons/hicolor/scalable/apps/org.xfce.session.svg %%NLS%%share/locale/am/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/ar/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/ast/LC_MESSAGES/xfce4-session.mo +%%NLS%%share/locale/az/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/be/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/be@tarask/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/bg/LC_MESSAGES/xfce4-session.mo @@ -51,6 +52,7 @@ share/icons/hicolor/scalable/apps/org.xfce.session.svg %%NLS%%share/locale/es/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/et/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/eu/LC_MESSAGES/xfce4-session.mo +%%NLS%%share/locale/fa_IR/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/fi/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/fr/LC_MESSAGES/xfce4-session.mo %%NLS%%share/locale/gl/LC_MESSAGES/xfce4-session.mo diff --git a/x11-wm/xfce4-wm/Makefile b/x11-wm/xfce4-wm/Makefile index bb09f4fa0247..e4296b7e3115 100644 --- a/x11-wm/xfce4-wm/Makefile +++ b/x11-wm/xfce4-wm/Makefile @@ -1,6 +1,5 @@ PORTNAME= xfce4-wm -PORTVERSION= 4.16.1 -PORTREVISION= 1 +PORTVERSION= 4.18.0 CATEGORIES= x11-wm xfce MASTER_SITES= XFCE DISTNAME= xfwm4-${DISTVERSIONFULL} @@ -12,11 +11,12 @@ WWW= https://xfce.org/ LICENSE= GPLv2 -LIB_DEPENDS= libepoxy.so:graphics/libepoxy +LIB_DEPENDS= libepoxy.so:graphics/libepoxy \ + libharfbuzz.so:print/harfbuzz USES= compiler:c11 gettext-tools gmake gnome pkgconfig tar:bzip2 \ xfce xorg -USE_GNOME= cairo gtk30 intltool libwnck3 +USE_GNOME= cairo gdkpixbuf2 gtk30 intltool libwnck3 USE_XFCE= libmenu xfconf USE_XORG= ice sm x11 xcomposite xdamage xext xfixes xi xinerama \ xorgproto xpresent xrandr xrender xres diff --git a/x11-wm/xfce4-wm/distinfo b/x11-wm/xfce4-wm/distinfo index d29af699a51b..cf3a0c882343 100644 --- a/x11-wm/xfce4-wm/distinfo +++ b/x11-wm/xfce4-wm/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1610219439 -SHA256 (xfce4/xfwm4-4.16.1.tar.bz2) = b5b24ca04bd73c642db0a4b4df81d262381d758f01b51108257d48b391b8718c -SIZE (xfce4/xfwm4-4.16.1.tar.bz2) = 1201722 +TIMESTAMP = 1671100717 +SHA256 (xfce4/xfwm4-4.18.0.tar.bz2) = 92cd1b889bb25cb4bc06c1c6736c238d96e79c1e706b9f77fad0a89d6e5fc13f +SIZE (xfce4/xfwm4-4.18.0.tar.bz2) = 1220901 diff --git a/x11-wm/xfce4-wm/files/patch-src_icons.c b/x11-wm/xfce4-wm/files/patch-src_icons.c deleted file mode 100644 index 564d90fd25fd..000000000000 --- a/x11-wm/xfce4-wm/files/patch-src_icons.c +++ /dev/null @@ -1,46 +0,0 @@ ---- src/icons.c.orig 2021-01-05 08:18:20 UTC -+++ src/icons.c -@@ -295,16 +295,26 @@ static void - } - - static void --get_pixmap_geometry (Display *dpy, Pixmap pixmap, guint *out_width, guint *out_height, guint *out_depth) -+get_pixmap_geometry (ScreenInfo *screen_info, Pixmap pixmap, guint *out_width, guint *out_height, guint *out_depth) - { - Window root; - guint border_width; - gint x, y; - guint width, height; - guint depth; -+ Status rc; -+ int result; - -- XGetGeometry (dpy, pixmap, &root, &x, &y, &width, &height, &border_width, &depth); -+ myDisplayErrorTrapPush (screen_info->display_info); -+ rc = XGetGeometry (myScreenGetXDisplay(screen_info), pixmap, &root, -+ &x, &y, &width, &height, &border_width, &depth); -+ result = myDisplayErrorTrapPop (screen_info->display_info); - -+ if ((rc != Success) || (result != Success)) -+ { -+ return; -+ } -+ - if (out_width != NULL) - { - *out_width = width; -@@ -371,12 +381,12 @@ try_pixmap_and_mask (ScreenInfo *screen_info, Pixmap s - return NULL; - } - -- get_pixmap_geometry (myScreenGetXDisplay(screen_info), src_pixmap, &w, &h, &depth); -+ get_pixmap_geometry (screen_info, src_pixmap, &w, &h, &depth); - surface = get_surface_from_pixmap (screen_info, src_pixmap, w, h, depth); - - if (surface && src_mask != None) - { -- get_pixmap_geometry (myScreenGetXDisplay(screen_info), src_mask, &w, &h, &depth); -+ get_pixmap_geometry (screen_info, src_mask, &w, &h, &depth); - mask_surface = get_surface_from_pixmap (screen_info, src_mask, w, h, depth); - } - else diff --git a/x11-wm/xfce4-wm/pkg-descr b/x11-wm/xfce4-wm/pkg-descr index 0f8a3c7132e7..0f31d682df72 100644 --- a/x11-wm/xfce4-wm/pkg-descr +++ b/x11-wm/xfce4-wm/pkg-descr @@ -1,3 +1,3 @@ -The Xfce 4 window manager manages the placement of application windows -on the screen, provides window decorations, and manages work- -spaces or virtual desktops. +The Xfce 4 window manager manages the placement of application +windows on the screen, provides window decorations, and manages +workspaces or virtual desktops. diff --git a/x11-wm/xfce4/Makefile b/x11-wm/xfce4/Makefile index bcdd0d855fc9..4ee604b7eebc 100644 --- a/x11-wm/xfce4/Makefile +++ b/x11-wm/xfce4/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce -PORTVERSION= 4.16 +PORTVERSION= 4.18 CATEGORIES= x11-wm xfce MAINTAINER= xfce@FreeBSD.org diff --git a/x11/libexo/Makefile b/x11/libexo/Makefile index c0eebc4bf54c..5d0872a53091 100644 --- a/x11/libexo/Makefile +++ b/x11/libexo/Makefile @@ -1,5 +1,5 @@ PORTNAME= libexo -PORTVERSION= 4.16.4 +PORTVERSION= 4.18.0 CATEGORIES= x11 xfce MASTER_SITES= XFCE DISTNAME= exo-${DISTVERSIONFULL} diff --git a/x11/libexo/distinfo b/x11/libexo/distinfo index fcac81df4508..dad12aa01c93 100644 --- a/x11/libexo/distinfo +++ b/x11/libexo/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1654934890 -SHA256 (xfce4/exo-4.16.4.tar.bz2) = 82a50c67e78f1e5c420b7615515bcca759b86eeab99224ab8eca4306b89d2eca -SIZE (xfce4/exo-4.16.4.tar.bz2) = 876080 +TIMESTAMP = 1671097667 +SHA256 (xfce4/exo-4.18.0.tar.bz2) = 4f2c61d045a888cdb64297fd0ae20cc23da9b97ffb82562ed12806ed21da7d55 +SIZE (xfce4/exo-4.18.0.tar.bz2) = 896849 diff --git a/x11/libexo/pkg-descr b/x11/libexo/pkg-descr index 140fe10c3cbd..77c6a4a46308 100644 --- a/x11/libexo/pkg-descr +++ b/x11/libexo/pkg-descr @@ -1,4 +1,4 @@ -Exo is an Xfce library targeted at application development. It contains -various custom widgets and APIs extending the functionality of GLib and -GTK+. It also ships utilities for defining preferred applications, -mounting storage devices and more. +Exo is an Xfce library targeted at application development. It +contains various custom widgets and APIs extending the functionality +of GLib and GTK. It also ships utilities for defining preferred +applications, mounting storage devices and more. diff --git a/x11/libexo/pkg-plist b/x11/libexo/pkg-plist index 885a5032e0e2..f176ac2e70b2 100644 --- a/x11/libexo/pkg-plist +++ b/x11/libexo/pkg-plist @@ -24,71 +24,73 @@ lib/libexo-2.so.0 lib/libexo-2.so.0.1.0 libdata/pkgconfig/exo-2.pc man/man1/exo-open.1.gz -share/icons/hicolor/24x24/apps/preferences-desktop-default-applications.png -share/icons/hicolor/48x48/apps/preferences-desktop-default-applications.png -%%NLS%%share/locale/am/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ar/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ast/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/be/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/bg/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/bn/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ca/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/cs/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/da/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/de/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/el/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/en_AU/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/en_GB/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/es/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/et/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/eu/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/fa_IR/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/fi/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/fr/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/gl/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/he/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/hr/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/hu/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/hy/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/hy_AM/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/hye/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/id/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ie/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/is/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/it/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ja/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/kab/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/kk/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/kn/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ko/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/lt/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/lv/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ms/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/nb/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/nl/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/nn/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/oc/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/pa/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/pl/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/pt/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/pt_BR/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ro/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ru/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/si/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/sk/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/sl/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/sq/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/sr/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/sv/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/te/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/th/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/tr/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ug/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/uk/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ur/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/ur_PK/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/vi/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/zh_CN/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/zh_HK/LC_MESSAGES/exo-2.mo -%%NLS%%share/locale/zh_TW/LC_MESSAGES/exo-2.mo +%%NLS%%share/locale/am/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ar/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ast/LC_MESSAGES/exo.mo +%%NLS%%share/locale/az/LC_MESSAGES/exo.mo +%%NLS%%share/locale/az_AZ/LC_MESSAGES/exo.mo +%%NLS%%share/locale/be/LC_MESSAGES/exo.mo +%%NLS%%share/locale/bg/LC_MESSAGES/exo.mo +%%NLS%%share/locale/bn/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ca/LC_MESSAGES/exo.mo +%%NLS%%share/locale/cs/LC_MESSAGES/exo.mo +%%NLS%%share/locale/cy/LC_MESSAGES/exo.mo +%%NLS%%share/locale/da/LC_MESSAGES/exo.mo +%%NLS%%share/locale/de/LC_MESSAGES/exo.mo +%%NLS%%share/locale/el/LC_MESSAGES/exo.mo +%%NLS%%share/locale/en_AU/LC_MESSAGES/exo.mo +%%NLS%%share/locale/en_GB/LC_MESSAGES/exo.mo +%%NLS%%share/locale/es/LC_MESSAGES/exo.mo +%%NLS%%share/locale/et/LC_MESSAGES/exo.mo +%%NLS%%share/locale/eu/LC_MESSAGES/exo.mo +%%NLS%%share/locale/fa_IR/LC_MESSAGES/exo.mo +%%NLS%%share/locale/fi/LC_MESSAGES/exo.mo +%%NLS%%share/locale/fr/LC_MESSAGES/exo.mo +%%NLS%%share/locale/gl/LC_MESSAGES/exo.mo +%%NLS%%share/locale/he/LC_MESSAGES/exo.mo +%%NLS%%share/locale/hr/LC_MESSAGES/exo.mo +%%NLS%%share/locale/hu/LC_MESSAGES/exo.mo +%%NLS%%share/locale/hy/LC_MESSAGES/exo.mo +%%NLS%%share/locale/hy_AM/LC_MESSAGES/exo.mo +%%NLS%%share/locale/hye/LC_MESSAGES/exo.mo +%%NLS%%share/locale/id/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ie/LC_MESSAGES/exo.mo +%%NLS%%share/locale/is/LC_MESSAGES/exo.mo +%%NLS%%share/locale/it/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ja/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ka/LC_MESSAGES/exo.mo +%%NLS%%share/locale/kab/LC_MESSAGES/exo.mo +%%NLS%%share/locale/kk/LC_MESSAGES/exo.mo +%%NLS%%share/locale/kn/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ko/LC_MESSAGES/exo.mo +%%NLS%%share/locale/lt/LC_MESSAGES/exo.mo +%%NLS%%share/locale/lv/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ms/LC_MESSAGES/exo.mo +%%NLS%%share/locale/nb/LC_MESSAGES/exo.mo +%%NLS%%share/locale/nl/LC_MESSAGES/exo.mo +%%NLS%%share/locale/nn/LC_MESSAGES/exo.mo +%%NLS%%share/locale/oc/LC_MESSAGES/exo.mo +%%NLS%%share/locale/pa/LC_MESSAGES/exo.mo +%%NLS%%share/locale/pl/LC_MESSAGES/exo.mo +%%NLS%%share/locale/pt/LC_MESSAGES/exo.mo +%%NLS%%share/locale/pt_BR/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ro/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ru/LC_MESSAGES/exo.mo +%%NLS%%share/locale/si/LC_MESSAGES/exo.mo +%%NLS%%share/locale/sk/LC_MESSAGES/exo.mo +%%NLS%%share/locale/sl/LC_MESSAGES/exo.mo +%%NLS%%share/locale/sq/LC_MESSAGES/exo.mo +%%NLS%%share/locale/sr/LC_MESSAGES/exo.mo +%%NLS%%share/locale/sv/LC_MESSAGES/exo.mo +%%NLS%%share/locale/te/LC_MESSAGES/exo.mo +%%NLS%%share/locale/th/LC_MESSAGES/exo.mo +%%NLS%%share/locale/tr/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ug/LC_MESSAGES/exo.mo +%%NLS%%share/locale/uk/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ur/LC_MESSAGES/exo.mo +%%NLS%%share/locale/ur_PK/LC_MESSAGES/exo.mo +%%NLS%%share/locale/vi/LC_MESSAGES/exo.mo +%%NLS%%share/locale/zh_CN/LC_MESSAGES/exo.mo +%%NLS%%share/locale/zh_HK/LC_MESSAGES/exo.mo +%%NLS%%share/locale/zh_TW/LC_MESSAGES/exo.mo share/pixmaps/exo/exo-thumbnail-frame.png diff --git a/x11/libxfce4menu/Makefile b/x11/libxfce4menu/Makefile index 057f115839df..9563296040f4 100644 --- a/x11/libxfce4menu/Makefile +++ b/x11/libxfce4menu/Makefile @@ -1,5 +1,5 @@ PORTNAME= libxfce4menu -PORTVERSION= 4.16.1 +PORTVERSION= 4.18.0 CATEGORIES= x11 xfce MASTER_SITES= XFCE DISTNAME= libxfce4ui-${DISTVERSIONFULL} @@ -14,11 +14,12 @@ LICENSE= GPLv2 LIB_DEPENDS= libfontconfig.so:x11-fonts/fontconfig \ libfreetype.so:print/freetype2 \ libepoxy.so:graphics/libepoxy \ - libgtop-2.0.so:devel/libgtop + libgtop-2.0.so:devel/libgtop \ + libharfbuzz.so:print/harfbuzz USES= compiler:c11 gettext-tools gmake gnome libtool pathfix \ pkgconfig tar:bzip2 xfce xorg -USE_GNOME= cairo glib20 gtk30 intltool +USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 intltool USE_LDCONFIG= yes USE_XFCE= xfconf USE_XORG= ice sm x11 diff --git a/x11/libxfce4menu/distinfo b/x11/libxfce4menu/distinfo index d42ad719d279..d2eb686bb909 100644 --- a/x11/libxfce4menu/distinfo +++ b/x11/libxfce4menu/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1630881123 -SHA256 (xfce4/libxfce4ui-4.16.1.tar.bz2) = d96946ae5af6bf078dda415419e0021909f763ee0020b42f3e26f603e51585f6 -SIZE (xfce4/libxfce4ui-4.16.1.tar.bz2) = 785811 +TIMESTAMP = 1671097021 +SHA256 (xfce4/libxfce4ui-4.18.0.tar.bz2) = 532247c4387c17bb9ef94a73147039b8d013c3131c95cdbd2fa85fbcc848d06b +SIZE (xfce4/libxfce4ui-4.18.0.tar.bz2) = 896351 diff --git a/x11/libxfce4menu/files/patch-shortcuts-grabber-fix-PR27 b/x11/libxfce4menu/files/patch-shortcuts-grabber-fix-PR27 deleted file mode 100644 index c50922d4a68a..000000000000 --- a/x11/libxfce4menu/files/patch-shortcuts-grabber-fix-PR27 +++ /dev/null @@ -1,1324 +0,0 @@ -From 7c1e0e71899d13f75fe4177454656049d3f35d54 Mon Sep 17 00:00:00 2001 -From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Date: Mon, 4 Jan 2021 17:01:04 +0100 -Subject: [PATCH 1/5] shortcuts-grabber: Record xkb state group (Bug #33) - -XkbGroupForCoreState(xevent->xkey.state) returns 0 even after a keyboard -layout switch. Instead of using the XkbGroupForCoreState() function, this -patch watches for XkbStateNotify events from which it obtains the xkb state -group. - -Closes: https://gitlab.xfce.org/xfce/libxfce4ui/-/issues/33 -See also: https://gitlab.xfce.org/xfce/libxfce4ui/-/merge_requests/33 ---- - libxfce4kbd-private/xfce-shortcuts-grabber.c | 38 ++++++++++++++++---- - 1 file changed, 31 insertions(+), 7 deletions(-) - -diff --git a/libxfce4kbd-private/xfce-shortcuts-grabber.c b/libxfce4kbd-private/xfce-shortcuts-grabber.c -index 60ddfd7..9df45c3 100644 ---- libxfce4kbd-private/xfce-shortcuts-grabber.c -+++ libxfce4kbd-private/xfce-shortcuts-grabber.c -@@ -61,13 +61,14 @@ static void xfce_shortcuts_grabber_grab (XfceShortcutsGra - gboolean grab); - static GdkFilterReturn xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - GdkEvent *event, -- XfceShortcutsGrabber *grabber); -+ gpointer data); - - - - struct _XfceShortcutsGrabberPrivate - { - GHashTable *keys; -+ gint xkbEventType, xkbStateGroup; - }; - - typedef enum -@@ -141,20 +142,26 @@ static void - xfce_shortcuts_grabber_constructed (GObject *object) - { - GdkDisplay *display; -+ Display *xdisplay; - GdkKeymap *keymap; - - XfceShortcutsGrabber *grabber = XFCE_SHORTCUTS_GRABBER (object); - - display = gdk_display_get_default (); -+ xdisplay = GDK_DISPLAY_XDISPLAY (display); - keymap = gdk_keymap_get_for_display (display); - g_signal_connect (keymap, "keys-changed", G_CALLBACK (xfce_shortcuts_grabber_keys_changed), - grabber); - -+ if (G_UNLIKELY (!XkbQueryExtension (xdisplay, 0, &grabber->priv->xkbEventType, 0, 0, 0))) -+ grabber->priv->xkbEventType = -1; -+ grabber->priv->xkbStateGroup = -1; -+ - /* Flush events before adding the event filter */ -- XAllowEvents (GDK_DISPLAY_XDISPLAY (display), AsyncBoth, CurrentTime); -+ XAllowEvents (xdisplay, AsyncBoth, CurrentTime); - - /* Add event filter */ -- gdk_window_add_filter (NULL, (GdkFilterFunc) xfce_shortcuts_grabber_event_filter, grabber); -+ gdk_window_add_filter (NULL, xfce_shortcuts_grabber_event_filter, grabber); - } - - -@@ -417,10 +424,11 @@ find_event_key (const gchar *shortcut, - - - static GdkFilterReturn --xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, -- GdkEvent *event, -- XfceShortcutsGrabber *grabber) -+xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, -+ GdkEvent *event, -+ gpointer data) - { -+ XfceShortcutsGrabber *const grabber = data; - struct EventKeyFindContext context; - GdkKeymap *keymap; - GdkModifierType consumed, modifiers; -@@ -434,6 +442,22 @@ xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - - xevent = (XEvent *) gdk_xevent; - -+ if (xevent->type == grabber->priv->xkbEventType) -+ { -+ const XkbEvent *e = (const XkbEvent*) xevent; -+ TRACE ("xkb event: any.xkb_type=%d", e->any.xkb_type); -+ if (e->any.xkb_type == XkbStateNotify) -+ { -+ TRACE ("xkb event: any.xkb_type=XkbStateNotify, state.group=%d", e->state.group); -+ if (grabber->priv->xkbStateGroup != e->state.group) -+ { -+ grabber->priv->xkbStateGroup = e->state.group; -+ xfce_shortcuts_grabber_ungrab_all (grabber); -+ xfce_shortcuts_grabber_grab_all (grabber); -+ } -+ } -+ } -+ - if (xevent->type != KeyPress) - return GDK_FILTER_CONTINUE; - -@@ -450,7 +474,7 @@ xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - - gdk_keymap_translate_keyboard_state (keymap, xevent->xkey.keycode, - modifiers, -- XkbGroupForCoreState (xevent->xkey.state), -+ grabber->priv->xkbStateGroup, - &keyval, NULL, NULL, &consumed); - - /* We want Alt + Print to be Alt + Print not SysReq. See bug #7897 */ --- -GitLab - - -From 5d34aac693e160de3d22d1700b89664dcac12394 Mon Sep 17 00:00:00 2001 -From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Date: Fri, 26 Feb 2021 05:27:16 +0100 -Subject: [PATCH 2/5] shortcuts: Fix a memory leak - ---- - libxfce4kbd-private/xfce-shortcuts-provider.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/libxfce4kbd-private/xfce-shortcuts-provider.c b/libxfce4kbd-private/xfce-shortcuts-provider.c -index b7f7a47..83ab6c0 100644 ---- libxfce4kbd-private/xfce-shortcuts-provider.c -+++ libxfce4kbd-private/xfce-shortcuts-provider.c -@@ -711,6 +711,7 @@ void - xfce_shortcuts_free (GList *shortcuts) - { - g_list_foreach (shortcuts, (GFunc) (void (*)(void)) xfce_shortcut_free, NULL); -+ g_list_free (shortcuts); - } - - --- -GitLab - - -From c18f068ab2bd69647af6519e389d76728c1f924e Mon Sep 17 00:00:00 2001 -From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Date: Fri, 26 Feb 2021 05:57:42 +0100 -Subject: [PATCH 3/5] shortcuts-grabber: Stop search when the first match is - found - ---- - libxfce4kbd-private/xfce-shortcuts-grabber.c | 14 ++++++-------- - 1 file changed, 6 insertions(+), 8 deletions(-) - -diff --git a/libxfce4kbd-private/xfce-shortcuts-grabber.c b/libxfce4kbd-private/xfce-shortcuts-grabber.c -index 9df45c3..61f8ef8 100644 ---- libxfce4kbd-private/xfce-shortcuts-grabber.c -+++ libxfce4kbd-private/xfce-shortcuts-grabber.c -@@ -391,10 +391,9 @@ xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, - - struct EventKeyFindContext - { -- XfceShortcutsGrabber *grabber; -- GdkModifierType modifiers; -- guint keyval; -- const gchar *result; -+ GdkModifierType modifiers; -+ guint keyval; -+ const gchar *result; - }; - - -@@ -461,7 +460,6 @@ xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - if (xevent->type != KeyPress) - return GDK_FILTER_CONTINUE; - -- context.grabber = grabber; - context.result = NULL; - timestamp = xevent->xkey.time; - -@@ -520,9 +518,9 @@ xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - TRACE ("Looking for %s", raw_shortcut_name); - g_free (raw_shortcut_name); - -- g_hash_table_foreach (grabber->priv->keys, -- (GHFunc) (void (*)(void)) find_event_key, -- &context); -+ g_hash_table_find (grabber->priv->keys, -+ (GHRFunc) (void (*)(void)) find_event_key, -+ &context); - - if (G_LIKELY (context.result != NULL)) - /* We had a positive match */ --- -GitLab - - -From 51deff8231b94f040060f663bcdb1c65d090884e Mon Sep 17 00:00:00 2001 -From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Date: Fri, 26 Feb 2021 06:52:04 +0100 -Subject: [PATCH 4/5] shortcuts-grabber: Redesign shortcut regrabbing (Bug #33) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch hopes to fix shortcut grabbing issues related to keyboard -layouts while maintaining high performance. - -The implementation uses a new hash-table for tracking the keycodes grabbed -from the X server. The grabbed X11/Xorg keys are reference counted: -X11 XGrabKey() is called once per a keycode+modifiers combination and -X11 XUngrabKey() is called when the reference count of the combination -drops to zero. It is common for the reference counts to, for example, -reach the value of 4 if the user is using 4 keyboard layouts, in which -case the new implementation will use a single XGrabKey() call compared -to 4 such calls in previous implementations. - -The grab_all() function has been removed and has been replaced by an -optimized regrab_all() function which is more efficient than the sequence -ungrab_all()+grab_all(). - -Tested keyboard layouts: - - English - - English (Colemak) - - French (BÉPO) - - Slovak (QWERTY) - -Test environments: - - Arch Linux (FR-BÉPO) - - FreeBSD (basic testing) - - Gentoo Linux (EN, EN-Colemak, SK-QWERTY) - - Xubuntu (basic testing) - -Closes: https://gitlab.xfce.org/xfce/libxfce4ui/-/issues/33 ---- - libxfce4kbd-private/xfce-shortcuts-grabber.c | 598 ++++++++++++++----- - 1 file changed, 449 insertions(+), 149 deletions(-) - -diff --git a/libxfce4kbd-private/xfce-shortcuts-grabber.c b/libxfce4kbd-private/xfce-shortcuts-grabber.c -index 61f8ef8..1de5929 100644 ---- libxfce4kbd-private/xfce-shortcuts-grabber.c -+++ libxfce4kbd-private/xfce-shortcuts-grabber.c -@@ -54,11 +54,13 @@ static void xfce_shortcuts_grabber_constructed (GObject - static void xfce_shortcuts_grabber_finalize (GObject *object); - static void xfce_shortcuts_grabber_keys_changed (GdkKeymap *keymap, - XfceShortcutsGrabber *grabber); --static void xfce_shortcuts_grabber_grab_all (XfceShortcutsGrabber *grabber); -+static void xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber); - static void xfce_shortcuts_grabber_ungrab_all (XfceShortcutsGrabber *grabber); - static void xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, -+ XfceKey *key); -+static void xfce_shortcuts_grabber_ungrab (XfceShortcutsGrabber *grabber, - XfceKey *key, -- gboolean grab); -+ gboolean trace); - static GdkFilterReturn xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - GdkEvent *event, - gpointer data); -@@ -67,25 +69,37 @@ static GdkFilterReturn xfce_shortcuts_grabber_event_filter (GdkXEvent - - struct _XfceShortcutsGrabberPrivate - { -+ /* Maps a shortcut string to a pointer to XfceKey */ - GHashTable *keys; -- gint xkbEventType, xkbStateGroup; --}; - --typedef enum --{ -- UNDEFINED_GRAB_STATE = 0, /* Initial value after g_new0(XfceKey) */ -- NOT_GRABBED, -- GRABBED, --} XfceKeyGrabState; -+ /* Maps an XfceXGrab to a reference count. -+ * The reference count tracks the number of shortcuts that grab the XfceXGrab. */ -+ GHashTable *grabbed_keycodes; -+ -+ gint xkbEventType, xkbStateGroup; -+}; - - struct _XfceKey - { - guint keyval; -- guint modifiers; -- GArray *keycodes; -- XfceKeyGrabState grab_state; -+ GdkModifierType modifiers; -+ -+ /* Information about how the key has been grabbed */ -+ guint n_keys; /* Equals 0 if the key isn't grabbed */ -+ GdkKeymapKey *keys; -+ GdkModifierType non_virtual_modifiers; -+ guint numlock_modifier; - }; - -+typedef struct -+{ -+ guint keycode; -+ GdkModifierType non_virtual_modifiers; -+ guint numlock_modifier; -+} XfceXGrab; -+ -+typedef guint XfceXGrabRefcount; -+ - - - G_DEFINE_TYPE (XfceShortcutsGrabber, xfce_shortcuts_grabber, G_TYPE_OBJECT) -@@ -117,6 +131,45 @@ xfce_shortcuts_grabber_class_init (XfceShortcutsGrabberClass *klass) - - - -+static void -+free_key (gpointer data) -+{ -+ XfceKey *key = data; -+ g_free (key->keys); -+ g_free (key); -+} -+ -+static gboolean -+xgrab_equal (gconstpointer data1, gconstpointer data2) -+{ -+ const XfceXGrab *a = data1; -+ const XfceXGrab *b = data2; -+ -+ if (a == b) -+ return TRUE; -+ -+ return a->keycode == b->keycode && -+ a->non_virtual_modifiers == b->non_virtual_modifiers && -+ a->numlock_modifier == b->numlock_modifier; -+} -+ -+static void -+xgrab_free (gpointer data) -+{ -+ XfceXGrab *g = data; -+ g_free (g); -+} -+ -+static guint -+xgrab_hash (gconstpointer data) -+{ -+ const XfceXGrab *g = data; -+ return g->keycode ^ g->non_virtual_modifiers ^ g->numlock_modifier; -+} -+ -+ -+ -+ - static void - xfce_shortcuts_grabber_init (XfceShortcutsGrabber *grabber) - { -@@ -124,7 +177,8 @@ xfce_shortcuts_grabber_init (XfceShortcutsGrabber *grabber) - GdkKeymap *keymap; - - grabber->priv = XFCE_SHORTCUTS_GRABBER_GET_PRIVATE (grabber); -- grabber->priv->keys = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); -+ grabber->priv->keys = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, free_key); -+ grabber->priv->grabbed_keycodes = g_hash_table_new_full (xgrab_hash, xgrab_equal, xgrab_free, g_free); - - /* Workaround: Make sure modmap is up to date - * There is possibly a bug in GTK+ where virtual modifiers are not -@@ -173,6 +227,7 @@ xfce_shortcuts_grabber_finalize (GObject *object) - - xfce_shortcuts_grabber_ungrab_all (grabber); - g_hash_table_unref (grabber->priv->keys); -+ g_hash_table_unref (grabber->priv->grabbed_keycodes); - - (*G_OBJECT_CLASS (xfce_shortcuts_grabber_parent_class)->finalize) (object); - } -@@ -187,29 +242,73 @@ xfce_shortcuts_grabber_keys_changed (GdkKeymap *keymap, - - TRACE ("Keys changed, regrabbing"); - -- xfce_shortcuts_grabber_grab_all (grabber); -+ xfce_shortcuts_grabber_regrab_all (grabber); - } - - - - static gboolean --grab_key (const gchar *shortcut, -- XfceKey *key, -- XfceShortcutsGrabber *grabber) -+xfce_shortcuts_grabber_xgrab (XfceXGrab g, gboolean grab) - { -- xfce_shortcuts_grabber_grab (grabber, key, TRUE); -- return FALSE; --} -+ GdkDisplay *display = gdk_display_get_default (); -+ Display *xdisplay = GDK_DISPLAY_XDISPLAY (display); -+ Window root_window; -+ guint k; -+ gboolean success = TRUE; -+ -+ /* Ignorable modifiers */ -+ const guint mod_masks [] = { -+ 0, -+ GDK_MOD2_MASK, -+ g.numlock_modifier | GDK_MOD2_MASK, -+ GDK_LOCK_MASK, -+ g.numlock_modifier | GDK_LOCK_MASK, -+ GDK_MOD5_MASK, -+ g.numlock_modifier | GDK_MOD5_MASK, -+ GDK_MOD2_MASK | GDK_LOCK_MASK, -+ g.numlock_modifier | GDK_MOD2_MASK | GDK_LOCK_MASK, -+ GDK_MOD2_MASK | GDK_MOD5_MASK, -+ g.numlock_modifier | GDK_MOD2_MASK | GDK_MOD5_MASK, -+ GDK_LOCK_MASK | GDK_MOD5_MASK, -+ g.numlock_modifier | GDK_LOCK_MASK | GDK_MOD5_MASK, -+ GDK_MOD2_MASK | GDK_LOCK_MASK | GDK_MOD5_MASK, -+ g.numlock_modifier | GDK_MOD2_MASK | GDK_LOCK_MASK | GDK_MOD5_MASK, -+ }; -+ -+ /* Retrieve the root window of the screen */ -+ root_window = GDK_WINDOW_XID (gdk_screen_get_root_window (gdk_display_get_default_screen (display))); -+ -+ TRACE ("%s keycode %u, non_virtual_modifiers 0x%x", -+ grab ? "Grabbing" : "Ungrabbing", -+ g.keycode, g.non_virtual_modifiers); - -+ gdk_x11_display_error_trap_push (display); - -+ for (k = 0; k < G_N_ELEMENTS (mod_masks); k++) -+ { -+ /* Take ignorable modifiers into account when grabbing/ungrabbing */ -+ if (grab) -+ XGrabKey (xdisplay, -+ g.keycode, -+ g.non_virtual_modifiers | mod_masks [k], -+ root_window, -+ False, GrabModeAsync, GrabModeAsync); -+ else -+ XUngrabKey (xdisplay, -+ g.keycode, -+ g.non_virtual_modifiers | mod_masks [k], -+ root_window); -+ } - --static void --xfce_shortcuts_grabber_grab_all (XfceShortcutsGrabber *grabber) --{ -- g_return_if_fail (XFCE_IS_SHORTCUTS_GRABBER (grabber)); -- g_hash_table_foreach (grabber->priv->keys, -- (GHFunc) (void (*)(void)) grab_key, -- grabber); -+ gdk_display_flush (display); -+ if (gdk_x11_display_error_trap_pop (display)) -+ { -+ g_warning ("Failed to %s keycode %u", -+ grab ? "grab" : "ungrab", g.keycode); -+ success = FALSE; -+ } -+ -+ return success; - } - - -@@ -219,7 +318,7 @@ ungrab_key (const gchar *shortcut, - XfceKey *key, - XfceShortcutsGrabber *grabber) - { -- xfce_shortcuts_grabber_grab (grabber, key, FALSE); -+ xfce_shortcuts_grabber_ungrab (grabber, key, TRUE); - return FALSE; - } - -@@ -236,155 +335,358 @@ xfce_shortcuts_grabber_ungrab_all (XfceShortcutsGrabber *grabber) - - - -+static gboolean -+get_entries_for_keyval (GdkKeymap *keymap, -+ guint keyval, -+ GdkKeymapKey **keys, -+ gint *n_keys) -+{ -+ /* Get all keys generating keyval */ -+ if (!gdk_keymap_get_entries_for_keyval (keymap, keyval, keys, n_keys)) -+ { -+ TRACE ("Got no keys for keyval"); -+ return FALSE; -+ } -+ -+ if (G_UNLIKELY (*n_keys <= 0)) -+ { -+ g_free (*keys); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+ -+ -+static gboolean -+map_virtual_modifiers (GdkKeymap *keymap, -+ GdkModifierType virtual_modifiers, -+ GdkModifierType *non_virtual_modifiers) -+{ -+ /* Map virtual modifiers to non-virtual modifiers */ -+ GdkModifierType non_virtual = virtual_modifiers; -+ if (!gdk_keymap_map_virtual_modifiers (keymap, &non_virtual)) -+ return FALSE; -+ -+ if (non_virtual == virtual_modifiers && -+ (GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK) & non_virtual) -+ { -+ TRACE ("Failed to map virtual modifiers"); -+ return FALSE; -+ } -+ -+ *non_virtual_modifiers = non_virtual; -+ return TRUE; -+} -+ -+ -+ -+ - static void --xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, -- XfceKey *key, -- gboolean grab) -+xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - { -- GdkModifierType numlock_modifier; -- GdkKeymapKey *keys; -- GdkDisplay *display; -- GdkKeymap *keymap; -- gchar *shortcut_name; -- guint modifiers; -- guint k; -- gint i; -- gint j; -- gint n_keys; -- gint screens; -+ GdkDisplay *display; -+ Display *xdisplay; -+ GdkKeymap *keymap; -+ guint numlock_modifier; -+ GHashTable *grabbed_keycodes; -+ GHashTableIter iter; -+ gpointer hash_value; -+ guint n_already_grabbed = 0; -+ guint n_regrab = 0; -+ XfceKey **regrab; /* list of keys to re-grab */ -+ guint i; - - g_return_if_fail (XFCE_IS_SHORTCUTS_GRABBER (grabber)); -- g_return_if_fail (key != NULL); -- -- if (key->grab_state == (grab ? GRABBED : NOT_GRABBED)) { -- TRACE (grab ? "Key already grabbed" : "Key already ungrabbed"); -- return; -- } -- key->grab_state = UNDEFINED_GRAB_STATE; - - display = gdk_display_get_default (); -- screens = 1; -+ xdisplay = GDK_DISPLAY_XDISPLAY (display); - keymap = gdk_keymap_get_for_display (display); -+ numlock_modifier = XkbKeysymToModifiers (xdisplay, GDK_KEY_Num_Lock); -+ grabbed_keycodes = grabber->priv->grabbed_keycodes; -+ -+ regrab = g_malloc (g_hash_table_size (grabber->priv->keys) * sizeof (*regrab)); -+ -+ /* Phase 1: Ungrab all keys that need to be re-grabbed -+ * and collect them into the 'regrab' list */ -+ g_hash_table_iter_init (&iter, grabber->priv->keys); -+ while (g_hash_table_iter_next (&iter, NULL, &hash_value)) -+ { -+ XfceKey *const key = hash_value; -+ GdkKeymapKey *keys; -+ GdkModifierType non_virtual_modifiers; -+ gint n_keys; -+ gboolean already_grabbed; -+ -+ if (!map_virtual_modifiers (keymap, key->modifiers, &non_virtual_modifiers)) -+ continue; -+ if (!get_entries_for_keyval (keymap, key->keyval, &keys, &n_keys)) -+ continue; -+ -+ already_grabbed = TRUE; -+ if (key->n_keys == (guint) n_keys && -+ key->non_virtual_modifiers == non_virtual_modifiers && -+ key->numlock_modifier == numlock_modifier) -+ { -+ gint j; -+ for (j = 0; j < n_keys; j++) -+ if (memcmp (&key->keys[j], &keys[j], sizeof(*keys)) != 0) -+ { -+ already_grabbed = FALSE; -+ break; -+ } -+ } -+ else -+ already_grabbed = FALSE; -+ -+ if (already_grabbed) -+ { -+ n_already_grabbed++; -+ g_free (keys); -+ } -+ else -+ { -+ /* Undo current X11 grabs of the key */ -+ xfce_shortcuts_grabber_ungrab (grabber, key, FALSE); -+ -+ /* Set key->keys to the keycodes that need to be grabbed in phase 2 */ -+ if (G_UNLIKELY (key->keys)) -+ { -+ g_free (key->keys); -+ key->keys = NULL; -+ } -+ key->n_keys = n_keys; -+ if (n_keys != 0) -+ key->keys = keys; -+ else -+ g_free (keys); -+ key->non_virtual_modifiers = non_virtual_modifiers; -+ key->numlock_modifier = numlock_modifier; -+ -+ /* Remember to grab the key in phase 2 */ -+ regrab[n_regrab++] = key; -+ } -+ } - -- /* Map virtual modifiers to non-virtual modifiers */ -- modifiers = key->modifiers; -- gdk_keymap_map_virtual_modifiers (keymap, &modifiers); -+ TRACE ("n_already_grabbed=%u, n_regrab=%u", n_already_grabbed, n_regrab); -+ -+ /* Phase 2: Grab all keys that have been stored in the 'regrab' list */ -+ for (i = 0; i < n_regrab; i++) -+ { -+ XfceKey *const key = regrab[i]; -+ guint j; -+ -+#ifdef DEBUG_TRACE -+ gchar *shortcut_name = gtk_accelerator_name (key->keyval, key->non_virtual_modifiers); -+ TRACE (key->n_keys==0 ? "Grabbing %s" : "Regrabbing %s", shortcut_name); -+ TRACE (" key->keyval: %d", key->keyval); -+ TRACE (" key->modifiers: 0x%x", key->modifiers); -+ TRACE (" key->non_virtual_modifiers: 0x%x", key->non_virtual_modifiers); -+ TRACE (" key->n_keys: %d", key->n_keys); -+ g_free (shortcut_name); -+ shortcut_name = NULL; -+#endif - -- /* Debugging information */ -- shortcut_name = gtk_accelerator_name (key->keyval, modifiers); -+ /* Grab all hardware keys generating keyval */ -+ for (j = 0; j < key->n_keys;) -+ { -+ XfceXGrab g; -+ gpointer refcount; -+ -+ g.keycode = key->keys[j].keycode; -+ g.non_virtual_modifiers = key->non_virtual_modifiers; -+ g.numlock_modifier = key->numlock_modifier; -+ if (!g_hash_table_lookup_extended (grabbed_keycodes, &g, NULL, &refcount)) -+ { -+ if (xfce_shortcuts_grabber_xgrab (g, TRUE)) -+ { -+ XfceXGrab *g1 = g_new (XfceXGrab, 1); -+ XfceXGrabRefcount *refcount1 = g_new (XfceXGrabRefcount, 1); -+ *g1 = g; -+ *refcount1 = 1; -+ g_hash_table_insert (grabbed_keycodes, g1, refcount1); -+ j++; -+ } -+ else -+ /* Failed to grab key->keys[j], remove it from key->keys */ -+ key->keys[j] = key->keys[--key->n_keys]; -+ } -+ else -+ { -+ // 'g' has already been grabbed, increment its refcount only -+ XfceXGrabRefcount *refcount1 = refcount; -+ (*refcount1)++; -+ TRACE ("keycode %u, non_virtual_modifiers 0x%x: ++refcount = %u", -+ g.keycode, g.non_virtual_modifiers, *refcount1); -+ j++; -+ } -+ } -+ -+ if (key->n_keys == 0 && key->keys != NULL) -+ { -+ g_free (key->keys); -+ key->keys = NULL; -+ } -+ } - -- TRACE (grab ? "Grabbing %s" : "Ungrabbing %s", shortcut_name); -- TRACE ("Keyval: %d", key->keyval); -- TRACE ("Modifiers: 0x%x", modifiers); -+ g_free (regrab); -+} - -+ -+ -+static void -+xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, XfceKey *key) -+{ -+ GdkDisplay *display; -+ Display *xdisplay; -+ GdkKeymap *keymap; -+ guint numlock_modifier; -+ GHashTable *grabbed_keycodes; -+ GdkKeymapKey *keys; -+ GdkModifierType non_virtual_modifiers; -+ gint i, n_keys; -+#ifdef DEBUG_TRACE -+ gchar *shortcut_name; -+#endif -+ -+ display = gdk_display_get_default (); -+ xdisplay = GDK_DISPLAY_XDISPLAY (display); -+ keymap = gdk_keymap_get_for_display (display); -+ numlock_modifier = XkbKeysymToModifiers (xdisplay, GDK_KEY_Num_Lock); -+ grabbed_keycodes = grabber->priv->grabbed_keycodes; -+ -+ if (!map_virtual_modifiers (keymap, key->modifiers, &non_virtual_modifiers)) -+ return; -+ if (!get_entries_for_keyval (keymap, key->keyval, &keys, &n_keys)) -+ return; -+ -+#ifdef DEBUG_TRACE -+ shortcut_name = gtk_accelerator_name (key->keyval, non_virtual_modifiers); -+ TRACE (key->n_keys==0 ? "Grabbing %s" : "Regrabbing %s", shortcut_name); -+ TRACE (" key->keyval: %d", key->keyval); -+ TRACE (" key->modifiers: 0x%x", key->modifiers); -+ TRACE (" non_virtual_modifiers: 0x%x", non_virtual_modifiers); -+ TRACE (" n_keys: %d", n_keys); - g_free (shortcut_name); -+ shortcut_name = NULL; -+#endif - -- if (modifiers == key->modifiers && -- (GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_META_MASK) & modifiers) -+ /* Undo old grabs (just in case there are some old grabs) */ -+ if (G_UNLIKELY (key->n_keys != 0)) - { -- TRACE ("Failed to map virtual modifiers"); -- return; -+ g_warning ("keyval %u already grabbed", key->keyval); -+ xfce_shortcuts_grabber_ungrab (grabber, key, TRUE); - } - -- /* Get all keys generating keyval */ -- if (!gdk_keymap_get_entries_for_keyval (keymap,key->keyval, -- &keys, &n_keys)) -+ /* Grab all hardware keys generating keyval */ -+ for (i = 0; i < n_keys;) - { -- TRACE ("Got no keys for keyval"); -- return; -+ XfceXGrab g; -+ gpointer refcount; -+ -+ g.keycode = keys[i].keycode; -+ g.non_virtual_modifiers = non_virtual_modifiers; -+ g.numlock_modifier = numlock_modifier; -+ if (!g_hash_table_lookup_extended (grabbed_keycodes, &g, NULL, &refcount)) -+ { -+ if (xfce_shortcuts_grabber_xgrab (g, TRUE)) -+ { -+ XfceXGrab *g1 = g_new (XfceXGrab, 1); -+ XfceXGrabRefcount *refcount1 = g_new (XfceXGrabRefcount, 1); -+ *g1 = g; -+ *refcount1 = 1; -+ g_hash_table_insert (grabbed_keycodes, g1, refcount1); -+ TRACE ("[group %d] keycode %u, non_virtual_modifiers 0x%x: refcount := %u", -+ keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); -+ i++; -+ } -+ else -+ /* Failed to grab keys[i], remove it from keys */ -+ keys[i] = keys[--n_keys]; -+ } -+ else -+ { -+ // 'g' has already been grabbed, increment its refcount only -+ XfceXGrabRefcount *refcount1 = refcount; -+ (*refcount1)++; -+ TRACE ("[group %d] keycode %u, non_virtual_modifiers 0x%x: ++refcount = %u", -+ keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); -+ i++; -+ } - } - -- if (n_keys == 0) -- { -- g_free (keys); -+ /* Set key->keys to the list of keys that been succesfully grabbed */ -+ g_free (key->keys); -+ key->keys = NULL; -+ key->n_keys = n_keys; -+ if (n_keys != 0) -+ key->keys = keys; -+ else -+ g_free (keys); -+ key->non_virtual_modifiers = non_virtual_modifiers; -+ key->numlock_modifier = numlock_modifier; -+} - -- TRACE ("Got 0 keys for keyval"); -- return; -- } -+static void -+xfce_shortcuts_grabber_ungrab (XfceShortcutsGrabber *grabber, XfceKey *key, -+ gboolean trace) -+{ -+ GHashTable *grabbed_keycodes; -+ guint i; - -- numlock_modifier = -- XkbKeysymToModifiers (GDK_DISPLAY_XDISPLAY (display), GDK_KEY_Num_Lock); -+ grabbed_keycodes = grabber->priv->grabbed_keycodes; - -- key->grab_state = (grab ? GRABBED : NOT_GRABBED); -- for (i = 0; i < n_keys; i ++) -+ if (trace) - { -- /* Grab all hardware keys generating keyval */ -+ gchar *shortcut_name = gtk_accelerator_name (key->keyval, key->non_virtual_modifiers); -+ TRACE ("Ungrabbing %s", shortcut_name); -+ TRACE (" key->keyval: %d", key->keyval); -+ TRACE (" key->modifiers: 0x%x", key->modifiers); -+ TRACE (" key->non_virtual_modifiers: 0x%x", key->non_virtual_modifiers); -+ TRACE (" key->n_keys: %u", key->n_keys); -+ g_free (shortcut_name); -+ } - -- TRACE ("Keycode: %d", keys[i].keycode); -+ for (i = 0; i < key->n_keys; i++) -+ { -+ XfceXGrab g; -+ gpointer refcount; - -- for (j = 0; j < screens; j++) -+ g.keycode = key->keys[i].keycode; -+ g.non_virtual_modifiers = key->non_virtual_modifiers; -+ g.numlock_modifier = key->numlock_modifier; -+ if (G_LIKELY (g_hash_table_lookup_extended (grabbed_keycodes, &g, NULL, &refcount))) - { -- /* Do the grab on all screens */ -- Window root_window; -- -- /* Ignorable modifiers */ -- guint mod_masks [] = { -- 0, -- GDK_MOD2_MASK, -- numlock_modifier | GDK_MOD2_MASK, -- GDK_LOCK_MASK, -- numlock_modifier | GDK_LOCK_MASK, -- GDK_MOD5_MASK, -- numlock_modifier | GDK_MOD5_MASK, -- GDK_MOD2_MASK | GDK_LOCK_MASK, -- numlock_modifier | GDK_MOD2_MASK | GDK_LOCK_MASK, -- GDK_MOD2_MASK | GDK_MOD5_MASK, -- numlock_modifier | GDK_MOD2_MASK | GDK_MOD5_MASK, -- GDK_LOCK_MASK | GDK_MOD5_MASK, -- numlock_modifier | GDK_LOCK_MASK | GDK_MOD5_MASK, -- GDK_MOD2_MASK | GDK_LOCK_MASK | GDK_MOD5_MASK, -- numlock_modifier | GDK_MOD2_MASK | GDK_LOCK_MASK | GDK_MOD5_MASK, -- }; -- -- /* Retrieve the root window of the screen */ -- root_window = GDK_WINDOW_XID (gdk_screen_get_root_window (gdk_display_get_default_screen (display))); -- gdk_x11_display_error_trap_push (display); -- -- for (k = 0; k < G_N_ELEMENTS (mod_masks); k++) -+ XfceXGrabRefcount *refcount1 = refcount; -+ if (G_LIKELY (*refcount1 != 0)) - { -- /* Take ignorable modifiers into account when grabbing */ -- if (grab) -- XGrabKey (GDK_DISPLAY_XDISPLAY (display), -- keys[i].keycode, -- modifiers | mod_masks [k], -- root_window, -- False, -- GrabModeAsync, -- GrabModeAsync); -- else -+ (*refcount1)--; -+ if (trace) -+ TRACE ("[group %d] keycode %u, non_virtual_modifiers 0x%x: --refcount = %u", -+ key->keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); -+ if(*refcount1 == 0) - { -- if (i >= (gint) key->keycodes->len) -- break; -- XUngrabKey (GDK_DISPLAY_XDISPLAY (display), -- g_array_index (key->keycodes, guint, i), -- modifiers | mod_masks [k], -- root_window); -+ xfce_shortcuts_grabber_xgrab (g, FALSE); -+ g_hash_table_remove (grabbed_keycodes, &g); - } - } -- -- gdk_display_flush (display); -- -- if (gdk_x11_display_error_trap_pop (display)) -+ else - { -- TRACE (grab ? "Failed to grab" : "Failed to ungrab"); -- key->grab_state = UNDEFINED_GRAB_STATE; -+ g_warning ("corrupted refcount"); - } - } -- /* Remember the old keycode, as we need it to ungrab. */ -- if (grab) -- g_array_append_val (key->keycodes, keys[i].keycode); - else -- g_array_index (key->keycodes, guint, i) = UINT_MAX; -- } -- -- /* Cleanup elements containing UINT_MAX from the key->keycodes array */ -- for (i = key->keycodes->len - 1; i >= 0; i --) -- { -- if (g_array_index (key->keycodes, guint, i) == UINT_MAX) -- g_array_remove_index_fast (key->keycodes, i); -+ { -+ g_warning ("corrupted hashtable"); -+ } - } - -- g_free (keys); -+ g_free (key->keys); -+ key->keys = NULL; -+ key->n_keys = 0; -+ key->non_virtual_modifiers = 0; -+ key->numlock_modifier = 0; - } - - -@@ -451,8 +753,7 @@ xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - if (grabber->priv->xkbStateGroup != e->state.group) - { - grabber->priv->xkbStateGroup = e->state.group; -- xfce_shortcuts_grabber_ungrab_all (grabber); -- xfce_shortcuts_grabber_grab_all (grabber); -+ xfce_shortcuts_grabber_regrab_all (grabber); - } - } - } -@@ -553,19 +854,18 @@ xfce_shortcuts_grabber_add (XfceShortcutsGrabber *grabber, - g_return_if_fail (shortcut != NULL); - - key = g_new0 (XfceKey, 1); -- key->keycodes = g_array_new (FALSE, TRUE, sizeof (guint)); - - gtk_accelerator_parse (shortcut, &key->keyval, &key->modifiers); -+ TRACE ("parse %s -> keyval=0x%x, modifiers=0x%x", shortcut, key->keyval, key->modifiers); - - if (G_LIKELY (key->keyval != 0)) - { -- xfce_shortcuts_grabber_grab (grabber, key, TRUE); -+ xfce_shortcuts_grabber_grab (grabber, key); - g_hash_table_insert (grabber->priv->keys, g_strdup (shortcut), key); - } - else - { -- g_array_free (key->keycodes, TRUE); -- g_free (key); -+ free_key (key); - } - } - -@@ -584,7 +884,7 @@ xfce_shortcuts_grabber_remove (XfceShortcutsGrabber *grabber, - - if (G_LIKELY (key != NULL)) - { -- xfce_shortcuts_grabber_grab (grabber, key, FALSE); -+ xfce_shortcuts_grabber_ungrab (grabber, key, TRUE); - g_hash_table_remove (grabber->priv->keys, shortcut); - } - } --- -GitLab - - -From 609b60be1ea7db9140a1d96ad4dccf7d9512b7fd Mon Sep 17 00:00:00 2001 -From: Jan Ziak <0xe2.0x9a.0x9b@gmail.com> -Date: Sat, 27 Feb 2021 17:34:41 +0100 -Subject: [PATCH 5/5] shortcuts-grabber: Filter grabbing by key group - -Closes: https://gitlab.xfce.org/xfce/libxfce4ui/-/issues/33 ---- - libxfce4kbd-private/xfce-shortcuts-grabber.c | 162 ++++++++++++------- - 1 file changed, 106 insertions(+), 56 deletions(-) - -diff --git a/libxfce4kbd-private/xfce-shortcuts-grabber.c b/libxfce4kbd-private/xfce-shortcuts-grabber.c -index 1de5929..4d21e4a 100644 ---- libxfce4kbd-private/xfce-shortcuts-grabber.c -+++ libxfce4kbd-private/xfce-shortcuts-grabber.c -@@ -59,8 +59,7 @@ static void xfce_shortcuts_grabber_ungrab_all (XfceShortcutsGra - static void xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, - XfceKey *key); - static void xfce_shortcuts_grabber_ungrab (XfceShortcutsGrabber *grabber, -- XfceKey *key, -- gboolean trace); -+ XfceKey *key); - static GdkFilterReturn xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - GdkEvent *event, - gpointer data); -@@ -318,7 +317,7 @@ ungrab_key (const gchar *shortcut, - XfceKey *key, - XfceShortcutsGrabber *grabber) - { -- xfce_shortcuts_grabber_ungrab (grabber, key, TRUE); -+ xfce_shortcuts_grabber_ungrab (grabber, key); - return FALSE; - } - -@@ -337,23 +336,67 @@ xfce_shortcuts_grabber_ungrab_all (XfceShortcutsGrabber *grabber) - - static gboolean - get_entries_for_keyval (GdkKeymap *keymap, -+ gint group, - guint keyval, - GdkKeymapKey **keys, -- gint *n_keys) -+ guint *n_keys) - { -- /* Get all keys generating keyval */ -- if (!gdk_keymap_get_entries_for_keyval (keymap, keyval, keys, n_keys)) -+ GdkKeymapKey *keys1; -+ gint n_keys1; -+ -+ *keys = NULL; -+ *n_keys = 0; -+ -+ /* Get all keys generating keyval */ -+ if (!gdk_keymap_get_entries_for_keyval (keymap, keyval, &keys1, &n_keys1)) - { - TRACE ("Got no keys for keyval"); - return FALSE; - } - -- if (G_UNLIKELY (*n_keys <= 0)) -+ if (G_UNLIKELY (n_keys1 <= 0)) - { -- g_free (*keys); -+ g_free (keys1); - return FALSE; - } - -+ /* Filter keys by group */ -+ { -+ gboolean group0_only; -+ gint i, n_matches; -+ -+ /* For keys such as F12: -+ * keys1[i].group is always 0 (even if n_keys1 >= 2) -+ * and thus n_matches will be zero if group != 0 */ -+ -+ group0_only = TRUE; -+ n_matches = 0; -+ for (i = 0; i < n_keys1; i++) -+ { -+ group0_only &= (keys1[i].group == 0) ? TRUE : FALSE; -+ if (keys1[i].group == group) -+ n_matches++; -+ } -+ -+ if (!group0_only || n_matches != 0) -+ { -+ /* Remove keys that do not match the group*/ -+ for (i = 0; i < n_keys1;) -+ if (keys1[i].group == group) -+ i++; -+ else -+ keys1[i] = keys1[--n_keys1]; -+ } -+ } -+ -+ if (G_UNLIKELY (n_keys1 == 0)) -+ { -+ g_free (keys1); -+ keys1 = NULL; -+ } -+ -+ *keys = keys1; -+ *n_keys = n_keys1; - return TRUE; - } - -@@ -397,6 +440,7 @@ xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - guint n_regrab = 0; - XfceKey **regrab; /* list of keys to re-grab */ - guint i; -+ gint group; - - g_return_if_fail (XFCE_IS_SHORTCUTS_GRABBER (grabber)); - -@@ -405,6 +449,9 @@ xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - keymap = gdk_keymap_get_for_display (display); - numlock_modifier = XkbKeysymToModifiers (xdisplay, GDK_KEY_Num_Lock); - grabbed_keycodes = grabber->priv->grabbed_keycodes; -+ group = grabber->priv->xkbStateGroup; -+ if (G_UNLIKELY (group == -1)) -+ group = 0; - - regrab = g_malloc (g_hash_table_size (grabber->priv->keys) * sizeof (*regrab)); - -@@ -416,20 +463,20 @@ xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - XfceKey *const key = hash_value; - GdkKeymapKey *keys; - GdkModifierType non_virtual_modifiers; -- gint n_keys; -+ guint n_keys; - gboolean already_grabbed; - - if (!map_virtual_modifiers (keymap, key->modifiers, &non_virtual_modifiers)) - continue; -- if (!get_entries_for_keyval (keymap, key->keyval, &keys, &n_keys)) -+ if (!get_entries_for_keyval (keymap, group, key->keyval, &keys, &n_keys)) - continue; - - already_grabbed = TRUE; -- if (key->n_keys == (guint) n_keys && -+ if (key->n_keys == n_keys && - key->non_virtual_modifiers == non_virtual_modifiers && - key->numlock_modifier == numlock_modifier) - { -- gint j; -+ guint j; - for (j = 0; j < n_keys; j++) - if (memcmp (&key->keys[j], &keys[j], sizeof(*keys)) != 0) - { -@@ -448,7 +495,8 @@ xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - else - { - /* Undo current X11 grabs of the key */ -- xfce_shortcuts_grabber_ungrab (grabber, key, FALSE); -+ if (key->n_keys != 0) -+ xfce_shortcuts_grabber_ungrab (grabber, key); - - /* Set key->keys to the keycodes that need to be grabbed in phase 2 */ - if (G_UNLIKELY (key->keys)) -@@ -465,7 +513,8 @@ xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - key->numlock_modifier = numlock_modifier; - - /* Remember to grab the key in phase 2 */ -- regrab[n_regrab++] = key; -+ if (n_keys != 0) -+ regrab[n_regrab++] = key; - } - } - -@@ -478,14 +527,15 @@ xfce_shortcuts_grabber_regrab_all (XfceShortcutsGrabber *grabber) - guint j; - - #ifdef DEBUG_TRACE -- gchar *shortcut_name = gtk_accelerator_name (key->keyval, key->non_virtual_modifiers); -- TRACE (key->n_keys==0 ? "Grabbing %s" : "Regrabbing %s", shortcut_name); -- TRACE (" key->keyval: %d", key->keyval); -- TRACE (" key->modifiers: 0x%x", key->modifiers); -- TRACE (" key->non_virtual_modifiers: 0x%x", key->non_virtual_modifiers); -- TRACE (" key->n_keys: %d", key->n_keys); -- g_free (shortcut_name); -- shortcut_name = NULL; -+ { -+ gchar *shortcut_name = gtk_accelerator_name (key->keyval, key->non_virtual_modifiers); -+ TRACE (key->n_keys==0 ? "Grabbing %s" : "Regrabbing %s", shortcut_name); -+ TRACE (" key->keyval: %d", key->keyval); -+ TRACE (" key->modifiers: 0x%x", key->modifiers); -+ TRACE (" key->non_virtual_modifiers: 0x%x", key->non_virtual_modifiers); -+ TRACE (" key->n_keys: %u", key->n_keys); -+ g_free (shortcut_name); -+ } - #endif - - /* Grab all hardware keys generating keyval */ -@@ -545,38 +595,40 @@ xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, XfceKey *key) - GHashTable *grabbed_keycodes; - GdkKeymapKey *keys; - GdkModifierType non_virtual_modifiers; -- gint i, n_keys; --#ifdef DEBUG_TRACE -- gchar *shortcut_name; --#endif -+ guint i, n_keys; -+ gint group; - - display = gdk_display_get_default (); - xdisplay = GDK_DISPLAY_XDISPLAY (display); - keymap = gdk_keymap_get_for_display (display); - numlock_modifier = XkbKeysymToModifiers (xdisplay, GDK_KEY_Num_Lock); - grabbed_keycodes = grabber->priv->grabbed_keycodes; -+ group = grabber->priv->xkbStateGroup; -+ if (G_UNLIKELY (group == -1)) -+ group = 0; - - if (!map_virtual_modifiers (keymap, key->modifiers, &non_virtual_modifiers)) - return; -- if (!get_entries_for_keyval (keymap, key->keyval, &keys, &n_keys)) -+ if (!get_entries_for_keyval (keymap, group, key->keyval, &keys, &n_keys)) - return; - - #ifdef DEBUG_TRACE -- shortcut_name = gtk_accelerator_name (key->keyval, non_virtual_modifiers); -- TRACE (key->n_keys==0 ? "Grabbing %s" : "Regrabbing %s", shortcut_name); -- TRACE (" key->keyval: %d", key->keyval); -- TRACE (" key->modifiers: 0x%x", key->modifiers); -- TRACE (" non_virtual_modifiers: 0x%x", non_virtual_modifiers); -- TRACE (" n_keys: %d", n_keys); -- g_free (shortcut_name); -- shortcut_name = NULL; -+ { -+ char *shortcut_name = gtk_accelerator_name (key->keyval, non_virtual_modifiers); -+ TRACE (key->n_keys==0 ? "Grabbing %s" : "Regrabbing %s", shortcut_name); -+ TRACE (" key->keyval: %d", key->keyval); -+ TRACE (" key->modifiers: 0x%x", key->modifiers); -+ TRACE (" non_virtual_modifiers: 0x%x", non_virtual_modifiers); -+ TRACE (" n_keys: %u", n_keys); -+ g_free (shortcut_name); -+ } - #endif - - /* Undo old grabs (just in case there are some old grabs) */ - if (G_UNLIKELY (key->n_keys != 0)) - { - g_warning ("keyval %u already grabbed", key->keyval); -- xfce_shortcuts_grabber_ungrab (grabber, key, TRUE); -+ xfce_shortcuts_grabber_ungrab (grabber, key); - } - - /* Grab all hardware keys generating keyval */ -@@ -597,7 +649,7 @@ xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, XfceKey *key) - *g1 = g; - *refcount1 = 1; - g_hash_table_insert (grabbed_keycodes, g1, refcount1); -- TRACE ("[group %d] keycode %u, non_virtual_modifiers 0x%x: refcount := %u", -+ TRACE ("group %d, keycode %u, non_virtual_modifiers 0x%x: refcount := %u", - keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); - i++; - } -@@ -610,7 +662,7 @@ xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, XfceKey *key) - // 'g' has already been grabbed, increment its refcount only - XfceXGrabRefcount *refcount1 = refcount; - (*refcount1)++; -- TRACE ("[group %d] keycode %u, non_virtual_modifiers 0x%x: ++refcount = %u", -+ TRACE ("group %d, keycode %u, non_virtual_modifiers 0x%x: ++refcount = %u", - keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); - i++; - } -@@ -629,24 +681,24 @@ xfce_shortcuts_grabber_grab (XfceShortcutsGrabber *grabber, XfceKey *key) - } - - static void --xfce_shortcuts_grabber_ungrab (XfceShortcutsGrabber *grabber, XfceKey *key, -- gboolean trace) -+xfce_shortcuts_grabber_ungrab (XfceShortcutsGrabber *grabber, XfceKey *key) - { - GHashTable *grabbed_keycodes; - guint i; - - grabbed_keycodes = grabber->priv->grabbed_keycodes; - -- if (trace) -- { -- gchar *shortcut_name = gtk_accelerator_name (key->keyval, key->non_virtual_modifiers); -- TRACE ("Ungrabbing %s", shortcut_name); -- TRACE (" key->keyval: %d", key->keyval); -- TRACE (" key->modifiers: 0x%x", key->modifiers); -- TRACE (" key->non_virtual_modifiers: 0x%x", key->non_virtual_modifiers); -- TRACE (" key->n_keys: %u", key->n_keys); -- g_free (shortcut_name); -- } -+#ifdef DEBUG_TRACE -+ { -+ gchar *shortcut_name = gtk_accelerator_name (key->keyval, key->non_virtual_modifiers); -+ TRACE ("Ungrabbing %s", shortcut_name); -+ TRACE (" key->keyval: %d", key->keyval); -+ TRACE (" key->modifiers: 0x%x", key->modifiers); -+ TRACE (" key->non_virtual_modifiers: 0x%x", key->non_virtual_modifiers); -+ TRACE (" key->n_keys: %u", key->n_keys); -+ g_free (shortcut_name); -+ } -+#endif - - for (i = 0; i < key->n_keys; i++) - { -@@ -662,9 +714,8 @@ xfce_shortcuts_grabber_ungrab (XfceShortcutsGrabber *grabber, XfceKey *key, - if (G_LIKELY (*refcount1 != 0)) - { - (*refcount1)--; -- if (trace) -- TRACE ("[group %d] keycode %u, non_virtual_modifiers 0x%x: --refcount = %u", -- key->keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); -+ TRACE ("group %d, keycode %u, non_virtual_modifiers 0x%x: --refcount = %u", -+ key->keys[i].group, g.keycode, g.non_virtual_modifiers, *refcount1); - if(*refcount1 == 0) - { - xfce_shortcuts_grabber_xgrab (g, FALSE); -@@ -746,12 +797,11 @@ xfce_shortcuts_grabber_event_filter (GdkXEvent *gdk_xevent, - if (xevent->type == grabber->priv->xkbEventType) - { - const XkbEvent *e = (const XkbEvent*) xevent; -- TRACE ("xkb event: any.xkb_type=%d", e->any.xkb_type); - if (e->any.xkb_type == XkbStateNotify) - { -- TRACE ("xkb event: any.xkb_type=XkbStateNotify, state.group=%d", e->state.group); - if (grabber->priv->xkbStateGroup != e->state.group) - { -+ TRACE ("xkb event: any.xkb_type=XkbStateNotify, state.group=%d", e->state.group); - grabber->priv->xkbStateGroup = e->state.group; - xfce_shortcuts_grabber_regrab_all (grabber); - } -@@ -884,7 +934,7 @@ xfce_shortcuts_grabber_remove (XfceShortcutsGrabber *grabber, - - if (G_LIKELY (key != NULL)) - { -- xfce_shortcuts_grabber_ungrab (grabber, key, TRUE); -+ xfce_shortcuts_grabber_ungrab (grabber, key); - g_hash_table_remove (grabber->priv->keys, shortcut); - } - } --- -GitLab - diff --git a/x11/libxfce4menu/pkg-plist b/x11/libxfce4menu/pkg-plist index a28920ed01f5..5e17f2fbbb65 100644 --- a/x11/libxfce4menu/pkg-plist +++ b/x11/libxfce4menu/pkg-plist @@ -1,6 +1,8 @@ bin/xfce4-about etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcut-dialog.h +include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-editor-dialog.h +include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-editor.h include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-grabber.h include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-provider.h include/xfce4/libxfce4kbd-private-3/libxfce4kbd-private/xfce-shortcuts-xfwm4.h @@ -41,6 +43,7 @@ share/icons/hicolor/scalable/apps/xfce4-logo.svg %%NLS%%share/locale/am/LC_MESSAGES/libxfce4ui.mo %%NLS%%share/locale/ar/LC_MESSAGES/libxfce4ui.mo %%NLS%%share/locale/ast/LC_MESSAGES/libxfce4ui.mo +%%NLS%%share/locale/az/LC_MESSAGES/libxfce4ui.mo %%NLS%%share/locale/be/LC_MESSAGES/libxfce4ui.mo %%NLS%%share/locale/bg/LC_MESSAGES/libxfce4ui.mo %%NLS%%share/locale/bn/LC_MESSAGES/libxfce4ui.mo diff --git a/x11/libxfce4util/Makefile b/x11/libxfce4util/Makefile index 7bbc76d6f20e..b2dc9a8f19de 100644 --- a/x11/libxfce4util/Makefile +++ b/x11/libxfce4util/Makefile @@ -1,5 +1,5 @@ PORTNAME= libxfce4util -PORTVERSION= 4.16.0 +PORTVERSION= 4.18.0 CATEGORIES= x11 xfce MASTER_SITES= XFCE DIST_SUBDIR= xfce4 diff --git a/x11/libxfce4util/distinfo b/x11/libxfce4util/distinfo index 53ac743f6d7f..4929bac7c7e7 100644 --- a/x11/libxfce4util/distinfo +++ b/x11/libxfce4util/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1608682260 -SHA256 (xfce4/libxfce4util-4.16.0.tar.bz2) = 60598d745d1fc81ff5ad3cecc3a8d1b85990dd22023e7743f55abd87d8b55b83 -SIZE (xfce4/libxfce4util-4.16.0.tar.bz2) = 508328 +TIMESTAMP = 1671097440 +SHA256 (xfce4/libxfce4util-4.18.0.tar.bz2) = 1157ca717fd3dd1da7724a6432a4fb24af9cd922f738e971fd1fd36dfaeac3c9 +SIZE (xfce4/libxfce4util-4.18.0.tar.bz2) = 511384 diff --git a/x11/libxfce4util/pkg-descr b/x11/libxfce4util/pkg-descr index 7c7cf5e63cde..39188c733c06 100644 --- a/x11/libxfce4util/pkg-descr +++ b/x11/libxfce4util/pkg-descr @@ -1 +1,2 @@ -Xfce 4 library providing basic utilities. +libxfce4util is used to share commonly used non-GTK utilities among +the Xfce applications. diff --git a/x11/libxfce4util/pkg-plist b/x11/libxfce4util/pkg-plist index e21e7933bd3f..1f693701919c 100644 --- a/x11/libxfce4util/pkg-plist +++ b/x11/libxfce4util/pkg-plist @@ -3,6 +3,7 @@ include/xfce4/libxfce4util/libxfce4util.h include/xfce4/libxfce4util/xfce-debug.h include/xfce4/libxfce4util/xfce-fileutils.h include/xfce4/libxfce4util/xfce-generics.h +include/xfce4/libxfce4util/xfce-gio-extensions.h include/xfce4/libxfce4util/xfce-i18n.h include/xfce4/libxfce4util/xfce-kiosk.h include/xfce4/libxfce4util/xfce-license.h @@ -10,6 +11,7 @@ include/xfce4/libxfce4util/xfce-miscutils.h include/xfce4/libxfce4util/xfce-posix-signal-handler.h include/xfce4/libxfce4util/xfce-rc.h include/xfce4/libxfce4util/xfce-resource.h +include/xfce4/libxfce4util/xfce-string.h include/xfce4/libxfce4util/xfce-utf8.h %%GIR%%lib/girepository-1.0/Libxfce4util-1.0.typelib lib/libxfce4util.so @@ -21,6 +23,7 @@ sbin/xfce4-kiosk-query %%NLS%%share/locale/am/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/ar/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/ast/LC_MESSAGES/libxfce4util.mo +%%NLS%%share/locale/az/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/be/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/bg/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/bn/LC_MESSAGES/libxfce4util.mo @@ -50,6 +53,7 @@ sbin/xfce4-kiosk-query %%NLS%%share/locale/is/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/it/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/ja/LC_MESSAGES/libxfce4util.mo +%%NLS%%share/locale/ka/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/kk/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/ko/LC_MESSAGES/libxfce4util.mo %%NLS%%share/locale/lt/LC_MESSAGES/libxfce4util.mo diff --git a/x11/xfce4-conf/Makefile b/x11/xfce4-conf/Makefile index 28bf9668c797..0f183f5d2bb6 100644 --- a/x11/xfce4-conf/Makefile +++ b/x11/xfce4-conf/Makefile @@ -1,5 +1,5 @@ PORTNAME= xfce4-conf -PORTVERSION= 4.16.0 +PORTVERSION= 4.18.0 CATEGORIES= x11 xfce MASTER_SITES= XFCE DISTNAME= xfconf-${DISTVERSIONFULL} diff --git a/x11/xfce4-conf/distinfo b/x11/xfce4-conf/distinfo index 092fcdf08a05..292ad275909c 100644 --- a/x11/xfce4-conf/distinfo +++ b/x11/xfce4-conf/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1608682404 -SHA256 (xfce4/xfconf-4.16.0.tar.bz2) = 652a119007c67d9ba6c0bc7a740c923d33f32d03dc76dfc7ba682584e72a5425 -SIZE (xfce4/xfconf-4.16.0.tar.bz2) = 634858 +TIMESTAMP = 1671097854 +SHA256 (xfce4/xfconf-4.18.0.tar.bz2) = 2e8c50160bf800a807aea094fc9dad81f9f361f42db56607508ed5b4855d2906 +SIZE (xfce4/xfconf-4.18.0.tar.bz2) = 625755 diff --git a/x11/xfce4-conf/pkg-descr b/x11/xfce4-conf/pkg-descr index 7aa95bc79d6e..aced1894ccc3 100644 --- a/x11/xfce4-conf/pkg-descr +++ b/x11/xfce4-conf/pkg-descr @@ -1 +1,2 @@ -D-Bus-based configuration storage system. +Xfconf is a flexible, easy-to-use configuration management system +for the Xfce desktop. diff --git a/x11/xfce4-conf/pkg-plist b/x11/xfce4-conf/pkg-plist index ec744d9de765..89aa9e5c95bf 100644 --- a/x11/xfce4-conf/pkg-plist +++ b/x11/xfce4-conf/pkg-plist @@ -32,6 +32,7 @@ share/dbus-1/services/org.xfce.Xfconf.service %%NLS%%share/locale/fr/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/gl/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/he/LC_MESSAGES/xfconf.mo +%%NLS%%share/locale/hi/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/hr/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/hu/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/hy_AM/LC_MESSAGES/xfconf.mo @@ -40,6 +41,7 @@ share/dbus-1/services/org.xfce.Xfconf.service %%NLS%%share/locale/is/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/it/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/ja/LC_MESSAGES/xfconf.mo +%%NLS%%share/locale/kab/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/kk/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/ko/LC_MESSAGES/xfconf.mo %%NLS%%share/locale/lt/LC_MESSAGES/xfconf.mo diff --git a/x11/xfce4-goodies/Makefile b/x11/xfce4-goodies/Makefile index 71298137d90b..4471f20fe34e 100644 --- a/x11/xfce4-goodies/Makefile +++ b/x11/xfce4-goodies/Makefile @@ -1,6 +1,5 @@ PORTNAME= xfce4-goodies -PORTVERSION= 4.16 -PORTREVISION= 1 +PORTVERSION= 4.18 CATEGORIES= x11 MAINTAINER= xfce@FreeBSD.org |