[Pkg-xfce-commits] [Git][xfce-team/desktop/xfce4-appfinder][debian/master] 3 commits: New upstream version 4.17.2.
Unit 193 (@unit193)
gitlab at salsa.debian.org
Mon Dec 5 08:11:01 GMT 2022
Unit 193 pushed to branch debian/master at xfce / desktop / xfce4-appfinder
Commits:
0d3766f5 by Unit 193 at 2022-12-05T03:06:23-05:00
New upstream version 4.17.2.
- - - - -
1a52e51f by Unit 193 at 2022-12-05T03:06:25-05:00
Update upstream source from tag 'upstream/4.17.2'
Update to upstream version '4.17.2'
with Debian dir cd8c786cf8d2a58c2218e92ba0db6cb6c91feca7
- - - - -
fcb26df0 by Unit 193 at 2022-12-05T03:07:05-05:00
Update changelog for release.
- - - - -
15 changed files:
- ChangeLog
- NEWS
- aclocal.m4
- config.h.in
- configure
- configure.ac
- debian/changelog
- po/hr.po
- src/appfinder-category-model.c
- src/appfinder-category-model.h
- src/appfinder-model.c
- src/appfinder-model.h
- src/appfinder-preferences.c
- src/appfinder-window.c
- src/main.c
Changes:
=====================================
ChangeLog
=====================================
@@ -1,3 +1,66 @@
+commit bf77c87757c4bb6f32ee1d1207cf5556d3845656
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Tue Nov 29 11:41:03 2022 +0000
+
+ Update default settings (!29)
+
+commit 6f970c02940cdcc4afa28f8483e7e84239f62c71
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Tue Nov 29 00:05:06 2022 +0000
+
+ Fix icon blurriness UI scale > 1 (#67)
+
+ Icon view is still blurred, gtk icon view does not support
+ surfaces. For more details see !26.
+
+ Fixes #67
+
+commit 57856a32a624ca16b72f2d2c7be2fa274c798793
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Wed Nov 16 17:29:50 2022 +0000
+
+ Migration for history cache file (!28)
+
+ Move it to $HOME/.cache/xfce4/appfinder for the sake of consistency
+
+ Fixes #66
+
+commit b265e35ffbcca807c7399790eace2924df40ef79
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Tue Nov 15 11:07:41 2022 +0000
+
+ Do not clamp window height in collapsed mode (!27)
+
+ When scale > 1 the width is improperly reduced, see #49 for more details.
+
+commit 20f2a63e8836b6a936dd5c4c0c4cd43ca7ab2201
+Author: Anonymous <noreply at xfce.org>
+Date: Mon Oct 31 00:45:49 2022 +0100
+
+ I18n: Update translation hr (92%).
+
+ 82 translated messages, 7 untranslated messages.
+
+ Transifex (https://explore.transifex.com/xfce/).
+
+commit c1e582e73f656674d9f36d1b78f67bd66edbac85
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Sat Oct 29 14:30:12 2022 +0200
+
+ Update copyright year
+
+commit 2c58914467b96d654eb62feb1427e43f23437904
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Sat Oct 29 14:21:55 2022 +0200
+
+ Back to development
+
+commit 1e4678afc47debe6e462d99b89b6ce5f4ec936b4
+Author: Andre Miranda <andreldm at xfce.org>
+Date: Sat Oct 29 14:17:28 2022 +0200
+
+ Updates for release
+
commit 770de9896eb75c42fb436462f8a568afe1ad63d5
Author: Anonymous <noreply at xfce.org>
Date: Thu Oct 20 00:46:25 2022 +0200
=====================================
NEWS
=====================================
@@ -1,3 +1,13 @@
+4.17.2 (2022-11-29)
+======
+- Update default settings (!29)
+- Fix icon blurriness UI scale > 1 (#67)
+- Migration for history cache file (!28)
+- Do not clamp window height in collapsed mode (!27)
+- Update copyright year
+- Translation Updates:
+ Croatian
+
4.17.1 (2022-10-29)
======
- build: Fix intltool lock file problem during make distcheck
=====================================
aclocal.m4
=====================================
@@ -638,6 +638,27 @@ AC_DEFUN([XDT_CHECK_PACKAGE],
AC_SUBST([$1_LIBS])
AC_SUBST([$1_REQUIRED_VERSION])
+ if test x"$1" = x"GLIB"; then
+ dnl Use GLib structured logging, see https://docs.gtk.org/glib/logging.html
+ dnl XFCE apps&libraries can override this setting after XDT_CHECK_PACKAGE(GLIB)
+ dnl using AC_DEFINE.
+ dnl Note that it requires GLIB_VERSION_MAX_ALLOWED >= GLIB_VERSION_2_56 to work
+ dnl properly in GLib logging macros (not documented, see glib/gmessages.h).
+ AC_DEFINE(G_LOG_USE_STRUCTURED, 1, [Use GLib structured logging])
+ fi
+
+ ifelse([$1], GLIB, [
+ dnl Report uses of GLib functions newer than $3 as C compiler warnings.
+ dnl XFCE apps&libraries can override this setting after XDT_CHECK_PACKAGE(GLIB)
+ dnl using AC_DEFINE, in which case it is recommended to override both MAX and MIN.
+ AC_MSG_NOTICE([setting GLIB_VERSION_MAX_ALLOWED and GLIB_VERSION_MIN_REQUIRED according to $3])
+ m4_pushdef([SUFFIX], translit($3, `.', `_'))
+ m4_define([SUFFIX], ifelse(regexp(SUFFIX, [[0-9]+_[0-9]+_[0-9]+]), -1, SUFFIX, patsubst(SUFFIX, [_[0-9]+$])))
+ AC_DEFINE(GLIB_VERSION_MAX_ALLOWED, m4_format(GLIB_VERSION_%s, SUFFIX), m4_format(Prevent post %s APIs, SUFFIX))
+ AC_DEFINE(GLIB_VERSION_MIN_REQUIRED, m4_format(GLIB_VERSION_%s, SUFFIX), m4_format(Ignore post %s APIs, SUFFIX))
+ m4_popdef([SUFFIX])
+ ])
+
ifelse([$4], , , [$4])
elif $PKG_CONFIG --exists "$2" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "$2"`
@@ -921,16 +942,15 @@ AC_DEFUN([XDT_FEATURE_DEBUG],
AS_HELP_STRING([--disable-debug],[Include no debugging support]),
[enable_debug=$enableval], [enable_debug=m4_default([$1], [minimum])])
- dnl enable most warnings regardless of debug level
- xdt_cv_additional_CFLAGS="-Wall -Wextra \
- -Wno-missing-field-initializers \
- -Wno-unused-parameter -Wold-style-definition \
- -Wdeclaration-after-statement \
- -Wmissing-declarations \
- -Wmissing-noreturn -Wpointer-arith \
- -Wcast-align -Wformat -Wformat-security -Wformat-y2k \
- -Winit-self -Wmissing-include-dirs -Wundef \
- -Wnested-externs -Wredundant-decls"
+ dnl Enable most warnings regardless of debug level. Common flags for both C and C++.
+ xdt_cv_additional_COMMON_FLAGS="-Wall -Wextra \
+ -Wno-missing-field-initializers \
+ -Wno-unused-parameter \
+ -Wmissing-declarations \
+ -Wmissing-noreturn -Wpointer-arith \
+ -Wcast-align -Wformat -Wformat-security -Wformat-y2k \
+ -Winit-self -Wmissing-include-dirs -Wundef \
+ -Wredundant-decls"
AC_MSG_CHECKING([whether to build with debugging support])
if test x"$enable_debug" = x"full" -o x"$enable_debug" = x"yes"; then
@@ -939,20 +959,20 @@ AS_HELP_STRING([--disable-debug],[Include no debugging support]),
CPPFLAGS="$CPPFLAGS"
if test x`uname` = x"Linux"; then
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -fstack-protector"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -fstack-protector"
fi
if test x"$enable_debug" = x"full"; then
AC_DEFINE([DEBUG_TRACE], [1], [Define for tracing support])
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -O0 -g"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -O0 -g"
CPPFLAGS="$CPPFLAGS -DG_ENABLE_DEBUG"
AC_MSG_RESULT([full])
else
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -g -Wshadow"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -g -Wshadow"
AC_MSG_RESULT([yes])
fi
else
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -Wshadow"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -Wshadow"
CPPFLAGS="$CPPFLAGS -DNDEBUG"
if test x"$enable_debug" = x"no"; then
@@ -963,18 +983,14 @@ AS_HELP_STRING([--disable-debug],[Include no debugging support]),
fi
fi
- XDT_SUPPORTED_FLAGS([supported_CFLAGS], [$xdt_cv_additional_CFLAGS])
+ xdt_cv_additional_CFLAGS="$xdt_cv_additional_COMMON_FLAGS \
+ -Wdeclaration-after-statement \
+ -Wnested-externs \
+ -Wold-style-definition"
+ xdt_cv_additional_CXXFLAGS="$xdt_cv_additional_COMMON_FLAGS"
- ifelse([$CXX], , , [
- dnl FIXME: should test on c++ compiler, but the following line causes
- dnl autoconf errors for projects that don't check for a
- dnl c++ compiler at all.
- dnl AC_LANG_PUSH([C++])
- dnl XDT_SUPPORTED_FLAGS([supported_CXXFLAGS], [$xdt_cv_additional_CFLAGS])
- dnl AC_LANG_POP()
- dnl instead, just use supported_CFLAGS...
- supported_CXXFLAGS="$supported_CFLAGS"
- ])
+ XDT_SUPPORTED_FLAGS([supported_CFLAGS], [$xdt_cv_additional_CFLAGS])
+ XDT_SUPPORTED_FLAGS([supported_CXXFLAGS], [$xdt_cv_additional_CXXFLAGS])
CFLAGS="$CFLAGS $supported_CFLAGS"
CXXFLAGS="$CXXFLAGS $supported_CXXFLAGS"
=====================================
config.h.in
=====================================
@@ -9,6 +9,15 @@
/* Name of default gettext domain */
#undef GETTEXT_PACKAGE
+/* Prevent post 2_50 APIs */
+#undef GLIB_VERSION_MAX_ALLOWED
+
+/* Ignore post 2_50 APIs */
+#undef GLIB_VERSION_MIN_REQUIRED
+
+/* Use GLib structured logging */
+#undef G_LOG_USE_STRUCTURED
+
/* Define to 1 if you have the `daemon' function. */
#undef HAVE_DAEMON
=====================================
configure
=====================================
@@ -1,10 +1,10 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for xfce4-appfinder 4.17.1.
+# Generated by GNU Autoconf 2.71 for xfce4-appfinder 4.17.2.
#
# Report bugs to <https://gitlab.xfce.org/xfce/xfce4-appfinder/>.
#
-# Copyright (c) 2008-2020 The Xfce development team. All rights reserved.
+# Copyright (c) 2008-2022 The Xfce development team. All rights reserved.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
@@ -623,8 +623,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='xfce4-appfinder'
PACKAGE_TARNAME='xfce4-appfinder'
-PACKAGE_VERSION='4.17.1'
-PACKAGE_STRING='xfce4-appfinder 4.17.1'
+PACKAGE_VERSION='4.17.2'
+PACKAGE_STRING='xfce4-appfinder 4.17.2'
PACKAGE_BUGREPORT='https://gitlab.xfce.org/xfce/xfce4-appfinder/'
PACKAGE_URL=''
@@ -1436,7 +1436,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xfce4-appfinder 4.17.1 to adapt to many kinds of systems.
+\`configure' configures xfce4-appfinder 4.17.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1507,7 +1507,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xfce4-appfinder 4.17.1:";;
+ short | recursive ) echo "Configuration of xfce4-appfinder 4.17.2:";;
esac
cat <<\_ACEOF
@@ -1634,14 +1634,14 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xfce4-appfinder configure 4.17.1
+xfce4-appfinder configure 4.17.2
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
-Copyright (c) 2008-2020 The Xfce development team. All rights reserved.
+Copyright (c) 2008-2022 The Xfce development team. All rights reserved.
_ACEOF
exit
fi
@@ -1854,7 +1854,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xfce4-appfinder $as_me 4.17.1, which was
+It was created by xfce4-appfinder $as_me 4.17.2, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3128,7 +3128,7 @@ fi
# Define the identity of the package.
PACKAGE='xfce4-appfinder'
- VERSION='4.17.1'
+ VERSION='4.17.2'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -14757,6 +14757,26 @@ printf "%s\n" "$GLIB_LIBS" >&6; }
+ if test x"GLIB" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: setting GLIB_VERSION_MAX_ALLOWED and GLIB_VERSION_MIN_REQUIRED according to 2.50.0" >&5
+printf "%s\n" "$as_me: setting GLIB_VERSION_MAX_ALLOWED and GLIB_VERSION_MIN_REQUIRED according to 2.50.0" >&6;}
+
+
+
+printf "%s\n" "#define GLIB_VERSION_MAX_ALLOWED GLIB_VERSION_2_50" >>confdefs.h
+
+
+printf "%s\n" "#define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_50" >>confdefs.h
+
+
+
+
elif $PKG_CONFIG --exists "glib-2.0" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "glib-2.0"`
@@ -14962,6 +14982,14 @@ printf "%s\n" "$GTHREAD_LIBS" >&6; }
+ if test x"GTHREAD" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "gthread-2.0" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "gthread-2.0"`
@@ -15167,6 +15195,14 @@ printf "%s\n" "$GTK_LIBS" >&6; }
+ if test x"GTK" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "gtk+-3.0" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "gtk+-3.0"`
@@ -15372,6 +15408,14 @@ printf "%s\n" "$GIO_LIBS" >&6; }
+ if test x"GIO" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "gio-2.0" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "gio-2.0"`
@@ -15577,6 +15621,14 @@ printf "%s\n" "$LIBXFCE4UI_LIBS" >&6; }
+ if test x"LIBXFCE4UI" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "libxfce4ui-2" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "libxfce4ui-2"`
@@ -15782,6 +15834,14 @@ printf "%s\n" "$LIBXFCE4UTIL_LIBS" >&6; }
+ if test x"LIBXFCE4UTIL" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "libxfce4util-1.0" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "libxfce4util-1.0"`
@@ -15987,6 +16047,14 @@ printf "%s\n" "$GARCON_LIBS" >&6; }
+ if test x"GARCON" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "garcon-1" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "garcon-1"`
@@ -16192,6 +16260,14 @@ printf "%s\n" "$XFCONF_LIBS" >&6; }
+ if test x"XFCONF" = x"GLIB"; then
+
+printf "%s\n" "#define G_LOG_USE_STRUCTURED 1" >>confdefs.h
+
+ fi
+
+
+
elif $PKG_CONFIG --exists "libxfconf-0" >/dev/null 2>&1; then
xdt_cv_version=`$PKG_CONFIG --modversion "libxfconf-0"`
@@ -16232,15 +16308,14 @@ else $as_nop
fi
- xdt_cv_additional_CFLAGS="-Wall -Wextra \
- -Wno-missing-field-initializers \
- -Wno-unused-parameter -Wold-style-definition \
- -Wdeclaration-after-statement \
- -Wmissing-declarations \
- -Wmissing-noreturn -Wpointer-arith \
- -Wcast-align -Wformat -Wformat-security -Wformat-y2k \
- -Winit-self -Wmissing-include-dirs -Wundef \
- -Wnested-externs -Wredundant-decls"
+ xdt_cv_additional_COMMON_FLAGS="-Wall -Wextra \
+ -Wno-missing-field-initializers \
+ -Wno-unused-parameter \
+ -Wmissing-declarations \
+ -Wmissing-noreturn -Wpointer-arith \
+ -Wcast-align -Wformat -Wformat-security -Wformat-y2k \
+ -Winit-self -Wmissing-include-dirs -Wundef \
+ -Wredundant-decls"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to build with debugging support" >&5
printf %s "checking whether to build with debugging support... " >&6; }
@@ -16252,24 +16327,24 @@ printf "%s\n" "#define DEBUG 1" >>confdefs.h
CPPFLAGS="$CPPFLAGS"
if test x`uname` = x"Linux"; then
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -fstack-protector"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -fstack-protector"
fi
if test x"$enable_debug" = x"full"; then
printf "%s\n" "#define DEBUG_TRACE 1" >>confdefs.h
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -O0 -g"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -O0 -g"
CPPFLAGS="$CPPFLAGS -DG_ENABLE_DEBUG"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: full" >&5
printf "%s\n" "full" >&6; }
else
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -g -Wshadow"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -g -Wshadow"
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
printf "%s\n" "yes" >&6; }
fi
else
- xdt_cv_additional_CFLAGS="$xdt_cv_additional_CFLAGS -Wshadow"
+ xdt_cv_additional_COMMON_FLAGS="$xdt_cv_additional_COMMON_FLAGS -Wshadow"
CPPFLAGS="$CPPFLAGS -DNDEBUG"
if test x"$enable_debug" = x"no"; then
@@ -16282,6 +16357,12 @@ printf "%s\n" "minimum" >&6; }
fi
fi
+ xdt_cv_additional_CFLAGS="$xdt_cv_additional_COMMON_FLAGS \
+ -Wdeclaration-after-statement \
+ -Wnested-externs \
+ -Wold-style-definition"
+ xdt_cv_additional_CXXFLAGS="$xdt_cv_additional_COMMON_FLAGS"
+
for flag in $xdt_cv_additional_CFLAGS; do
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports $flag" >&5
@@ -16309,8 +16390,30 @@ printf "%s\n" "$flag_supported" >&6; }
done
+ for flag in $xdt_cv_additional_CXXFLAGS; do
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if $CC supports $flag" >&5
+printf %s "checking if $CC supports $flag... " >&6; }
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $flag"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+ flag_supported=yes
+else $as_nop
+ flag_supported=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+ CFLAGS="$saved_CFLAGS"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $flag_supported" >&5
+printf "%s\n" "$flag_supported" >&6; }
- supported_CXXFLAGS="$supported_CFLAGS"
+ if test "x$flag_supported" = "xyes"; then
+ supported_CXXFLAGS="$supported_CXXFLAGS $flag"
+ fi
+ done
CFLAGS="$CFLAGS $supported_CFLAGS"
@@ -16912,7 +17015,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xfce4-appfinder $as_me 4.17.1, which was
+This file was extended by xfce4-appfinder $as_me 4.17.2, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16980,7 +17083,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-xfce4-appfinder config.status 4.17.1
+xfce4-appfinder config.status 4.17.2
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
=====================================
configure.ac
=====================================
@@ -4,7 +4,7 @@ dnl Edit that file instead!
dnl
dnl
-dnl Copyright (c) 2008-2017 - The Xfce Development Team.
+dnl Copyright (c) 2008-2022 - The Xfce Development Team.
dnl
dnl ***************************
@@ -12,9 +12,9 @@ dnl *** Version information ***
dnl ***************************
m4_define([xfce4_appfinder_version_major], [4])
m4_define([xfce4_appfinder_version_minor], [17])
-m4_define([xfce4_appfinder_version_micro], [1])
+m4_define([xfce4_appfinder_version_micro], [2])
m4_define([xfce4_appfinder_version_nano], []) dnl leave this empty to have no nano version
-m4_define([xfce4_appfinder_version_build], [770de98])
+m4_define([xfce4_appfinder_version_build], [bf77c87])
m4_define([xfce4_appfinder_version_tag], [])
m4_define([xfce4_appfinder_version], [xfce4_appfinder_version_major().xfce4_appfinder_version_minor().xfce4_appfinder_version_micro()ifelse(xfce4_appfinder_version_nano(), [], [], [.xfce4_appfinder_version_nano()])ifelse(xfce4_appfinder_version_tag(), [git], [xfce4_appfinder_version_tag()-xfce4_appfinder_version_build()], [xfce4_appfinder_version_tag()])])
@@ -26,7 +26,7 @@ m4_define([appfinder_debug_default], [ifelse(xfce4_appfinder_version_tag(), [git
dnl ***************************
dnl *** Initialize autoconf ***
dnl ***************************
-AC_COPYRIGHT([Copyright (c) 2008-2020 The Xfce development team. All rights reserved.])
+AC_COPYRIGHT([Copyright (c) 2008-2022 The Xfce development team. All rights reserved.])
AC_INIT([xfce4-appfinder], [xfce4_appfinder_version], [https://gitlab.xfce.org/xfce/xfce4-appfinder/], [xfce4-appfinder])
AC_PREREQ([2.60])
AC_CONFIG_MACRO_DIRS([m4])
=====================================
debian/changelog
=====================================
@@ -1,3 +1,10 @@
+xfce4-appfinder (4.17.2-1) experimental; urgency=medium
+
+ * Team upload.
+ * New upstream version 4.17.2.
+
+ -- Unit 193 <unit193 at debian.org> Mon, 05 Dec 2022 03:06:52 -0500
+
xfce4-appfinder (4.17.1-1) experimental; urgency=medium
* Team upload.
=====================================
po/hr.po
=====================================
@@ -14,8 +14,8 @@ msgstr ""
"Project-Id-Version: Xfce4-appfinder\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-11-30 00:47+0100\n"
-"PO-Revision-Date: 2021-11-29 23:47+0000\n"
-"Last-Translator: Xfce Bot <transifex at xfce.org>\n"
+"PO-Revision-Date: 2013-07-02 20:40+0000\n"
+"Last-Translator: Edin Veskovic <edin.lockedin at gmail.com>, 2017-2019\n"
"Language-Team: Croatian (http://www.transifex.com/xfce/xfce4-appfinder/language/hr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
=====================================
src/appfinder-category-model.c
=====================================
@@ -24,6 +24,7 @@
#include <string.h>
#endif
+#include <cairo/cairo-gobject.h>
#include <libxfce4util/libxfce4util.h>
#include <src/appfinder-model.h>
@@ -95,18 +96,21 @@ struct _XfceAppfinderCategoryModel
GarconMenuDirectory *all_applications;
XfceAppfinderIconSize icon_size;
+
+ gint scale_factor;
};
struct _CategoryItem
{
GarconMenuDirectory *directory;
- GdkPixbuf *pixbuf;
+ cairo_surface_t *surface;
};
enum
{
PROP_0,
- PROP_ICON_SIZE
+ PROP_ICON_SIZE,
+ PROP_SCALE_FACTOR
};
@@ -133,6 +137,12 @@ xfce_appfinder_category_model_class_init (XfceAppfinderCategoryModelClass *klass
XFCE_APPFINDER_ICON_SIZE_LARGEST,
XFCE_APPFINDER_ICON_SIZE_DEFAULT_CATEGORY,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (gobject_class,
+ PROP_SCALE_FACTOR,
+ g_param_spec_uint ("scale-factor", NULL, NULL,
+ 1, G_MAXINT, 1,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
}
@@ -184,6 +194,10 @@ xfce_appfinder_category_model_get_property (GObject *object,
g_value_set_uint (value, model->icon_size);
break;
+ case PROP_SCALE_FACTOR:
+ g_value_set_uint (value, model->scale_factor);
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -200,6 +214,7 @@ xfce_appfinder_category_model_set_property (GObject *object,
{
XfceAppfinderCategoryModel *model = XFCE_APPFINDER_CATEGORY_MODEL (object);
XfceAppfinderIconSize icon_size;
+ gint scale_factor;
switch (prop_id)
{
@@ -214,6 +229,12 @@ xfce_appfinder_category_model_set_property (GObject *object,
}
break;
+ case PROP_SCALE_FACTOR:
+ scale_factor = g_value_get_uint (value);
+ if (model->scale_factor != scale_factor)
+ model->scale_factor = scale_factor;
+ break;
+
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -266,7 +287,7 @@ xfce_appfinder_category_model_get_column_type (GtkTreeModel *tree_model,
return G_TYPE_STRING;
case XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_ICON:
- return GDK_TYPE_PIXBUF;
+ return CAIRO_GOBJECT_TYPE_SURFACE;
case XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_DIRECTORY:
return GARCON_TYPE_MENU_DIRECTORY;
@@ -326,6 +347,7 @@ xfce_appfinder_category_model_get_value (GtkTreeModel *tree_model,
XfceAppfinderCategoryModel *model = XFCE_APPFINDER_CATEGORY_MODEL (tree_model);
CategoryItem *item;
const gchar *icon_name;
+ GdkPixbuf *pixbuf;
appfinder_return_if_fail (XFCE_IS_APPFINDER_CATEGORY_MODEL (model));
appfinder_return_if_fail (iter->stamp == model->stamp);
@@ -342,15 +364,19 @@ xfce_appfinder_category_model_get_value (GtkTreeModel *tree_model,
break;
case XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_ICON:
- if (item->pixbuf == NULL
- && item->directory != NULL)
+ if (item->surface == NULL && item->directory != NULL)
{
icon_name = garcon_menu_directory_get_icon_name (item->directory);
- item->pixbuf = xfce_appfinder_model_load_pixbuf (icon_name, model->icon_size);
+ pixbuf = xfce_appfinder_model_load_pixbuf (icon_name, model->icon_size, model->scale_factor);
+ if (pixbuf != NULL)
+ {
+ item->surface = gdk_cairo_surface_create_from_pixbuf (pixbuf, model->scale_factor, NULL);
+ g_object_unref (G_OBJECT (pixbuf));
+ }
}
- g_value_init (value, GDK_TYPE_PIXBUF);
- g_value_set_object (value, item->pixbuf);
+ g_value_init (value, CAIRO_GOBJECT_TYPE_SURFACE);
+ g_value_set_boxed (value, item->surface);
break;
case XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_DIRECTORY:
@@ -463,8 +489,8 @@ xfce_appfinder_category_category_free (CategoryItem *item,
{
if (item->directory != NULL)
g_object_unref (G_OBJECT (item->directory));
- if (item->pixbuf != NULL)
- g_object_unref (G_OBJECT (item->pixbuf));
+ if (item->surface != NULL)
+ cairo_surface_destroy (item->surface);
g_slice_free (CategoryItem, item);
}
@@ -472,9 +498,11 @@ xfce_appfinder_category_category_free (CategoryItem *item,
XfceAppfinderCategoryModel *
-xfce_appfinder_category_model_new (void)
+xfce_appfinder_category_model_new (gint scale_factor)
{
- gpointer model = g_object_new (XFCE_TYPE_APPFINDER_CATEGORY_MODEL, NULL);
+ gpointer model = g_object_new (XFCE_TYPE_APPFINDER_CATEGORY_MODEL,
+ "scale-factor", scale_factor,
+ NULL);
appfinder_refcount_debug_add (G_OBJECT (model), "category-model");
return model;
}
@@ -597,10 +625,10 @@ xfce_appfinder_category_model_icon_theme_changed (XfceAppfinderCategoryModel *mo
item = li->data;
appfinder_assert (item != NULL);
- if (item->pixbuf != NULL)
+ if (item->surface != NULL)
{
- g_object_unref (G_OBJECT (item->pixbuf));
- item->pixbuf = NULL;
+ cairo_surface_destroy (item->surface);
+ item->surface = NULL;
path = gtk_tree_path_new_from_indices (idx, -1);
ITER_INIT (iter, model->stamp, li);
=====================================
src/appfinder-category-model.h
=====================================
@@ -47,7 +47,7 @@ enum
GType xfce_appfinder_category_model_get_type (void) G_GNUC_CONST;
-XfceAppfinderCategoryModel *xfce_appfinder_category_model_new (void) G_GNUC_MALLOC;
+XfceAppfinderCategoryModel *xfce_appfinder_category_model_new (gint scale_factor) G_GNUC_MALLOC;
void xfce_appfinder_category_model_set_categories (XfceAppfinderCategoryModel *model,
GSList *categories);
=====================================
src/appfinder-model.c
=====================================
@@ -25,6 +25,7 @@
#endif
#include <glib/gstdio.h>
+#include <cairo/cairo-gobject.h>
#include <libxfce4util/libxfce4util.h>
#include <libxfce4ui/libxfce4ui.h>
@@ -33,9 +34,10 @@
-#define HISTORY_PATH "xfce4/xfce4-appfinder/history"
-#define BOOKMARKS_PATH "xfce4/appfinder/bookmarks"
-#define FRECENCY_PATH "xfce4/appfinder/frecency"
+#define OLD_HISTORY_PATH "xfce4/xfce4-appfinder/history"
+#define NEW_HISTORY_PATH "xfce4/appfinder/history"
+#define BOOKMARKS_PATH "xfce4/appfinder/bookmarks"
+#define FRECENCY_PATH "xfce4/appfinder/frecency"
static void xfce_appfinder_model_tree_model_init (GtkTreeModelIface *iface);
@@ -110,6 +112,7 @@ static void xfce_appfinder_model_frecency_collect (XfceAppfi
GMappedFile *mmap);
static void xfce_appfinder_model_frecency_free (gpointer data);
static gchar* xfce_appfinder_model_unescape_entry_value (const gchar *value);
+static void xfce_appfinder_model_migrate_history_file (void);
struct _XfceAppfinderModelClass
{
@@ -135,8 +138,6 @@ struct _XfceAppfinderModel
GarconMenu *menu;
guint menu_changed_idle_id;
- GdkPixbuf *command_icon;
- GdkPixbuf *command_icon_large;
GarconMenuDirectory *command_category;
GSList *categories;
@@ -155,6 +156,8 @@ struct _XfceAppfinderModel
gboolean sort_by_frecency;
XfceAppfinderIconSize icon_size;
+
+ gint scale_factor;
};
typedef struct
@@ -166,19 +169,20 @@ Frecency;
typedef struct
{
- GarconMenuItem *item;
- gchar *key;
- gchar *abstract;
- GPtrArray *categories;
- gchar *command;
- gchar *tooltip;
- guint not_visible : 1;
- guint is_bookmark : 1;
+ GarconMenuItem *item;
+ gchar *key;
+ gchar *abstract;
+ GPtrArray *categories;
+ gchar *command;
+ gchar *tooltip;
+ guint not_visible : 1;
+ guint is_bookmark : 1;
- Frecency *frecency; /* owned by frecencies_hash */
+ Frecency *frecency; /* owned by frecencies_hash */
- GdkPixbuf *icon;
- GdkPixbuf *icon_large;
+ GdkPixbuf *icon;
+ cairo_surface_t *surface;
+ cairo_surface_t *surface_large;
}
ModelItem;
@@ -200,6 +204,7 @@ enum
{
PROP_0,
PROP_ICON_SIZE,
+ PROP_SCALE_FACTOR,
PROP_SORT_BY_FRECENCY
};
@@ -232,6 +237,12 @@ xfce_appfinder_model_class_init (XfceAppfinderModelClass *klass)
XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (gobject_class,
+ PROP_SCALE_FACTOR,
+ g_param_spec_uint ("scale-factor", NULL, NULL,
+ 1, G_MAXINT, 1,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
g_object_class_install_property (gobject_class,
PROP_SORT_BY_FRECENCY,
g_param_spec_boolean ("sort-by-frecency", NULL, NULL,
@@ -258,14 +269,11 @@ xfce_appfinder_model_init (XfceAppfinderModel *model)
model->bookmarks_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
model->frecencies_hash = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, xfce_appfinder_model_frecency_free);
model->icon_size = XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM;
- model->command_icon = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_EXECUTE, model->icon_size);
- model->command_icon_large = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_EXECUTE, XFCE_APPFINDER_ICON_SIZE_48);
model->command_category = xfce_appfinder_model_get_command_category ();
model->collect_cancelled = g_cancellable_new ();
model->menu = garcon_menu_new_applications ();
appfinder_refcount_debug_add (G_OBJECT (model->menu), "main menu");
- model->collect_thread = g_thread_new ("Collector", xfce_appfinder_model_collect_thread, model);
}
@@ -303,6 +311,10 @@ xfce_appfinder_model_get_property (GObject *object,
g_value_set_uint (value, model->icon_size);
break;
+ case PROP_SCALE_FACTOR:
+ g_value_set_uint (value, model->scale_factor);
+ break;
+
case PROP_SORT_BY_FRECENCY:
g_value_set_boolean (value, model->sort_by_frecency);
break;
@@ -323,6 +335,7 @@ xfce_appfinder_model_set_property (GObject *object,
{
XfceAppfinderModel *model = XFCE_APPFINDER_MODEL (object);
XfceAppfinderIconSize icon_size;
+ gint scale_factor;
switch (prop_id)
{
@@ -337,6 +350,12 @@ xfce_appfinder_model_set_property (GObject *object,
}
break;
+ case PROP_SCALE_FACTOR:
+ scale_factor = g_value_get_uint (value);
+ if (model->scale_factor != scale_factor)
+ model->scale_factor = scale_factor;
+ break;
+
case PROP_SORT_BY_FRECENCY:
model->sort_by_frecency = g_value_get_boolean (value);
break;
@@ -394,8 +413,6 @@ xfce_appfinder_model_finalize (GObject *object)
g_hash_table_destroy (model->bookmarks_hash);
g_hash_table_destroy (model->frecencies_hash);
- g_object_unref (G_OBJECT (model->command_icon_large));
- g_object_unref (G_OBJECT (model->command_icon));
g_object_unref (G_OBJECT (model->command_category));
APPFINDER_DEBUG ("model finalized");
@@ -436,6 +453,9 @@ xfce_appfinder_model_get_column_type (GtkTreeModel *tree_model,
case XFCE_APPFINDER_MODEL_COLUMN_ICON:
case XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE:
+ return CAIRO_GOBJECT_TYPE_SURFACE;
+
+ case XFCE_APPFINDER_MODEL_COLUMN_PIXBUF:
return GDK_TYPE_PIXBUF;
case XFCE_APPFINDER_MODEL_COLUMN_BOOKMARK:
@@ -509,6 +529,7 @@ xfce_appfinder_model_get_value (GtkTreeModel *tree_model,
gchar **cat_arr;
gchar *cat_str;
guint i;
+ GdkPixbuf *pixbuf;
appfinder_return_if_fail (XFCE_IS_APPFINDER_MODEL (model));
appfinder_return_if_fail (iter->stamp == model->stamp);
@@ -561,32 +582,48 @@ xfce_appfinder_model_get_value (GtkTreeModel *tree_model,
break;
case XFCE_APPFINDER_MODEL_COLUMN_ICON:
- if (item->icon == NULL
- && item->item != NULL)
+ if (item->icon == NULL && item->item != NULL)
{
name = garcon_menu_item_get_icon_name (item->item);
- item->icon = xfce_appfinder_model_load_pixbuf (name, model->icon_size);
+ item->icon = xfce_appfinder_model_load_pixbuf (name, model->icon_size, model->scale_factor);
}
- g_value_init (value, GDK_TYPE_PIXBUF);
- g_value_set_object (value, item->icon);
+ if (item->surface == NULL && item->icon != NULL)
+ item->surface = gdk_cairo_surface_create_from_pixbuf (item->icon, model->scale_factor, NULL);
+
+ g_value_init (value, CAIRO_GOBJECT_TYPE_SURFACE);
+ g_value_set_boxed (value, item->surface);
break;
case XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE:
- if (item->icon_large == NULL
- && item->item != NULL)
+ if (item->surface_large == NULL && item->item != NULL)
{
name = garcon_menu_item_get_icon_name (item->item);
- item->icon_large = xfce_appfinder_model_load_pixbuf (name, XFCE_APPFINDER_ICON_SIZE_48);
+ pixbuf = xfce_appfinder_model_load_pixbuf (name, XFCE_APPFINDER_ICON_SIZE_48, model->scale_factor);
+ if (pixbuf != NULL)
+ {
+ item->surface_large = gdk_cairo_surface_create_from_pixbuf (pixbuf, model->scale_factor, NULL);
+ g_object_unref (G_OBJECT (pixbuf));
+ }
+ }
+
+ g_value_init (value, CAIRO_GOBJECT_TYPE_SURFACE);
+ g_value_set_boxed (value, item->surface_large);
+ break;
+
+ case XFCE_APPFINDER_MODEL_COLUMN_PIXBUF:
+ if (item->icon == NULL && item->item != NULL)
+ {
+ name = garcon_menu_item_get_icon_name (item->item);
+ item->icon = xfce_appfinder_model_load_pixbuf (name, model->icon_size, model->scale_factor);
}
g_value_init (value, GDK_TYPE_PIXBUF);
- g_value_set_object (value, item->icon_large);
+ g_value_set_object (value, item->icon);
break;
case XFCE_APPFINDER_MODEL_COLUMN_TOOLTIP:
- if (item->item != NULL
- && item->tooltip == NULL)
+ if (item->item != NULL && item->tooltip == NULL)
{
file = garcon_menu_item_get_file (item->item);
parse_name = g_file_get_parse_name (file);
@@ -1061,8 +1098,10 @@ xfce_appfinder_model_item_free (gpointer data,
g_hash_table_remove (model->items_hash, item->command);
if (item->icon != NULL)
g_object_unref (G_OBJECT (item->icon));
- if (item->icon_large != NULL)
- g_object_unref (G_OBJECT (item->icon_large));
+ if (item->surface != NULL)
+ cairo_surface_destroy (item->surface);
+ if (item->surface_large != NULL)
+ cairo_surface_destroy (item->surface_large);
if (item->categories != NULL)
g_ptr_array_unref (item->categories);
g_free (item->abstract);
@@ -1155,8 +1194,6 @@ xfce_appfinder_model_history_insert (XfceAppfinderModel *model,
g_slice_free (ModelItem, item);
return FALSE;
}
- item->icon = GDK_PIXBUF (g_object_ref (G_OBJECT (model->command_icon)));
- item->icon_large = GDK_PIXBUF (g_object_ref (G_OBJECT (model->command_icon_large)));
model->items = g_slist_insert_sorted (model->items, item, xfce_appfinder_model_item_compare);
/* find the item and the position */
@@ -1544,8 +1581,6 @@ xfce_appfinder_model_collect_history (XfceAppfinderModel *model,
{
item = g_slice_new0 (ModelItem);
item->command = g_strndup (contents, end - contents);
- item->icon = GDK_PIXBUF (g_object_ref (G_OBJECT (model->command_icon)));
- item->icon_large = GDK_PIXBUF (g_object_ref (G_OBJECT (model->command_icon_large)));
model->collect_items = g_slist_prepend (model->collect_items, item);
}
@@ -1931,8 +1966,10 @@ xfce_appfinder_model_collect_thread (gpointer user_data)
}
}
+ xfce_appfinder_model_migrate_history_file ();
+
/* load command history */
- filename = xfce_resource_lookup (XFCE_RESOURCE_CACHE, HISTORY_PATH);
+ filename = xfce_resource_lookup (XFCE_RESOURCE_CACHE, NEW_HISTORY_PATH);
if (G_LIKELY (filename != NULL))
{
APPFINDER_DEBUG ("load commands from %s", filename);
@@ -2159,6 +2196,44 @@ xfce_appfinder_model_unescape_entry_value (const gchar *value)
+/* Migration for history cache file, can be removed during the 4.20 cycle */
+static void
+xfce_appfinder_model_migrate_history_file (void)
+{
+ gchar *filename;
+ GFile *old_file, *new_file, *dir;
+ GError *error = NULL;
+
+ filename = xfce_resource_lookup (XFCE_RESOURCE_CACHE, OLD_HISTORY_PATH);
+
+ if (filename == NULL)
+ return;
+
+ old_file = g_file_new_for_path (filename);
+ g_free (filename);
+
+ new_file = g_file_resolve_relative_path (old_file, "../../../" NEW_HISTORY_PATH);
+
+ dir = g_file_get_parent (new_file);
+ g_file_make_directory_with_parents (dir, NULL, NULL);
+ g_object_unref (dir);
+
+ if (g_file_query_exists (new_file, NULL))
+ g_warning ("Old and new history files exist, migration aborted");
+ else if (g_file_move (old_file, new_file, G_FILE_COPY_NONE, NULL, NULL, NULL, &error))
+ g_message ("Migration of history file was successful");
+ else
+ {
+ g_warning ("Failed to migrate history file: %s", error->message);
+ g_clear_error (&error);
+ }
+
+ g_object_unref (old_file);
+ g_object_unref (new_file);
+}
+
+
+
guint
xfce_appfinder_model_calculate_frecency (guint frequency,
guint64 recency)
@@ -2272,7 +2347,8 @@ xfce_appfinder_model_update_frecency (XfceAppfinderModel *model,
XfceAppfinderModel *
-xfce_appfinder_model_get (gboolean sort_by_frecency)
+xfce_appfinder_model_get (gboolean sort_by_frecency,
+ gint scale_factor)
{
static XfceAppfinderModel *model = NULL;
@@ -2284,7 +2360,14 @@ xfce_appfinder_model_get (gboolean sort_by_frecency)
{
model = g_object_new (XFCE_TYPE_APPFINDER_MODEL,
"sort-by-frecency", sort_by_frecency,
+ "scale-factor", scale_factor,
NULL);
+
+ xfce_appfinder_model_icon_theme_changed (model);
+
+ /* only start loading data once model is fully initialized */
+ model->collect_thread = g_thread_new ("Collector", xfce_appfinder_model_collect_thread, model);
+
g_object_add_weak_pointer (G_OBJECT (model), (gpointer) &model);
appfinder_refcount_debug_add (G_OBJECT (model), "appfinder-model");
APPFINDER_DEBUG ("allocate new model");
@@ -2519,7 +2602,8 @@ xfce_appfinder_model_execute (XfceAppfinderModel *model,
GdkPixbuf *
xfce_appfinder_model_load_pixbuf (const gchar *icon_name,
- XfceAppfinderIconSize icon_size)
+ XfceAppfinderIconSize icon_size,
+ gint scale_factor)
{
GdkPixbuf *pixbuf = NULL;
GdkPixbuf *scaled;
@@ -2539,7 +2623,9 @@ xfce_appfinder_model_load_pixbuf (const gchar *icon_name,
default: return NULL;
}
- APPFINDER_DEBUG ("load icon %s at %dpx", icon_name, size);
+ APPFINDER_DEBUG ("load icon %s at %dpx and scale %dx", icon_name, size, scale_factor);
+
+ size *= scale_factor;
if (icon_name != NULL)
{
@@ -2644,7 +2730,7 @@ xfce_appfinder_model_save_command (XfceAppfinderModel *model,
g_string_append_c (contents, '\n');
}
- filename = xfce_resource_save_location (XFCE_RESOURCE_CACHE, HISTORY_PATH, TRUE);
+ filename = xfce_resource_save_location (XFCE_RESOURCE_CACHE, NEW_HISTORY_PATH, TRUE);
if (G_LIKELY (filename != NULL))
succeed = g_file_set_contents (filename, contents->str, contents->len, error);
else
@@ -2667,12 +2753,13 @@ xfce_appfinder_model_save_command (XfceAppfinderModel *model,
-GdkPixbuf *
+cairo_surface_t*
xfce_appfinder_model_get_icon_for_command (XfceAppfinderModel *model,
const gchar *command)
{
ModelItem *item;
const gchar *icon_name;
+ GdkPixbuf *pixbuf;
appfinder_return_val_if_fail (XFCE_IS_APPFINDER_MODEL (model), NULL);
@@ -2681,14 +2768,18 @@ xfce_appfinder_model_get_icon_for_command (XfceAppfinderModel *model,
item = g_hash_table_lookup (model->items_hash, command);
if (G_LIKELY (item != NULL))
{
- if (item->icon_large == NULL
- && item->item != NULL)
+ if (item->surface_large == NULL && item->item != NULL)
{
icon_name = garcon_menu_item_get_icon_name (item->item);
- item->icon_large = xfce_appfinder_model_load_pixbuf (icon_name, XFCE_APPFINDER_ICON_SIZE_48);
+ pixbuf = xfce_appfinder_model_load_pixbuf (icon_name, XFCE_APPFINDER_ICON_SIZE_48, model->scale_factor);
+ if (pixbuf != NULL)
+ {
+ item->surface_large = gdk_cairo_surface_create_from_pixbuf (pixbuf, model->scale_factor, NULL);
+ g_object_unref (G_OBJECT (pixbuf));
+ }
}
- return GDK_PIXBUF (g_object_ref (G_OBJECT (item->icon_large)));
+ return cairo_surface_reference (item->surface_large);
}
}
@@ -2712,15 +2803,6 @@ xfce_appfinder_model_icon_theme_changed (XfceAppfinderModel *model)
APPFINDER_DEBUG ("icon theme or size changed, updating %d items",
g_slist_length (model->items));
- /* reload the command icons */
- if (model->command_icon != NULL)
- g_object_unref (G_OBJECT (model->command_icon));
- model->command_icon = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_EXECUTE, model->icon_size);
-
- if (model->command_icon_large != NULL)
- g_object_unref (G_OBJECT (model->command_icon_large));
- model->command_icon_large = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_EXECUTE, XFCE_APPFINDER_ICON_SIZE_48);
-
/* update the model items */
for (li = model->items, idx = 0; li != NULL; li = li->next, idx++)
{
@@ -2733,10 +2815,16 @@ xfce_appfinder_model_icon_theme_changed (XfceAppfinderModel *model)
item->icon = NULL;
item_changed = TRUE;
}
- if (item->icon_large != NULL)
+ if (item->surface != NULL)
{
- g_object_unref (G_OBJECT (item->icon_large));
- item->icon_large = NULL;
+ cairo_surface_destroy (item->surface);
+ item->surface = NULL;
+ item_changed = TRUE;
+ }
+ if (item->surface_large != NULL)
+ {
+ cairo_surface_destroy (item->surface_large);
+ item->surface_large = NULL;
item_changed = TRUE;
}
if (item->abstract != NULL)
@@ -2746,12 +2834,6 @@ xfce_appfinder_model_icon_theme_changed (XfceAppfinderModel *model)
item_changed = TRUE;
}
- if (item->item == NULL)
- {
- item->icon = GDK_PIXBUF (g_object_ref (G_OBJECT (model->command_icon)));
- item->icon_large = GDK_PIXBUF (g_object_ref (G_OBJECT (model->command_icon_large)));
- }
-
if (item_changed)
{
path = gtk_tree_path_new_from_indices (idx, -1);
@@ -2775,7 +2857,7 @@ xfce_appfinder_model_history_clear (XfceAppfinderModel *model)
xfce_appfinder_model_history_remove_items (model);
/* remove the history file */
- filename = xfce_resource_save_location (XFCE_RESOURCE_CACHE, HISTORY_PATH, FALSE);
+ filename = xfce_resource_save_location (XFCE_RESOURCE_CACHE, NEW_HISTORY_PATH, FALSE);
if (filename != NULL)
g_unlink (filename);
g_free (filename);
=====================================
src/appfinder-model.h
=====================================
@@ -40,6 +40,7 @@ enum
XFCE_APPFINDER_MODEL_COLUMN_TITLE,
XFCE_APPFINDER_MODEL_COLUMN_ICON,
XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE,
+ XFCE_APPFINDER_MODEL_COLUMN_PIXBUF,
XFCE_APPFINDER_MODEL_COLUMN_COMMAND,
XFCE_APPFINDER_MODEL_COLUMN_URI,
XFCE_APPFINDER_MODEL_COLUMN_BOOKMARK,
@@ -69,7 +70,8 @@ XfceAppfinderIconSize;
GType xfce_appfinder_model_get_type (void) G_GNUC_CONST;
-XfceAppfinderModel *xfce_appfinder_model_get (gboolean sort_by_frecency) G_GNUC_MALLOC;
+XfceAppfinderModel *xfce_appfinder_model_get (gboolean sort_by_frecency,
+ gint scale_factor) G_GNUC_MALLOC;
GSList *xfce_appfinder_model_get_categories (XfceAppfinderModel *model);
@@ -90,13 +92,14 @@ gboolean xfce_appfinder_model_execute (XfceAppfinderM
GError **error);
GdkPixbuf *xfce_appfinder_model_load_pixbuf (const gchar *icon_name,
- XfceAppfinderIconSize icon_size) G_GNUC_MALLOC;
+ XfceAppfinderIconSize icon_size,
+ gint scale_factor) G_GNUC_MALLOC;
gboolean xfce_appfinder_model_save_command (XfceAppfinderModel *model,
const gchar *command,
GError **error);
-GdkPixbuf *xfce_appfinder_model_get_icon_for_command (XfceAppfinderModel *model,
+cairo_surface_t *xfce_appfinder_model_get_icon_for_command (XfceAppfinderModel *model,
const gchar *command);
void xfce_appfinder_model_icon_theme_changed (XfceAppfinderModel *model);
=====================================
src/appfinder-preferences.c
=====================================
@@ -260,6 +260,8 @@ static void
xfce_appfinder_preferences_clear_history (XfceAppfinderPreferences *preferences)
{
XfceAppfinderModel *model;
+ gboolean sort_by_frecency;
+ gint scale_factor;
appfinder_return_if_fail (XFCE_IS_APPFINDER_PREFERENCES (preferences));
@@ -267,7 +269,9 @@ xfce_appfinder_preferences_clear_history (XfceAppfinderPreferences *preferences)
_("This will permanently clear the custom command history."),
_("Are you sure you want to clear the command history?")))
{
- model = xfce_appfinder_model_get (xfconf_channel_get_bool (preferences->channel, "/sort-by-frecency", FALSE));
+ sort_by_frecency = xfconf_channel_get_bool (preferences->channel, "/sort-by-frecency", FALSE);
+ scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (preferences->dialog));
+ model = xfce_appfinder_model_get (sort_by_frecency, scale_factor);
xfce_appfinder_model_history_clear (model);
g_object_unref (G_OBJECT (model));
}
=====================================
src/appfinder-window.c
=====================================
@@ -49,8 +49,8 @@
-#define DEFAULT_WINDOW_WIDTH 400
-#define DEFAULT_WINDOW_HEIGHT 400
+#define DEFAULT_WINDOW_WIDTH 580
+#define DEFAULT_WINDOW_HEIGHT 422
#define DEFAULT_PANED_POSITION 180
#define XFCE_APPFINDER_LOCAL_PREFIX "file://"
@@ -217,15 +217,20 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
GtkEntryCompletion *completion;
GtkCellRenderer *cell;
gint integer;
+ gboolean sort_by_frecency;
+ gint scale_factor;
+
+ scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (window));
window->channel = xfconf_channel_get ("xfce4-appfinder");
window->last_window_height = xfconf_channel_get_int (window->channel, "/last/window-height", DEFAULT_WINDOW_HEIGHT);
- window->category_model = xfce_appfinder_category_model_new ();
+ window->category_model = xfce_appfinder_category_model_new (scale_factor);
xfconf_g_property_bind (window->channel, "/category-icon-size", G_TYPE_UINT,
G_OBJECT (window->category_model), "icon-size");
- window->model = xfce_appfinder_model_get (xfconf_channel_get_bool (window->channel, "/sort-by-frecency", FALSE));
+ sort_by_frecency = xfconf_channel_get_bool (window->channel, "/sort-by-frecency", FALSE);
+ window->model = xfce_appfinder_model_get (sort_by_frecency, scale_factor);
xfconf_g_property_bind (window->channel, "/item-icon-size", G_TYPE_UINT,
G_OBJECT (window->model), "icon-size");
@@ -234,7 +239,7 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
gtk_window_set_default_size (GTK_WINDOW (window), integer, -1);
gtk_window_set_icon_name (GTK_WINDOW (window), "org.xfce.appfinder");
- if (xfconf_channel_get_bool (window->channel, "/always-center", FALSE))
+ if (xfconf_channel_get_bool (window->channel, "/always-center", TRUE))
gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER);
if (xfconf_channel_get_bool (window->channel, "/hide-window-decorations", FALSE))
@@ -249,7 +254,9 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 0);
gtk_widget_show (hbox);
- window->icon_find = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_FIND, XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM);
+ window->icon_find = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_FIND,
+ XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM,
+ scale_factor);
window->image = image = gtk_image_new_from_pixbuf (window->icon_find);
gtk_widget_set_size_request (image, 48, 48);
gtk_widget_set_halign(image, GTK_ALIGN_CENTER);
@@ -307,7 +314,7 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_widget_show (scroll);
- if (xfconf_channel_get_bool (window->channel, "/hide-category-pane", FALSE))
+ if (xfconf_channel_get_bool (window->channel, "/hide-category-pane", TRUE))
gtk_widget_set_visible (scroll, FALSE);
sidepane = window->sidepane = gtk_tree_view_new_with_model (GTK_TREE_MODEL (window->category_model));
@@ -334,7 +341,7 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (column), renderer, FALSE);
gtk_tree_view_column_set_attributes (GTK_TREE_VIEW_COLUMN (column), renderer,
- "pixbuf", XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_ICON, NULL);
+ "surface", XFCE_APPFINDER_CATEGORY_MODEL_COLUMN_ICON, NULL);
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
@@ -377,11 +384,16 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
image = gtk_image_new_from_icon_name (XFCE_APPFINDER_ICON_NAME_EXECUTE, GTK_ICON_SIZE_BUTTON);
gtk_button_set_image (GTK_BUTTON (button), image);
+ /* update icons when icon theme changes */
window->icon_theme = gtk_icon_theme_get_for_screen (gtk_window_get_screen (GTK_WINDOW (window)));
g_signal_connect_swapped (G_OBJECT (window->icon_theme), "changed",
G_CALLBACK (xfce_appfinder_window_icon_theme_changed), window);
g_object_ref (G_OBJECT (window->icon_theme));
+ /* update icons when scale factor changes */
+ g_signal_connect (G_OBJECT (window), "notify::scale-factor",
+ G_CALLBACK (xfce_appfinder_window_icon_theme_changed), NULL);
+
/* load categories in the model */
xfce_appfinder_window_category_set_categories (NULL, window);
window->categories_changed_id =
@@ -410,6 +422,9 @@ xfce_appfinder_window_finalize (GObject *object)
g_signal_handler_disconnect (window->channel, window->property_watch_id);
g_signal_handler_disconnect (window->model, window->categories_changed_id);
+ g_signal_handlers_disconnect_by_func (G_OBJECT (window),
+ xfce_appfinder_window_icon_theme_changed, NULL);
+
/* release our reference on the icon theme */
g_signal_handlers_disconnect_by_func (G_OBJECT (window->icon_theme),
xfce_appfinder_window_icon_theme_changed, window);
@@ -534,7 +549,7 @@ xfce_appfinder_window_window_state_event (GtkWidget *widget,
/* set sensible width instead of taking entire width */
width = xfconf_channel_get_int (window->channel, "/last/window-width", DEFAULT_WINDOW_WIDTH);
- gtk_window_resize (GTK_WINDOW (widget), width, 100 /* should be corrected by wm */);
+ gtk_window_resize (GTK_WINDOW (widget), width, 80 /* should be corrected by wm */);
}
if ((event->new_window_state & GDK_WINDOW_STATE_FULLSCREEN) != 0)
@@ -695,14 +710,20 @@ xfce_appfinder_window_view (XfceAppfinderWindow *window)
gtk_widget_destroy (window->view);
}
- window->filter_model = gtk_tree_model_filter_new (GTK_TREE_MODEL (window->model), NULL);
- gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (window->filter_model), xfce_appfinder_window_item_visible, window, NULL);
+ if (window->filter_model == NULL)
+ {
+ window->filter_model = gtk_tree_model_filter_new (GTK_TREE_MODEL (window->model), NULL);
+ gtk_tree_model_filter_set_visible_func (GTK_TREE_MODEL_FILTER (window->filter_model), xfce_appfinder_window_item_visible, window, NULL);
+ }
- window->sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (window->filter_model));
- if (xfconf_channel_get_bool (window->channel, "/sort-by-frecency", FALSE))
- gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (window->sort_model), xfce_appfinder_window_sort_items_frecency, window->entry, NULL);
- else
- gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (window->sort_model), xfce_appfinder_window_sort_items, window->entry, NULL);
+ if (window->sort_model == NULL)
+ {
+ window->sort_model = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (window->filter_model));
+ if (xfconf_channel_get_bool (window->channel, "/sort-by-frecency", FALSE))
+ gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (window->sort_model), xfce_appfinder_window_sort_items_frecency, window->entry, NULL);
+ else
+ gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (window->sort_model), xfce_appfinder_window_sort_items, window->entry, NULL);
+ }
if (icon_view)
{
@@ -712,7 +733,7 @@ xfce_appfinder_window_view (XfceAppfinderWindow *window)
window->filter_model);
gtk_icon_view_set_selection_mode (GTK_ICON_VIEW (view), GTK_SELECTION_SINGLE);
- gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (view), XFCE_APPFINDER_MODEL_COLUMN_ICON);
+ gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (view), XFCE_APPFINDER_MODEL_COLUMN_PIXBUF);
gtk_icon_view_set_text_column (GTK_ICON_VIEW (view), XFCE_APPFINDER_MODEL_COLUMN_TITLE);
gtk_icon_view_set_tooltip_column (GTK_ICON_VIEW (view), XFCE_APPFINDER_MODEL_COLUMN_TOOLTIP);
gtk_icon_view_set_row_spacing (GTK_ICON_VIEW (view), 0);
@@ -749,7 +770,7 @@ xfce_appfinder_window_view (XfceAppfinderWindow *window)
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (column), renderer, FALSE);
gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (column), renderer,
- "pixbuf", XFCE_APPFINDER_MODEL_COLUMN_ICON, NULL);
+ "surface", XFCE_APPFINDER_MODEL_COLUMN_ICON, NULL);
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
@@ -1159,14 +1180,23 @@ xfce_appfinder_window_popup_menu (GtkWidget *view,
static void
xfce_appfinder_window_update_image (XfceAppfinderWindow *window,
- GdkPixbuf *pixbuf)
+ cairo_surface_t *surface)
{
- if (pixbuf == NULL)
- pixbuf = window->icon_find;
+ gint scale_factor;
+ gboolean free_surface = FALSE;
+
+ if (surface == NULL)
+ {
+ scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (window));
+ surface = gdk_cairo_surface_create_from_pixbuf (window->icon_find, scale_factor,
+ gtk_widget_get_window (GTK_WIDGET (window)));
+ free_surface = TRUE;
+ }
+
+ gtk_image_set_from_surface (GTK_IMAGE (window->image), surface);
- /* gtk doesn't check this */
- if (gtk_image_get_pixbuf (GTK_IMAGE (window->image)) != pixbuf)
- gtk_image_set_from_pixbuf (GTK_IMAGE (window->image), pixbuf);
+ if (free_surface)
+ cairo_surface_destroy (surface);
}
@@ -1215,7 +1245,7 @@ xfce_appfinder_window_entry_changed_idle (gpointer data)
{
XfceAppfinderWindow *window = XFCE_APPFINDER_WINDOW (data);
const gchar *text;
- GdkPixbuf *pixbuf;
+ cairo_surface_t *surface;
gchar *normalized;
GtkTreePath *path;
GtkTreeSelection *selection;
@@ -1288,10 +1318,10 @@ xfce_appfinder_window_entry_changed_idle (gpointer data)
gtk_entry_set_icon_from_icon_name (GTK_ENTRY (window->entry), GTK_ENTRY_ICON_PRIMARY, NULL);
gtk_entry_set_icon_tooltip_text (GTK_ENTRY (window->entry), GTK_ENTRY_ICON_PRIMARY, NULL);
- pixbuf = xfce_appfinder_model_get_icon_for_command (window->model, text);
- xfce_appfinder_window_update_image (window, pixbuf);
- if (pixbuf != NULL)
- g_object_unref (G_OBJECT (pixbuf));
+ surface = xfce_appfinder_model_get_icon_for_command (window->model, text);
+ xfce_appfinder_window_update_image (window, surface);
+ if (surface != NULL)
+ cairo_surface_destroy (surface);
}
@@ -1428,17 +1458,17 @@ xfce_appfinder_window_drag_begin (GtkWidget *widget,
GdkDragContext *drag_context,
XfceAppfinderWindow *window)
{
- GtkTreeModel *model;
- GtkTreeIter iter;
- GdkPixbuf *pixbuf;
+ GtkTreeModel *model;
+ GtkTreeIter iter;
+ cairo_surface_t *surface;
if (xfce_appfinder_window_view_get_selected (window, &model, &iter))
{
- gtk_tree_model_get (model, &iter, XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE, &pixbuf, -1);
- if (G_LIKELY (pixbuf != NULL))
+ gtk_tree_model_get (model, &iter, XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE, &surface, -1);
+ if (G_LIKELY (surface != NULL))
{
- gtk_drag_set_icon_pixbuf (drag_context, pixbuf, 0, 0);
- g_object_unref (G_OBJECT (pixbuf));
+ gtk_drag_set_icon_surface (drag_context, surface);
+ cairo_surface_destroy (surface);
}
}
else
@@ -1715,7 +1745,7 @@ xfce_appfinder_window_item_changed (XfceAppfinderWindow *window)
GtkTreeIter iter;
GtkTreeModel *model;
gboolean can_launch;
- GdkPixbuf *pixbuf;
+ cairo_surface_t *surface;
if (gtk_widget_get_visible (window->paned))
{
@@ -1724,11 +1754,11 @@ xfce_appfinder_window_item_changed (XfceAppfinderWindow *window)
if (can_launch)
{
- gtk_tree_model_get (model, &iter, XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE, &pixbuf, -1);
- if (G_LIKELY (pixbuf != NULL))
+ gtk_tree_model_get (model, &iter, XFCE_APPFINDER_MODEL_COLUMN_ICON_LARGE, &surface, -1);
+ if (G_LIKELY (surface != NULL))
{
- xfce_appfinder_window_update_image (window, pixbuf);
- g_object_unref (G_OBJECT (pixbuf));
+ xfce_appfinder_window_update_image (window, surface);
+ cairo_surface_destroy (surface);
}
}
else
@@ -1752,18 +1782,30 @@ xfce_appfinder_window_row_activated (XfceAppfinderWindow *window)
static void
xfce_appfinder_window_icon_theme_changed (XfceAppfinderWindow *window)
{
+ gint scale_factor;
+
appfinder_return_if_fail (XFCE_IS_APPFINDER_WINDOW (window));
+ scale_factor = gtk_widget_get_scale_factor (GTK_WIDGET (window));
+
if (window->icon_find != NULL)
g_object_unref (G_OBJECT (window->icon_find));
- window->icon_find = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_FIND, XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM);
+ window->icon_find = xfce_appfinder_model_load_pixbuf (XFCE_APPFINDER_ICON_NAME_FIND,
+ XFCE_APPFINDER_ICON_SIZE_DEFAULT_ITEM,
+ scale_factor);
- /* drop cached pixbufs */
+ /* drop cached pixbufs and surfaces */
if (G_LIKELY (window->model != NULL))
- xfce_appfinder_model_icon_theme_changed (window->model);
+ {
+ g_object_set (window->model, "scale-factor", scale_factor, NULL);
+ xfce_appfinder_model_icon_theme_changed (window->model);
+ }
if (G_LIKELY (window->category_model != NULL))
- xfce_appfinder_category_model_icon_theme_changed (window->category_model);
+ {
+ g_object_set (window->category_model, "scale-factor", scale_factor, NULL);
+ xfce_appfinder_category_model_icon_theme_changed (window->category_model);
+ }
/* update state */
xfce_appfinder_window_entry_changed (window);
@@ -1969,27 +2011,25 @@ void
xfce_appfinder_window_set_expanded (XfceAppfinderWindow *window,
gboolean expanded)
{
- GdkGeometry hints;
gint width;
GtkEntryCompletion *completion;
APPFINDER_DEBUG ("set expand = %s", expanded ? "true" : "false");
- /* force window geomentry */
+ /* update window geometry */
if (expanded)
{
- gtk_window_set_geometry_hints (GTK_WINDOW (window), NULL, NULL, 0);
gtk_window_get_size (GTK_WINDOW (window), &width, NULL);
gtk_window_resize (GTK_WINDOW (window), width, window->last_window_height);
}
else
{
if (gtk_widget_get_visible (GTK_WIDGET (window)))
- gtk_window_get_size (GTK_WINDOW (window), NULL, &window->last_window_height);
+ gtk_window_get_size (GTK_WINDOW (window), &width, &window->last_window_height);
+ else
+ width = xfconf_channel_get_int (window->channel, "/last/window-width", DEFAULT_WINDOW_WIDTH);
- hints.max_height = -1;
- hints.max_width = G_MAXINT;
- gtk_window_set_geometry_hints (GTK_WINDOW (window), NULL, &hints, GDK_HINT_MAX_SIZE);
+ gtk_window_resize (GTK_WINDOW (window), width, 80 /* should be corrected by wm */);
}
/* show/hide pane with treeviews */
=====================================
src/main.c
=====================================
@@ -137,6 +137,8 @@ static void
appfinder_window_destroyed (GtkWidget *window)
{
XfconfChannel *channel;
+ gboolean sort_by_frecency;
+ gint scale_factor;
if (windows == NULL)
return;
@@ -146,7 +148,9 @@ appfinder_window_destroyed (GtkWidget *window)
{
APPFINDER_DEBUG ("main took reference on the main model");
channel = xfconf_channel_get ("xfce4-appfinder");
- model_cache = xfce_appfinder_model_get (xfconf_channel_get_bool (channel, "/sort-by-frecency", FALSE));
+ sort_by_frecency = xfconf_channel_get_bool (channel, "/sort-by-frecency", FALSE);
+ scale_factor = gtk_widget_get_scale_factor (window);
+ model_cache = xfce_appfinder_model_get (sort_by_frecency, scale_factor);
}
/* remove from internal list */
@@ -238,7 +242,7 @@ main (gint argc, gchar **argv)
if (opt_version)
{
g_print ("%s %s (Xfce %s)\n\n", PACKAGE_NAME, PACKAGE_VERSION, xfce_version_string ());
- g_print ("%s\n", "Copyright (c) 2004-2020");
+ g_print ("%s\n", "Copyright (c) 2004-2022");
g_print ("\t%s\n\n", _("The Xfce development team. All rights reserved."));
g_print (_("Please report bugs to <%s>."), PACKAGE_BUGREPORT);
g_print ("\n");
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfce4-appfinder/-/compare/84a36c09b1e736102e402786553bc0cd6cbdb5b5...fcb26df0c09283bd34bde495887cee18288c4343
--
View it on GitLab: https://salsa.debian.org/xfce-team/desktop/xfce4-appfinder/-/compare/84a36c09b1e736102e402786553bc0cd6cbdb5b5...fcb26df0c09283bd34bde495887cee18288c4343
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-xfce-commits/attachments/20221205/27a6ccc6/attachment-0001.htm>
More information about the Pkg-xfce-commits
mailing list