Drop old files left over from svn conversion
This commit is contained in:
parent
0e1960d0d1
commit
9b792febad
2
debian/clean
vendored
2
debian/clean
vendored
@ -1,2 +0,0 @@
|
||||
gtk/gtkdbusgenerated.h
|
||||
gtk/gtkdbusgenerated.c
|
79
debian/dh_listmissing.pl
vendored
79
debian/dh_listmissing.pl
vendored
@ -1,79 +0,0 @@
|
||||
#!/bin/false /usr/bin/perl -w
|
||||
# shebang disabled while this script resides in debian/
|
||||
|
||||
# similar to dh_install; needs some documentation
|
||||
|
||||
use strict;
|
||||
use File::Find;
|
||||
use Debian::Debhelper::Dh_Lib;
|
||||
|
||||
init();
|
||||
|
||||
# list of sourcedirs
|
||||
my @sourcedirs = @ARGV;
|
||||
|
||||
my @installed;
|
||||
|
||||
my $srcdir = '.';
|
||||
|
||||
# dh_install code, but not doing any installation, just building @installed
|
||||
# and stripping sourcedirs from these
|
||||
foreach my $package (@{$dh{DOPACKAGES}}) {
|
||||
my $tmp=tmpdir($package);
|
||||
my $file=pkgfile($package,"install");
|
||||
|
||||
my @install;
|
||||
if ($file) {
|
||||
@install=filedoublearray($file); # no globbing yet
|
||||
}
|
||||
|
||||
# Support for -X flag.
|
||||
my $exclude = '';
|
||||
if ($dh{EXCLUDE_FIND}) {
|
||||
$exclude = '! \( '.$dh{EXCLUDE_FIND}.' \)';
|
||||
}
|
||||
|
||||
foreach my $set (@install) {
|
||||
if (! defined $dh{AUTODEST} && @$set > 1) {
|
||||
pop @$set;
|
||||
}
|
||||
foreach my $src (map { glob "$srcdir/$_" } @$set) {
|
||||
next if excludefile($src);
|
||||
|
||||
# strip source dir
|
||||
foreach my $d (@sourcedirs) {
|
||||
$src=~s/^\Q$srcdir\E\/\Q$d\E\///;
|
||||
}
|
||||
|
||||
# Keep track of what's installed.
|
||||
# Kill any extra slashes. Makes the @installed stuff more robust.
|
||||
$src=~y:/:/:s;
|
||||
$src=~s:/+$::;
|
||||
$src=~s:^(\./)*::;
|
||||
push @installed, "\Q$src\E\/.*|\Q$src\E";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# dh_install code, but stripping sourcedirs
|
||||
my @missing;
|
||||
my $installed=join("|", @installed);
|
||||
$installed=qr{^($installed)$};
|
||||
find(sub {
|
||||
-f || -l || return;
|
||||
$_="$File::Find::dir/$_";
|
||||
foreach my $d (@sourcedirs) {
|
||||
s/^\Q$d\E\///;
|
||||
}
|
||||
if (! /$installed/ && ! excludefile($_)) {
|
||||
my $file=$_;
|
||||
push @missing, $file;
|
||||
}
|
||||
}, @sourcedirs);
|
||||
if (@missing) {
|
||||
warning "$_ has been installed upstream but is not in any package" foreach @missing;
|
||||
if ($dh{FAIL_MISSING}) {
|
||||
error("missing files, aborting");
|
||||
}
|
||||
}
|
||||
|
1
debian/gir1.2-gtk-3.0.install.in
vendored
1
debian/gir1.2-gtk-3.0.install.in
vendored
@ -1 +0,0 @@
|
||||
debian/install/shared/@LIBDIR@/girepository-1.0/ usr/lib/
|
3
debian/gtk-3-examples.install.in
vendored
3
debian/gtk-3-examples.install.in
vendored
@ -1,3 +0,0 @@
|
||||
# from the shared flavor
|
||||
debian/install/shared/usr/bin/gtk3-demo usr/bin
|
||||
debian/install/shared/usr/share/gtk-3.0/demo usr/share/gtk-3.0
|
2
debian/gtk3-engines-pixbuf.install.in
vendored
2
debian/gtk3-engines-pixbuf.install.in
vendored
@ -1,2 +0,0 @@
|
||||
# from the shared flavor
|
||||
debian/install/shared/@MODULES_BASE_PATH@/engines/*.so @MODULES_BASE_PATH@/engines
|
2
debian/gtk3-engines-pixbuf.links.in
vendored
2
debian/gtk3-engines-pixbuf.links.in
vendored
@ -1,2 +0,0 @@
|
||||
usr/share/doc/@COMMON_PKG@/NEWS.gz usr/share/doc/@PIXBUF_PKG@/NEWS.gz
|
||||
usr/share/doc/@COMMON_PKG@/README usr/share/doc/@PIXBUF_PKG@/README
|
1
debian/libgail-3-0.install.in
vendored
1
debian/libgail-3-0.install.in
vendored
@ -1 +0,0 @@
|
||||
debian/install/shared/@LIBDIR@/libgail*.so.* @LIBDIR@
|
2
debian/libgail-3-0.opt
vendored
2
debian/libgail-3-0.opt
vendored
@ -1,2 +0,0 @@
|
||||
# from the optimised flavor
|
||||
debian/install/opt/@LIBDIR@/libgail*.so.* @OPTLIBDIR@
|
1
debian/libgail-3-common.install.in
vendored
1
debian/libgail-3-common.install.in
vendored
@ -1 +0,0 @@
|
||||
debian/install/shared/@LIBDIR@/gtk-3.0/modules/*.so @LIBDIR@/gtk-3.0/modules
|
4
debian/libgail-3-dev.install.in
vendored
4
debian/libgail-3-dev.install.in
vendored
@ -1,4 +0,0 @@
|
||||
debian/install/shared/usr/include/gail* /usr/include
|
||||
debian/install/shared/@LIBDIR@/libgail*.so @LIBDIR@
|
||||
debian/install/static/@LIBDIR@/libgail*.a @LIBDIR@
|
||||
debian/install/shared/@LIBDIR@/pkgconfig/gail*.pc @LIBDIR@/pkgconfig
|
2
debian/libgtk-3-0-udeb.install.in
vendored
2
debian/libgtk-3-0-udeb.install.in
vendored
@ -1,2 +0,0 @@
|
||||
# from the shared flavor
|
||||
debian/install/shared_udeb/@LIBDIR@/libg?k*.so.* @LIBDIR@
|
3
debian/libgtk-3-0.install.opt
vendored
3
debian/libgtk-3-0.install.opt
vendored
@ -1,3 +0,0 @@
|
||||
# from the optimised flavor
|
||||
debian/install/opt/@LIBDIR@/libgtk*.so.* @OPTLIBDIR@
|
||||
debian/install/opt/@LIBDIR@/libgdk*.so.* @OPTLIBDIR@
|
4
debian/libgtk-3-bin.install.in
vendored
4
debian/libgtk-3-bin.install.in
vendored
@ -1,4 +0,0 @@
|
||||
# from the shared flavor
|
||||
docs/reference/gtk/gtk-update-icon-cache.1 usr/share/man/man1
|
||||
docs/reference/gtk/gtk-query-immodules-3.0.1 usr/share/man/man1
|
||||
debian/update-icon-caches usr/sbin
|
8
debian/libgtk-3-dev.install.in
vendored
8
debian/libgtk-3-dev.install.in
vendored
@ -1,8 +0,0 @@
|
||||
# from the shared flavor
|
||||
debian/install/shared/usr/include/gtk* usr/include
|
||||
debian/install/shared/@LIBDIR@/libg?k*.so @LIBDIR@
|
||||
debian/install/shared/@LIBDIR@/pkgconfig/g?k* @LIBDIR@/pkgconfig
|
||||
debian/install/shared/usr/share/aclocal usr/share
|
||||
debian/install/shared/usr/share/gir-1.0 usr/share
|
||||
# from the static flavor
|
||||
debian/install/static/@LIBDIR@/libg?k*.a @LIBDIR@
|
2
debian/libgtk-directfb-2.0-0.install
vendored
2
debian/libgtk-directfb-2.0-0.install
vendored
@ -1,2 +0,0 @@
|
||||
# from the directfb flavor
|
||||
debian/install/directfb/usr/lib/*directfb*.so.* usr/lib
|
@ -1,33 +0,0 @@
|
||||
diff -ruN gtk+-2.2.0.orig/modules/input/Makefile.am gtk+-2.2.0/modules/input/Makefile.am
|
||||
--- gtk+-2.2.0.orig/modules/input/Makefile.am 2003-01-06 23:40:37.000000000 +0900
|
||||
+++ gtk+-2.2.0/modules/input/Makefile.am 2003-01-06 23:46:35.000000000 +0900
|
||||
@@ -118,7 +118,12 @@
|
||||
im-viqr.la
|
||||
|
||||
gtk.immodules: Makefile.am $(module_LTLIBRARIES)
|
||||
- $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules
|
||||
+ @if $(RUN_QUERY_IMMODULES_TEST) ; then \
|
||||
+ $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules ; \
|
||||
+ else \
|
||||
+ touch $@ ; \
|
||||
+ fi
|
||||
+
|
||||
|
||||
CLEANFILES = gtk.immodules
|
||||
|
||||
diff -ruN gtk+-2.2.0.orig/modules/input/Makefile.in gtk+-2.2.0/modules/input/Makefile.in
|
||||
--- gtk+-2.2.0.orig/modules/input/Makefile.in 2003-01-06 23:39:08.000000000 +0900
|
||||
+++ gtk+-2.2.0/modules/input/Makefile.in 2003-01-06 23:46:44.000000000 +0900
|
||||
@@ -785,7 +785,11 @@
|
||||
rm -f $(DESTDIR)$(sysconfdir)/gtk-2.0/gtk.immodules
|
||||
|
||||
gtk.immodules: Makefile.am $(module_LTLIBRARIES)
|
||||
- $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules
|
||||
+ @if $(RUN_QUERY_IMMODULES_TEST) ; then \
|
||||
+ $(top_builddir)/gtk/gtk-query-immodules-2.0 $(module_LTLIBRARIES) > gtk.immodules ; \
|
||||
+ else \
|
||||
+ touch $@ ; \
|
||||
+ fi
|
||||
|
||||
@CROSS_COMPILING_FALSE@all-local: gtk.immodules
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
@ -1,12 +0,0 @@
|
||||
diff -Nur gtk+-2.8.13.orig/gtk/gtkicontheme.c gtk+-2.8.13/gtk/gtkicontheme.c
|
||||
--- gtk+-2.8.13.orig/gtk/gtkicontheme.c 2006-02-13 03:33:31.000000000 +0100
|
||||
+++ gtk+-2.8.13/gtk/gtkicontheme.c 2006-02-26 00:09:20.000000000 +0100
|
||||
@@ -421,6 +421,8 @@
|
||||
"gtk-fallback-icon-theme", &fallback_theme, NULL);
|
||||
}
|
||||
|
||||
+ if (!fallback_theme)
|
||||
+ fallback_theme = g_strdup ("gnome");
|
||||
if (!theme)
|
||||
theme = g_strdup (DEFAULT_THEME_NAME);
|
||||
|
73
debian/patches/001_fs_documents.patch
vendored
73
debian/patches/001_fs_documents.patch
vendored
@ -1,73 +0,0 @@
|
||||
diff -Nur gtk+-2.8.7.orig/gtk/gtkfilechooserdefault.c gtk+-2.8.7/gtk/gtkfilechooserdefault.c
|
||||
--- gtk+-2.8.7.orig/gtk/gtkfilechooserdefault.c 2005-11-11 20:50:21.000000000 +0100
|
||||
+++ gtk+-2.8.7/gtk/gtkfilechooserdefault.c 2005-11-16 11:59:33.000000000 +0100
|
||||
@@ -222,6 +222,7 @@
|
||||
|
||||
GtkTooltips *tooltips;
|
||||
|
||||
+ gboolean has_documents;
|
||||
gboolean has_home;
|
||||
gboolean has_desktop;
|
||||
|
||||
@@ -343,6 +344,7 @@
|
||||
|
||||
/* Interesting places in the shortcuts bar */
|
||||
typedef enum {
|
||||
+ SHORTCUTS_DOCUMENTS,
|
||||
SHORTCUTS_HOME,
|
||||
SHORTCUTS_DESKTOP,
|
||||
SHORTCUTS_VOLUMES,
|
||||
@@ -1476,6 +1478,33 @@
|
||||
profile_end ("end", NULL);
|
||||
}
|
||||
|
||||
+
|
||||
+/* Appends the ~/Documents directory to the shortcuts model */
|
||||
+static void
|
||||
+shortcuts_append_documents (GtkFileChooserDefault *impl)
|
||||
+{
|
||||
+ char *name;
|
||||
+ GtkFilePath *path;
|
||||
+
|
||||
+ name = g_build_filename (g_get_home_dir (), "Documents", NULL);
|
||||
+ path = gtk_file_system_filename_to_path (impl->file_system, name);
|
||||
+ g_free (name);
|
||||
+
|
||||
+ impl->has_documents = shortcuts_insert_path (impl, -1, FALSE, NULL, path, _("Documents"), FALSE, NULL);
|
||||
+ /* We do not actually pop up an error dialog if there is no document directory
|
||||
+ * because some people may really not want to have one.
|
||||
+ */
|
||||
+
|
||||
+ gtk_file_path_free (path);
|
||||
+}
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
+
|
||||
/* Appends a list of GtkFilePath to the shortcuts model; returns how many were inserted */
|
||||
static int
|
||||
shortcuts_append_paths (GtkFileChooserDefault *impl,
|
||||
@@ -1527,6 +1556,11 @@
|
||||
|
||||
n = 0;
|
||||
|
||||
+ if (where == SHORTCUTS_DOCUMENTS)
|
||||
+ goto out;
|
||||
+
|
||||
+ n += impl->has_documents ? 1 : 0;
|
||||
+
|
||||
if (where == SHORTCUTS_HOME)
|
||||
goto out;
|
||||
|
||||
@@ -1875,6 +1909,7 @@
|
||||
|
||||
if (impl->file_system)
|
||||
{
|
||||
+ shortcuts_append_documents (impl);
|
||||
shortcuts_append_home (impl);
|
||||
shortcuts_append_desktop (impl);
|
||||
shortcuts_add_volumes (impl);
|
File diff suppressed because it is too large
Load Diff
@ -1,34 +0,0 @@
|
||||
Description: Don't query immodules for the local tree when cross-compiling or
|
||||
when --disable-shared was given
|
||||
Bug: http://bugzilla.gnome.org/show_bug.cgi?id=346531
|
||||
|
||||
Index: gtk+-3.2.2/configure.ac
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/configure.ac 2011-11-12 04:40:22.000000000 +0100
|
||||
+++ gtk+-3.2.2/configure.ac 2011-11-13 02:59:17.002906448 +0100
|
||||
@@ -208,6 +208,8 @@
|
||||
# Create libtool early, because it's used in configure
|
||||
LT_OUTPUT
|
||||
|
||||
+AM_CONDITIONAL([ENABLE_STATIC], [test "$enable_static" = yes])
|
||||
+
|
||||
# Make sure we use 64-bit versions of various file stuff.
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
Index: gtk+-3.2.2/modules/input/Makefile.am
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/modules/input/Makefile.am 2011-11-11 23:39:32.000000000 +0100
|
||||
+++ gtk+-3.2.2/modules/input/Makefile.am 2011-11-13 02:59:17.002906448 +0100
|
||||
@@ -174,8 +174,12 @@
|
||||
if CROSS_COMPILING
|
||||
RUN_QUERY_IMMODULES_TEST=false
|
||||
else
|
||||
+if ENABLE_STATIC
|
||||
+RUN_QUERY_IMMODULES_TEST=false
|
||||
+else
|
||||
RUN_QUERY_IMMODULES_TEST=test -z "$(DESTDIR)"
|
||||
endif
|
||||
+endif
|
||||
|
||||
# Running this if cross compiling or if DESTDIR is set is going to
|
||||
# not work at all, so skip it.
|
@ -1,21 +0,0 @@
|
||||
Description: don't build perf measurement tools in static builds
|
||||
Bug: http://bugzilla.gnome.org/show_bug.cgi?id=346559
|
||||
|
||||
Index: gtk+3.0-2.91.1/Makefile.am
|
||||
===================================================================
|
||||
--- gtk+3.0-2.91.1.orig/Makefile.am 2010-10-16 02:53:00.000000000 +0200
|
||||
+++ gtk+3.0-2.91.1/Makefile.am 2010-10-18 14:10:10.239672000 +0200
|
||||
@@ -1,7 +1,12 @@
|
||||
## Makefile.am for GTK+
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
-SRC_SUBDIRS = gdk gtk modules demos tests perf examples
|
||||
+# don't build perf measurement tools in static builds
|
||||
+if !ENABLE_STATIC
|
||||
+MAYBE_PERF = perf
|
||||
+endif
|
||||
+
|
||||
+SRC_SUBDIRS = gdk gtk modules demos tests examples $(MAYBE_PERF)
|
||||
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros build
|
||||
|
||||
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
18
debian/patches/002_xpmico.patch
vendored
18
debian/patches/002_xpmico.patch
vendored
@ -1,18 +0,0 @@
|
||||
diff -Nur gtk+-2.4.9.orig/gdk-pixbuf/io-ico.c gtk+-2.4.9/gdk-pixbuf/io-ico.c
|
||||
--- gtk+-2.4.9.orig/gdk-pixbuf/io-ico.c 2004-08-25 18:52:18.000000000 +0200
|
||||
+++ gtk+-2.4.9/gdk-pixbuf/io-ico.c 2004-09-15 00:40:17.000000000 +0200
|
||||
@@ -210,6 +210,14 @@
|
||||
|
||||
State->HeaderSize = 6 + IconCount*16;
|
||||
|
||||
+ if (State->HeaderSize < 0) {
|
||||
+ g_set_error (error,
|
||||
+ GDK_PIXBUF_ERROR,
|
||||
+ GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
|
||||
+ _("Invalid header in icon"));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
if (State->HeaderSize>State->BytesInHeaderBuf) {
|
||||
guchar *tmp=g_try_realloc(State->HeaderBuf,State->HeaderSize);
|
||||
if (!tmp) {
|
38
debian/patches/003_gdk.pc_privates.patch
vendored
38
debian/patches/003_gdk.pc_privates.patch
vendored
@ -1,38 +0,0 @@
|
||||
Index: gtk+-3.2.2/configure.ac
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/configure.ac 2011-11-13 02:59:17.002906448 +0100
|
||||
+++ gtk+-3.2.2/configure.ac 2011-11-13 02:59:21.554906287 +0100
|
||||
@@ -1272,10 +1272,11 @@
|
||||
CFLAGS="$saved_cflags"
|
||||
LDFLAGS="$saved_ldflags"
|
||||
|
||||
-GDK_PACKAGES="$PANGO_PACKAGES $GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES gdk-pixbuf-2.0 $cairo_backends cairo-gobject"
|
||||
+GDK_PACKAGES="$PANGO_PACKAGES gdk-pixbuf-2.0"
|
||||
+GDK_PRIVATE_PACKAGES="$GIO_PACKAGE $X_PACKAGES $WAYLAND_PACKAGES $cairo_backends cairo-gobject"
|
||||
|
||||
-GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES` $MATH_LIB"
|
||||
-GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES` $GDK_EXTRA_CFLAGS"
|
||||
+GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PACKAGES $GDK_PRIVATE_PACKAGES` $MATH_LIB"
|
||||
+GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PACKAGES $GDK_PRIVATE_PACKAGES` $GDK_EXTRA_CFLAGS"
|
||||
#
|
||||
# If we aren't writing explicit dependencies, then don't put the extra libraries we need
|
||||
# into the pkg-config files
|
||||
@@ -1286,6 +1287,7 @@
|
||||
fi
|
||||
|
||||
AC_SUBST(GDK_PACKAGES)
|
||||
+AC_SUBST(GDK_PRIVATE_PACKAGES)
|
||||
AC_SUBST(GDK_EXTRA_LIBS)
|
||||
AC_SUBST(GDK_EXTRA_CFLAGS)
|
||||
AC_SUBST(GDK_DEP_LIBS)
|
||||
Index: gtk+-3.2.2/gdk-3.0.pc.in
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gdk-3.0.pc.in 2011-08-16 04:04:34.000000000 +0200
|
||||
+++ gtk+-3.2.2/gdk-3.0.pc.in 2011-11-13 02:59:21.554906287 +0100
|
||||
@@ -8,5 +8,6 @@
|
||||
Description: GTK+ Drawing Kit
|
||||
Version: @VERSION@
|
||||
Requires: @GDK_PACKAGES@
|
||||
+Requires.private: @GDK_PRIVATE_PACKAGES@
|
||||
Libs: -L${libdir} -lgdk-3 @GDK_EXTRA_LIBS@
|
||||
Cflags: -I${includedir}/gtk-@GTK_API_VERSION@ @GDK_EXTRA_CFLAGS@
|
15681
debian/patches/003_gtk+-2.8.17-directfb.patch
vendored
15681
debian/patches/003_gtk+-2.8.17-directfb.patch
vendored
File diff suppressed because it is too large
Load Diff
54472
debian/patches/004_reautoconf.patch
vendored
54472
debian/patches/004_reautoconf.patch
vendored
File diff suppressed because it is too large
Load Diff
236
debian/patches/005_gdk_directfb_window_new.patch
vendored
236
debian/patches/005_gdk_directfb_window_new.patch
vendored
@ -1,236 +0,0 @@
|
||||
Description: Add gdk_directfb_window_new() back, it's a public API
|
||||
Bug: http://bugzilla.gnome.org/show_bug.cgi?id=592371
|
||||
|
||||
--- a/gdk/directfb/gdkwindow-directfb.c
|
||||
+++ b/gdk/directfb/gdkwindow-directfb.c
|
||||
@@ -351,6 +351,213 @@
|
||||
}
|
||||
|
||||
|
||||
+GdkWindow *
|
||||
+gdk_directfb_window_new (GdkWindow *parent,
|
||||
+ GdkWindowAttr *attributes,
|
||||
+ gint attributes_mask,
|
||||
+ DFBWindowCapabilities window_caps,
|
||||
+ DFBWindowOptions window_options,
|
||||
+ DFBSurfaceCapabilities surface_caps)
|
||||
+{
|
||||
+ GdkWindow *window;
|
||||
+ GdkWindowObject *private;
|
||||
+ GdkWindowObject *parent_private;
|
||||
+ GdkWindowImplDirectFB *impl;
|
||||
+ GdkWindowImplDirectFB *parent_impl;
|
||||
+ GdkVisual *visual;
|
||||
+ DFBWindowDescription desc;
|
||||
+ gint x, y;
|
||||
+
|
||||
+ g_return_val_if_fail (attributes != NULL, NULL);
|
||||
+
|
||||
+ D_DEBUG_AT( GDKDFB_Window, "%s( %p )\n", __FUNCTION__, parent );
|
||||
+
|
||||
+ if (!parent || attributes->window_type != GDK_WINDOW_CHILD)
|
||||
+ parent = _gdk_parent_root;
|
||||
+
|
||||
+ window = g_object_new (GDK_TYPE_WINDOW, NULL);
|
||||
+ private = GDK_WINDOW_OBJECT (window);
|
||||
+ private->impl = g_object_new (_gdk_window_impl_get_type (), NULL);
|
||||
+
|
||||
+ parent_private = GDK_WINDOW_OBJECT (parent);
|
||||
+ parent_impl = GDK_WINDOW_IMPL_DIRECTFB (parent_private->impl);
|
||||
+ private->parent = parent_private;
|
||||
+
|
||||
+ x = (attributes_mask & GDK_WA_X) ? attributes->x : 0;
|
||||
+ y = (attributes_mask & GDK_WA_Y) ? attributes->y : 0;
|
||||
+
|
||||
+ gdk_window_set_events (window, attributes->event_mask | GDK_STRUCTURE_MASK);
|
||||
+
|
||||
+ impl = GDK_WINDOW_IMPL_DIRECTFB (private->impl);
|
||||
+ impl->drawable.wrapper = GDK_DRAWABLE (window);
|
||||
+ impl->gdkWindow = window;
|
||||
+
|
||||
+ private->x = x;
|
||||
+ private->y = y;
|
||||
+
|
||||
+ _gdk_directfb_calc_abs (window);
|
||||
+
|
||||
+ impl->drawable.width = MAX (1, attributes->width);
|
||||
+ impl->drawable.height = MAX (1, attributes->height);
|
||||
+
|
||||
+ private->window_type = attributes->window_type;
|
||||
+
|
||||
+ desc.flags = 0;
|
||||
+
|
||||
+ if (attributes_mask & GDK_WA_VISUAL)
|
||||
+ visual = attributes->visual;
|
||||
+ else
|
||||
+ visual = gdk_drawable_get_visual (parent);
|
||||
+
|
||||
+ switch (attributes->wclass)
|
||||
+ {
|
||||
+ case GDK_INPUT_OUTPUT:
|
||||
+ private->input_only = FALSE;
|
||||
+
|
||||
+ desc.flags |= DWDESC_PIXELFORMAT;
|
||||
+ desc.pixelformat = ((GdkVisualDirectFB *) visual)->format;
|
||||
+
|
||||
+ if (DFB_PIXELFORMAT_HAS_ALPHA (desc.pixelformat))
|
||||
+ {
|
||||
+ desc.flags |= DWDESC_CAPS;
|
||||
+ desc.caps = DWCAPS_ALPHACHANNEL;
|
||||
+ }
|
||||
+ break;
|
||||
+
|
||||
+ case GDK_INPUT_ONLY:
|
||||
+ private->input_only = TRUE;
|
||||
+ desc.flags |= DWDESC_CAPS;
|
||||
+ desc.caps = DWCAPS_INPUTONLY;
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ g_warning ("gdk_window_new: unsupported window class\n");
|
||||
+ _gdk_window_destroy (window, FALSE);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ switch (private->window_type)
|
||||
+ {
|
||||
+ case GDK_WINDOW_TOPLEVEL:
|
||||
+ case GDK_WINDOW_DIALOG:
|
||||
+ case GDK_WINDOW_TEMP:
|
||||
+ desc.flags |= ( DWDESC_WIDTH | DWDESC_HEIGHT |
|
||||
+ DWDESC_POSX | DWDESC_POSY );
|
||||
+ desc.posx = x;
|
||||
+ desc.posy = y;
|
||||
+ desc.width = impl->drawable.width;
|
||||
+ desc.height = impl->drawable.height;
|
||||
+
|
||||
+#if 0
|
||||
+ if (window_caps)
|
||||
+ {
|
||||
+ if (! (desc.flags & DWDESC_CAPS))
|
||||
+ {
|
||||
+ desc.flags |= DWDESC_CAPS;
|
||||
+ desc.caps = DWCAPS_NONE;
|
||||
+ }
|
||||
+
|
||||
+ desc.caps |= window_caps;
|
||||
+ }
|
||||
+
|
||||
+ if (surface_caps)
|
||||
+ {
|
||||
+ desc.flags |= DWDESC_SURFACE_CAPS;
|
||||
+ desc.surface_caps = surface_caps;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
+ if (!create_directfb_window (impl, &desc, window_options))
|
||||
+ {
|
||||
+ g_assert(0);
|
||||
+ _gdk_window_destroy (window, FALSE);
|
||||
+
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (desc.caps != DWCAPS_INPUTONLY)
|
||||
+ {
|
||||
+ impl->window->SetOpacity(impl->window, 0x00 );
|
||||
+ }
|
||||
+
|
||||
+ break;
|
||||
+
|
||||
+ case GDK_WINDOW_CHILD:
|
||||
+ impl->window=NULL;
|
||||
+
|
||||
+ if (!private->input_only && parent_impl->drawable.surface)
|
||||
+ {
|
||||
+
|
||||
+ DFBRectangle rect =
|
||||
+ { x, y, impl->drawable.width, impl->drawable.height };
|
||||
+ parent_impl->drawable.surface->GetSubSurface (parent_impl->drawable.surface,
|
||||
+ &rect,
|
||||
+ &impl->drawable.surface);
|
||||
+ }
|
||||
+
|
||||
+ break;
|
||||
+
|
||||
+ default:
|
||||
+ g_warning ("gdk_window_new: unsupported window type: %d",
|
||||
+ private->window_type);
|
||||
+ _gdk_window_destroy (window, FALSE);
|
||||
+
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (impl->drawable.surface)
|
||||
+ {
|
||||
+ GdkColormap *colormap;
|
||||
+
|
||||
+ impl->drawable.surface->GetPixelFormat (impl->drawable.surface,
|
||||
+ &impl->drawable.format);
|
||||
+
|
||||
+ private->depth = DFB_BITS_PER_PIXEL(impl->drawable.format);
|
||||
+
|
||||
+ if ((attributes_mask & GDK_WA_COLORMAP) && attributes->colormap)
|
||||
+ {
|
||||
+ colormap = attributes->colormap;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ if (gdk_visual_get_system () == visual)
|
||||
+ colormap = gdk_colormap_get_system ();
|
||||
+ else
|
||||
+ colormap =gdk_drawable_get_colormap (parent);
|
||||
+ }
|
||||
+
|
||||
+ gdk_drawable_set_colormap (GDK_DRAWABLE (window), colormap);
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ impl->drawable.format = ((GdkVisualDirectFB *)visual)->format;
|
||||
+ private->depth = visual->depth;
|
||||
+ }
|
||||
+
|
||||
+ gdk_window_set_cursor (window, ((attributes_mask & GDK_WA_CURSOR) ?
|
||||
+ (attributes->cursor) : NULL));
|
||||
+
|
||||
+ if (parent_private)
|
||||
+ parent_private->children = g_list_prepend (parent_private->children,
|
||||
+ window);
|
||||
+
|
||||
+ /* we hold a reference count on ourselves */
|
||||
+ g_object_ref (window);
|
||||
+
|
||||
+ if (impl->window)
|
||||
+ {
|
||||
+ impl->window->GetID (impl->window, &impl->dfb_id);
|
||||
+ gdk_directfb_window_id_table_insert (impl->dfb_id, window);
|
||||
+ gdk_directfb_event_windows_add (window);
|
||||
+ }
|
||||
+
|
||||
+ if (attributes_mask & GDK_WA_TYPE_HINT)
|
||||
+ gdk_window_set_type_hint (window, attributes->type_hint);
|
||||
+
|
||||
+ return window;
|
||||
+}
|
||||
+
|
||||
+
|
||||
void
|
||||
_gdk_window_impl_new (GdkWindow *window,
|
||||
GdkWindow *real_parent,
|
||||
--- a/gdk/directfb/gdkdirectfb.h
|
||||
+++ b/gdk/directfb/gdkdirectfb.h
|
||||
@@ -68,12 +68,14 @@
|
||||
void gdk_directfb_window_set_opacity (GdkWindow *window,
|
||||
guchar opacity);
|
||||
|
||||
+#ifndef GDK_DISABLE_DEPRECATED
|
||||
GdkWindow * gdk_directfb_window_new (GdkWindow *parent,
|
||||
GdkWindowAttr *attributes,
|
||||
gint attributes_mask,
|
||||
DFBWindowCapabilities window_caps,
|
||||
DFBWindowOptions window_options,
|
||||
DFBSurfaceCapabilities surface_caps);
|
||||
+#endif /* GDK_DISABLE_DEPRECATED */
|
||||
|
||||
GdkVisual * gdk_directfb_visual_by_format (DFBSurfacePixelFormat pixel_format);
|
||||
|
@ -1,61 +0,0 @@
|
||||
Index: gtk+2.0-2.10.12/gdk/directfb/gdkcolor-directfb.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gdk/directfb/gdkcolor-directfb.c 2007-05-02 18:27:33.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gdk/directfb/gdkcolor-directfb.c 2007-05-03 15:09:55.000000000 +0200
|
||||
@@ -38,12 +38,10 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
+#include "gdkcolor.h"
|
||||
+#include "gdkinternals.h"
|
||||
#include "gdkdirectfb.h"
|
||||
#include "gdkprivate-directfb.h"
|
||||
-
|
||||
-#include "gdkinternals.h"
|
||||
-
|
||||
-#include "gdkcolor.h"
|
||||
#include "gdkalias.h"
|
||||
|
||||
|
||||
@@ -618,6 +616,5 @@
|
||||
|
||||
private->info[255].ref_count++;
|
||||
}
|
||||
-
|
||||
#define __GDK_COLOR_X11_C__
|
||||
#include "gdkaliasdef.c"
|
||||
Index: gtk+2.0-2.10.12/gdk/directfb/gdkwindow-directfb.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gdk/directfb/gdkwindow-directfb.c 2007-05-02 18:27:33.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gdk/directfb/gdkwindow-directfb.c 2007-05-03 15:09:55.000000000 +0200
|
||||
@@ -2993,6 +2993,12 @@
|
||||
iface->process_updates = gdk_window_impl_directfb_process_updates;
|
||||
}
|
||||
|
||||
+void
|
||||
+gdk_window_beep (GdkWindow *window)
|
||||
+{
|
||||
+ gdk_display_beep (gdk_display_get_default());
|
||||
+}
|
||||
+
|
||||
#define __GDK_WINDOW_X11_C__
|
||||
#include "gdkaliasdef.c"
|
||||
|
||||
Index: gtk+2.0-2.10.12/gdk/directfb/Makefile.am
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gdk/directfb/Makefile.am 2007-05-02 18:27:33.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gdk/directfb/Makefile.am 2007-05-03 15:09:55.000000000 +0200
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
INCLUDES = \
|
||||
-DG_LOG_DOMAIN=\"Gdk-DirectFB\" \
|
||||
+ -DGDK_COMPILATION \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/gdk \
|
||||
-I$(top_builddir)/gdk \
|
||||
-DG_DISABLE_DEPRECATED \
|
||||
- -DGDK_PIXBUF_DISABLE_DEPRECATED \
|
||||
- -DGDK_DISABLE_DEPRECATED \
|
||||
@GTK_DEBUG_FLAGS@ \
|
||||
@GDK_DEP_CFLAGS@
|
||||
|
@ -1,13 +0,0 @@
|
||||
Index: gtk+2.0-2.10.10/gdk/directfb/gdkproperty-directfb.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.10.orig/gdk/directfb/gdkproperty-directfb.c 2007-03-12 15:08:51.000000000 +0100
|
||||
+++ gtk+2.0-2.10.10/gdk/directfb/gdkproperty-directfb.c 2007-03-13 14:10:31.000000000 +0100
|
||||
@@ -192,7 +192,7 @@
|
||||
if (GPOINTER_TO_INT (atom) >= atoms_to_names->len)
|
||||
return NULL;
|
||||
|
||||
- return g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom));
|
||||
+ return g_strdup ( g_ptr_array_index (atoms_to_names, GPOINTER_TO_INT (atom)));
|
||||
}
|
||||
|
||||
|
19
debian/patches/030_tests_skip_filechooser.patch
vendored
19
debian/patches/030_tests_skip_filechooser.patch
vendored
@ -1,19 +0,0 @@
|
||||
Description: The filechooser tests are not very chroot-friendly, as they
|
||||
need the gtk schemas to be compiled and installed, so skip them for now.
|
||||
Author: Emilio Pozuelo Monfort <pochu@debian.org>
|
||||
|
||||
--- a/gtk/tests/Makefile.am
|
||||
+++ b/gtk/tests/Makefile.am
|
||||
@@ -69,9 +69,9 @@
|
||||
#crossingevents_SOURCES = crossingevents.c
|
||||
#crossingevents_LDADD = $(progs_ldadd)
|
||||
|
||||
-TEST_PROGS += filechooser
|
||||
-filechooser_SOURCES = filechooser.c
|
||||
-filechooser_LDADD = $(progs_ldadd)
|
||||
+#TEST_PROGS += filechooser
|
||||
+#filechooser_SOURCES = filechooser.c
|
||||
+#filechooser_LDADD = $(progs_ldadd)
|
||||
|
||||
TEST_PROGS += builder
|
||||
builder_SOURCES = builder.c
|
36
debian/patches/030_xim-modules.patch
vendored
36
debian/patches/030_xim-modules.patch
vendored
@ -1,36 +0,0 @@
|
||||
From d3274e8e0619bad02a7fa31874943707dc209fc8 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Sat, 02 Apr 2011 09:46:42 +0000
|
||||
Subject: xi2: Handle XIM modules that replace events
|
||||
|
||||
Fixes Bug 645993 - XIM has wierd behaviors. Some XIM modules
|
||||
filter every key event, possibly replacing it with their own
|
||||
one. These events usually have serial=0, so make
|
||||
GdkDeviceManagerXI2 also listen on these.
|
||||
---
|
||||
diff --git a/gdk/x11/gdkdevicemanager-xi2.c b/gdk/x11/gdkdevicemanager-xi2.c
|
||||
index 64d0f59..1953b48 100644
|
||||
--- a/gdk/x11/gdkdevicemanager-xi2.c
|
||||
+++ b/gdk/x11/gdkdevicemanager-xi2.c
|
||||
@@ -938,13 +938,18 @@ gdk_x11_device_manager_xi2_translate_core_event (GdkEventTranslator *translator,
|
||||
gboolean keyboard = FALSE;
|
||||
GdkDevice *device;
|
||||
|
||||
- if (xevent->type == KeyPress && xevent->xkey.keycode == 0)
|
||||
+ if ((xevent->type == KeyPress || xevent->type == KeyRelease) &&
|
||||
+ (xevent->xkey.keycode == 0 || xevent->xkey.serial == 0))
|
||||
{
|
||||
/* The X input methods (when triggered via XFilterEvent)
|
||||
* generate a core key press event with keycode 0 to signal the
|
||||
* end of a key sequence. We use the core translate_event
|
||||
* implementation to translate this event.
|
||||
*
|
||||
+ * Other less educated IM modules like to filter every keypress,
|
||||
+ * only to have these replaced by their own homegrown events,
|
||||
+ * these events oddly have serial=0, so we try to catch these.
|
||||
+ *
|
||||
* This is just a bandaid fix to keep xim working with a single
|
||||
* keyboard until XFilterEvent learns about XI2.
|
||||
*/
|
||||
--
|
||||
cgit v0.9.0.2
|
@ -1,47 +0,0 @@
|
||||
Index: gtk+-2.12.1/gtk/gtksearchenginetracker.c
|
||||
===================================================================
|
||||
--- gtk+-2.12.1.orig/gtk/gtksearchenginetracker.c 2007-10-16 15:20:38.000000000 +0200
|
||||
+++ gtk+-2.12.1/gtk/gtksearchenginetracker.c 2007-10-31 19:38:20.770226213 +0100
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
static TrackerClient * (*tracker_connect) (gboolean enable_warnings) = NULL;
|
||||
static void (*tracker_disconnect) (TrackerClient *client) = NULL;
|
||||
+static int (*tracker_get_version) (TrackerClient *client, GError **error) = NULL;
|
||||
static void (*tracker_cancel_last_call) (TrackerClient *client) = NULL;
|
||||
|
||||
static void (*tracker_search_metadata_by_text_async) (TrackerClient *client,
|
||||
@@ -56,6 +57,7 @@
|
||||
#define MAP(a) { #a, (gpointer *)&a }
|
||||
MAP (tracker_connect),
|
||||
MAP (tracker_disconnect),
|
||||
+ MAP (tracker_get_version),
|
||||
MAP (tracker_cancel_last_call),
|
||||
MAP (tracker_search_metadata_by_text_async),
|
||||
MAP (tracker_search_metadata_by_text_and_location_async),
|
||||
@@ -285,6 +287,7 @@
|
||||
{
|
||||
GtkSearchEngineTracker *engine;
|
||||
TrackerClient *tracker_client;
|
||||
+ GError *err = NULL;
|
||||
|
||||
open_libtracker ();
|
||||
|
||||
@@ -296,6 +299,18 @@
|
||||
if (!tracker_client)
|
||||
return NULL;
|
||||
|
||||
+ if (!tracker_get_version)
|
||||
+ return NULL;
|
||||
+
|
||||
+ tracker_get_version (tracker_client, &err);
|
||||
+
|
||||
+ if (err != NULL)
|
||||
+ {
|
||||
+ g_error_free (err);
|
||||
+ tracker_disconnect (tracker_client);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
engine = g_object_new (GTK_TYPE_SEARCH_ENGINE_TRACKER, NULL);
|
||||
|
||||
engine->priv->client = tracker_client;
|
42
debian/patches/031_ia64_children_test.patch
vendored
42
debian/patches/031_ia64_children_test.patch
vendored
@ -1,42 +0,0 @@
|
||||
Author: Stephan Schreiber <info@fs-driver.org>
|
||||
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=711107
|
||||
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=702370
|
||||
|
||||
diff -u10 -pr gtk+3.0-3.8.2-orig/tests/a11y/children.c gtk+3.0-3.8.2/tests/a11y/children.c
|
||||
--- gtk+3.0-3.8.2-orig/tests/a11y/children.c 2013-06-15 09:17:05.000000000 +0200
|
||||
+++ gtk+3.0-3.8.2/tests/a11y/children.c 2013-06-15 10:11:38.000000000 +0200
|
||||
@@ -190,28 +190,24 @@ test_add_remove (GtkWidget *widget)
|
||||
|
||||
if (GTK_IS_ENTRY (widget))
|
||||
g_object_unref (child_accessible);
|
||||
}
|
||||
for (j = 0 ; j < i; j++)
|
||||
{
|
||||
remove_child (&state, j);
|
||||
g_assert_cmpint (add_data.count, ==, i);
|
||||
g_assert_cmpint (remove_data.count, ==, j + 1);
|
||||
g_assert_cmpint (remove_data.n_children, ==, step_children + i - j - 1);
|
||||
- if (parent_data[j].count == 2)
|
||||
- g_assert (parent_data[j].parent == NULL);
|
||||
- else if (!GTK_IS_ENTRY (widget))
|
||||
+ if (!GTK_IS_ENTRY (widget))
|
||||
{
|
||||
- AtkStateSet *set;
|
||||
- set = atk_object_ref_state_set (ATK_OBJECT (parent_data[j].parent));
|
||||
- g_assert (atk_state_set_contains_state (set, ATK_STATE_DEFUNCT));
|
||||
- g_object_unref (set);
|
||||
+ g_assert_cmpint (parent_data[j].count, ==, 2);
|
||||
+ g_assert (parent_data[j].parent == NULL);
|
||||
}
|
||||
}
|
||||
|
||||
g_signal_handlers_disconnect_by_func (accessible, G_CALLBACK (children_changed), &add_data);
|
||||
g_signal_handlers_disconnect_by_func (accessible, G_CALLBACK (children_changed), &remove_data);
|
||||
}
|
||||
|
||||
static void
|
||||
add_child_test (const gchar *prefix,
|
||||
GTestFixtureFunc test_func,
|
||||
|
||||
Signed-off-by: Stephan Schreiber <info@fs-driver.org>
|
||||
|
546
debian/patches/032_filechooser-sizing.patch
vendored
546
debian/patches/032_filechooser-sizing.patch
vendored
@ -1,546 +0,0 @@
|
||||
Index: gtk+2.0-2.10.12/gtk/gtkfilechooserembed.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gtk/gtkfilechooserembed.c 2007-05-02 18:26:58.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gtk/gtkfilechooserembed.c 2007-06-06 23:41:40.000000000 +0200
|
||||
@@ -28,9 +28,7 @@
|
||||
static void delegate_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
||||
gint *default_width,
|
||||
gint *default_height);
|
||||
-static void delegate_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically);
|
||||
+static gboolean delegate_get_resizable (GtkFileChooserEmbed *chooser_embed);
|
||||
static gboolean delegate_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||
static void delegate_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||
static void delegate_default_size_changed (GtkFileChooserEmbed *chooser_embed,
|
||||
@@ -57,7 +55,7 @@
|
||||
_gtk_file_chooser_embed_delegate_iface_init (GtkFileChooserEmbedIface *iface)
|
||||
{
|
||||
iface->get_default_size = delegate_get_default_size;
|
||||
- iface->get_resizable_hints = delegate_get_resizable_hints;
|
||||
+ iface->get_resizable = delegate_get_resizable;
|
||||
iface->should_respond = delegate_should_respond;
|
||||
iface->initial_focus = delegate_initial_focus;
|
||||
}
|
||||
@@ -96,13 +94,11 @@
|
||||
{
|
||||
_gtk_file_chooser_embed_get_default_size (get_delegate (chooser_embed), default_width, default_height);
|
||||
}
|
||||
-
|
||||
-static void
|
||||
-delegate_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically)
|
||||
+
|
||||
+static gboolean
|
||||
+delegate_get_resizable (GtkFileChooserEmbed *chooser_embed)
|
||||
{
|
||||
- _gtk_file_chooser_embed_get_resizable_hints (get_delegate (chooser_embed), resize_horizontally, resize_vertically);
|
||||
+ return _gtk_file_chooser_embed_get_resizable (get_delegate (chooser_embed));
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -208,14 +204,10 @@
|
||||
GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->initial_focus (chooser_embed);
|
||||
}
|
||||
|
||||
-void
|
||||
-_gtk_file_chooser_embed_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically)
|
||||
+gboolean
|
||||
+_gtk_file_chooser_embed_get_resizable (GtkFileChooserEmbed *chooser_embed)
|
||||
{
|
||||
- g_return_if_fail (GTK_IS_FILE_CHOOSER_EMBED (chooser_embed));
|
||||
- g_return_if_fail (resize_horizontally != NULL);
|
||||
- g_return_if_fail (resize_vertically != NULL);
|
||||
+ g_return_val_if_fail (GTK_IS_FILE_CHOOSER_EMBED (chooser_embed), FALSE);
|
||||
|
||||
- GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->get_resizable_hints (chooser_embed, resize_horizontally, resize_vertically);
|
||||
+ return GTK_FILE_CHOOSER_EMBED_GET_IFACE (chooser_embed)->get_resizable (chooser_embed);
|
||||
}
|
||||
Index: gtk+2.0-2.10.12/gtk/gtkfilechooserembed.h
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gtk/gtkfilechooserembed.h 2007-05-02 18:26:58.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gtk/gtkfilechooserembed.h 2007-06-06 23:41:40.000000000 +0200
|
||||
@@ -43,9 +43,7 @@
|
||||
void (*get_default_size) (GtkFileChooserEmbed *chooser_embed,
|
||||
gint *default_width,
|
||||
gint *default_height);
|
||||
- void (*get_resizable_hints) (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically);
|
||||
+ gboolean (*get_resizable) (GtkFileChooserEmbed *chooser_embed);
|
||||
|
||||
gboolean (*should_respond) (GtkFileChooserEmbed *chooser_embed);
|
||||
|
||||
@@ -61,10 +59,7 @@
|
||||
void _gtk_file_chooser_embed_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
||||
gint *default_width,
|
||||
gint *default_height);
|
||||
-void _gtk_file_chooser_embed_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically);
|
||||
-
|
||||
+gboolean _gtk_file_chooser_embed_get_resizable (GtkFileChooserEmbed *chooser_embed);
|
||||
gboolean _gtk_file_chooser_embed_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||
|
||||
void _gtk_file_chooser_embed_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||
Index: gtk+2.0-2.10.12/gtk/gtkfilechooserdialog.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gtk/gtkfilechooserdialog.c 2007-05-02 18:26:58.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gtk/gtkfilechooserdialog.c 2007-06-06 23:41:40.000000000 +0200
|
||||
@@ -87,10 +87,6 @@
|
||||
GTK_TYPE_FILE_CHOOSER_DIALOG,
|
||||
GtkFileChooserDialogPrivate);
|
||||
dialog->priv = priv;
|
||||
- dialog->priv->default_width = -1;
|
||||
- dialog->priv->default_height = -1;
|
||||
- dialog->priv->resize_horizontally = TRUE;
|
||||
- dialog->priv->resize_vertically = TRUE;
|
||||
dialog->priv->response_requested = FALSE;
|
||||
|
||||
gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
|
||||
@@ -151,25 +147,6 @@
|
||||
}
|
||||
|
||||
static void
|
||||
-file_chooser_widget_update_hints (GtkFileChooserDialog *dialog,
|
||||
- gint width)
|
||||
-{
|
||||
- GtkFileChooserDialogPrivate *priv;
|
||||
- GdkGeometry geometry;
|
||||
-
|
||||
- priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
|
||||
-
|
||||
- geometry.min_width = (!priv->resize_horizontally ? width : -1);
|
||||
- geometry.min_height = -1;
|
||||
- geometry.max_width = (priv->resize_horizontally?G_MAXSHORT:-1);
|
||||
- geometry.max_height = (priv->resize_vertically?G_MAXSHORT:-1);
|
||||
-
|
||||
- gtk_window_set_geometry_hints (GTK_WINDOW (dialog), NULL,
|
||||
- &geometry,
|
||||
- GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
clamp_to_screen (GtkWidget *widget,
|
||||
gint *width,
|
||||
gint *height)
|
||||
@@ -193,131 +170,57 @@
|
||||
}
|
||||
|
||||
static void
|
||||
-file_chooser_widget_default_realized_size_changed (GtkWidget *widget,
|
||||
- GtkFileChooserDialog *dialog)
|
||||
+file_chooser_widget_default_size_changed (GtkWidget *widget,
|
||||
+ GtkFileChooserDialog *dialog)
|
||||
{
|
||||
GtkFileChooserDialogPrivate *priv;
|
||||
- gint width;
|
||||
- gint height;
|
||||
+ gint width, height;
|
||||
gint default_width, default_height;
|
||||
- GtkRequisition req;
|
||||
- gboolean resize_horizontally;
|
||||
- gboolean resize_vertically;
|
||||
- gboolean update_hints;
|
||||
- gint dx = 0, dy = 0;
|
||||
- gint cur_width, cur_height;
|
||||
+ GtkRequisition req, widget_req;
|
||||
+ gboolean resizable;
|
||||
|
||||
priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
|
||||
|
||||
- /* Force a size request of everything before we start. This will make sure
|
||||
- * that widget->requisition is meaningful. */
|
||||
- gtk_widget_size_request (GTK_WIDGET (dialog), &req);
|
||||
- gtk_window_get_size (GTK_WINDOW (dialog), &cur_width, &cur_height);
|
||||
- width = GTK_WIDGET (dialog)->requisition.width - priv->widget->requisition.width;
|
||||
- height = GTK_WIDGET (dialog)->requisition.height - priv->widget->requisition.height;
|
||||
- _gtk_file_chooser_embed_get_default_size (GTK_FILE_CHOOSER_EMBED (priv->widget),
|
||||
- &default_width, &default_height);
|
||||
-
|
||||
- /* Ideal target size modulo any resizing */
|
||||
- width = default_width + width;
|
||||
- height = default_height + height;
|
||||
-
|
||||
- /* Now, we test for resizability */
|
||||
- update_hints = FALSE;
|
||||
- _gtk_file_chooser_embed_get_resizable_hints (GTK_FILE_CHOOSER_EMBED (priv->widget),
|
||||
- &resize_horizontally,
|
||||
- &resize_vertically);
|
||||
- resize_vertically = (!! resize_vertically); /* normalize */
|
||||
- resize_horizontally = (!! resize_horizontally);
|
||||
+ /* Unset any previously set size */
|
||||
+ gtk_widget_set_size_request (GTK_WIDGET (dialog), -1, -1);
|
||||
|
||||
- if (resize_horizontally && priv->resize_horizontally)
|
||||
- {
|
||||
- dx = default_width - priv->default_width;
|
||||
- priv->default_width = default_width;
|
||||
- }
|
||||
- else if (resize_horizontally && ! priv->resize_horizontally)
|
||||
- {
|
||||
- /* We restore to the ideal size + any change in default_size (which is not
|
||||
- * expected). It would be nicer to store the older size to restore to in
|
||||
- * the future. */
|
||||
- dx = default_width - priv->default_width;
|
||||
- dx += width - cur_width;
|
||||
- priv->default_width = default_width;
|
||||
- update_hints = TRUE;
|
||||
- }
|
||||
- else
|
||||
+ if (GTK_WIDGET_DRAWABLE (widget))
|
||||
{
|
||||
- update_hints = TRUE;
|
||||
- }
|
||||
+ /* Force a size request of everything before we start. This will make sure
|
||||
+ * that widget->requisition is meaningful. */
|
||||
+ gtk_widget_size_request (GTK_WIDGET (dialog), &req);
|
||||
+ gtk_widget_size_request (widget, &widget_req);
|
||||
|
||||
- if (resize_vertically && priv->resize_vertically)
|
||||
- {
|
||||
- dy = default_height - priv->default_height;
|
||||
- priv->default_height = default_height;
|
||||
- }
|
||||
- else if (resize_vertically && ! priv->resize_vertically)
|
||||
- {
|
||||
- dy = default_height - priv->default_height;
|
||||
- dy += height - cur_height;
|
||||
- priv->default_height = default_height;
|
||||
- update_hints = TRUE;
|
||||
+ width = req.width - widget_req.width;
|
||||
+ height = req.height - widget_req.height;
|
||||
}
|
||||
else
|
||||
{
|
||||
- update_hints = TRUE;
|
||||
+ width = GTK_WIDGET (dialog)->allocation.width - widget->allocation.width;
|
||||
+ height = GTK_WIDGET (dialog)->allocation.height - widget->allocation.height;
|
||||
}
|
||||
|
||||
- priv->resize_horizontally = resize_horizontally;
|
||||
- priv->resize_vertically = resize_vertically;
|
||||
-
|
||||
- if (dx != 0 || dy != 0)
|
||||
- {
|
||||
- gint new_width = cur_width + dx;
|
||||
- gint new_height = cur_height + dy;
|
||||
-
|
||||
- clamp_to_screen (GTK_WIDGET (dialog), &new_width, &new_height);
|
||||
-
|
||||
- gtk_window_resize (GTK_WINDOW (dialog), new_width, new_height);
|
||||
- }
|
||||
-
|
||||
- /* Only store the size if we can resize in that direction. */
|
||||
- if (update_hints)
|
||||
- file_chooser_widget_update_hints (dialog, width);
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-file_chooser_widget_default_unrealized_size_changed (GtkWidget *widget,
|
||||
- GtkFileChooserDialog *dialog)
|
||||
-{
|
||||
- GtkFileChooserDialogPrivate *priv;
|
||||
- GtkRequisition req;
|
||||
- gint width, height;
|
||||
-
|
||||
- priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog);
|
||||
- gtk_widget_size_request (GTK_WIDGET (dialog), &req);
|
||||
-
|
||||
- _gtk_file_chooser_embed_get_resizable_hints (GTK_FILE_CHOOSER_EMBED (priv->widget),
|
||||
- &(priv->resize_horizontally),
|
||||
- &(priv->resize_vertically));
|
||||
+ resizable = _gtk_file_chooser_embed_get_resizable (GTK_FILE_CHOOSER_EMBED (priv->widget));
|
||||
_gtk_file_chooser_embed_get_default_size (GTK_FILE_CHOOSER_EMBED (priv->widget),
|
||||
- &(priv->default_width), &(priv->default_height));
|
||||
-
|
||||
- /* Determine how much space the rest of the dialog uses compared to priv->widget */
|
||||
- width = priv->default_width + GTK_WIDGET (dialog)->requisition.width - priv->widget->requisition.width;
|
||||
- height = priv->default_height + GTK_WIDGET (dialog)->requisition.height - priv->widget->requisition.height;
|
||||
+ &default_width, &default_height);
|
||||
|
||||
- gtk_window_set_default_size (GTK_WINDOW (dialog), width, height);
|
||||
- file_chooser_widget_update_hints (dialog, width);
|
||||
-}
|
||||
+ /* Ideal target size plus any extra size */
|
||||
+ width = default_width + width + (2 * GTK_CONTAINER (dialog)->border_width);
|
||||
+ height = default_height + height + (2 * GTK_CONTAINER (dialog)->border_width);
|
||||
|
||||
-static void
|
||||
-file_chooser_widget_default_size_changed (GtkWidget *widget,
|
||||
- GtkFileChooserDialog *dialog)
|
||||
-{
|
||||
if (GTK_WIDGET_REALIZED (dialog))
|
||||
- file_chooser_widget_default_realized_size_changed (widget, dialog);
|
||||
+ clamp_to_screen (GTK_WIDGET (dialog), &width, &height);
|
||||
+
|
||||
+ if (resizable)
|
||||
+ {
|
||||
+ gtk_window_set_resizable (GTK_WINDOW (dialog), resizable);
|
||||
+ gtk_window_resize (GTK_WINDOW (dialog), width, height);
|
||||
+ }
|
||||
else
|
||||
- file_chooser_widget_default_unrealized_size_changed (widget, dialog);
|
||||
+ {
|
||||
+ gtk_widget_set_size_request (GTK_WIDGET (dialog), width, -1);
|
||||
+ gtk_window_set_resizable (GTK_WINDOW (dialog), resizable);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -487,6 +390,7 @@
|
||||
if (!GTK_WIDGET_MAPPED (priv->widget))
|
||||
gtk_widget_map (priv->widget);
|
||||
|
||||
+ file_chooser_widget_default_size_changed (priv->widget, dialog);
|
||||
_gtk_file_chooser_embed_initial_focus (GTK_FILE_CHOOSER_EMBED (priv->widget));
|
||||
|
||||
GTK_WIDGET_CLASS (gtk_file_chooser_dialog_parent_class)->map (widget);
|
||||
Index: gtk+2.0-2.10.12/gtk/gtkfilechooserdefault.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gtk/gtkfilechooserdefault.c 2007-05-02 18:26:59.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gtk/gtkfilechooserdefault.c 2007-06-06 23:42:03.000000000 +0200
|
||||
@@ -272,6 +272,8 @@
|
||||
GtkStyle *previous_style);
|
||||
static void gtk_file_chooser_default_screen_changed (GtkWidget *widget,
|
||||
GdkScreen *previous_screen);
|
||||
+static void gtk_file_chooser_default_size_allocate (GtkWidget *widget,
|
||||
+ GtkAllocation *allocation);
|
||||
|
||||
static gboolean gtk_file_chooser_default_set_current_folder (GtkFileChooser *chooser,
|
||||
const GtkFilePath *path,
|
||||
@@ -310,9 +312,7 @@
|
||||
static void gtk_file_chooser_default_get_default_size (GtkFileChooserEmbed *chooser_embed,
|
||||
gint *default_width,
|
||||
gint *default_height);
|
||||
-static void gtk_file_chooser_default_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically);
|
||||
+static gboolean gtk_file_chooser_default_get_resizable (GtkFileChooserEmbed *chooser_embed);
|
||||
static gboolean gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||
static void gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||
|
||||
@@ -423,7 +423,7 @@
|
||||
static void location_button_toggled_cb (GtkToggleButton *toggle,
|
||||
GtkFileChooserDefault *impl);
|
||||
static void location_switch_to_path_bar (GtkFileChooserDefault *impl);
|
||||
-
|
||||
+static void settings_load (GtkFileChooserDefault *impl);
|
||||
|
||||
|
||||
|
||||
@@ -485,6 +485,7 @@
|
||||
widget_class->hierarchy_changed = gtk_file_chooser_default_hierarchy_changed;
|
||||
widget_class->style_set = gtk_file_chooser_default_style_set;
|
||||
widget_class->screen_changed = gtk_file_chooser_default_screen_changed;
|
||||
+ widget_class->size_allocate = gtk_file_chooser_default_size_allocate;
|
||||
|
||||
signals[LOCATION_POPUP] =
|
||||
_gtk_binding_signal_new (I_("location-popup"),
|
||||
@@ -665,7 +666,7 @@
|
||||
gtk_file_chooser_embed_default_iface_init (GtkFileChooserEmbedIface *iface)
|
||||
{
|
||||
iface->get_default_size = gtk_file_chooser_default_get_default_size;
|
||||
- iface->get_resizable_hints = gtk_file_chooser_default_get_resizable_hints;
|
||||
+ iface->get_resizable = gtk_file_chooser_default_get_resizable;
|
||||
iface->should_respond = gtk_file_chooser_default_should_respond;
|
||||
iface->initial_focus = gtk_file_chooser_default_initial_focus;
|
||||
}
|
||||
@@ -4998,6 +4999,7 @@
|
||||
}
|
||||
impl->action = action;
|
||||
update_appearance (impl);
|
||||
+ settings_load (impl);
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -5419,6 +5421,37 @@
|
||||
profile_end ("end", NULL);
|
||||
}
|
||||
|
||||
+static void
|
||||
+gtk_file_chooser_default_size_allocate (GtkWidget *widget,
|
||||
+ GtkAllocation *allocation)
|
||||
+{
|
||||
+ GtkFileChooserDefault *impl;
|
||||
+
|
||||
+ impl = GTK_FILE_CHOOSER_DEFAULT (widget);
|
||||
+
|
||||
+ GTK_WIDGET_CLASS (_gtk_file_chooser_default_parent_class)->size_allocate (widget, allocation);
|
||||
+
|
||||
+ if (!gtk_file_chooser_default_get_resizable (GTK_FILE_CHOOSER_EMBED (impl)))
|
||||
+ {
|
||||
+ /* The dialog is not resizable, we shouldn't
|
||||
+ * trust in the size it has in this stage
|
||||
+ */
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ impl->default_width = allocation->width;
|
||||
+ impl->default_height = allocation->height;
|
||||
+
|
||||
+ if (impl->preview_widget_active &&
|
||||
+ impl->preview_widget &&
|
||||
+ GTK_WIDGET_DRAWABLE (impl->preview_widget))
|
||||
+ impl->default_width -= impl->preview_widget->allocation.width + PREVIEW_HBOX_SPACING;
|
||||
+
|
||||
+ if (impl->extra_widget &&
|
||||
+ GTK_WIDGET_DRAWABLE (impl->extra_widget))
|
||||
+ impl->default_height -= GTK_BOX (widget)->spacing + impl->extra_widget->allocation.height;
|
||||
+}
|
||||
+
|
||||
static gboolean
|
||||
get_is_file_filtered (GtkFileChooserDefault *impl,
|
||||
const GtkFilePath *path,
|
||||
@@ -7186,49 +7219,35 @@
|
||||
gint *height)
|
||||
{
|
||||
GtkFileChooserDefault *impl;
|
||||
- gint default_width, default_height;
|
||||
int font_size;
|
||||
- GtkRequisition req;
|
||||
GdkScreen *screen;
|
||||
double resolution;
|
||||
|
||||
g_assert (widget->style != NULL);
|
||||
impl = GTK_FILE_CHOOSER_DEFAULT (widget);
|
||||
|
||||
- screen = gtk_widget_get_screen (widget);
|
||||
- if (screen)
|
||||
+ if (impl->default_width == 0 &&
|
||||
+ impl->default_height == 0)
|
||||
{
|
||||
- resolution = gdk_screen_get_resolution (screen);
|
||||
- if (resolution < 0.0) /* will be -1 if the resolution is not defined in the GdkScreen */
|
||||
- resolution = 96.0;
|
||||
- }
|
||||
- else
|
||||
- resolution = 96.0; /* wheeee */
|
||||
-
|
||||
- font_size = pango_font_description_get_size (widget->style->font_desc);
|
||||
- font_size = PANGO_PIXELS (font_size) * resolution / 72.0;
|
||||
+ screen = gtk_widget_get_screen (widget);
|
||||
+ if (screen)
|
||||
+ {
|
||||
+ resolution = gdk_screen_get_resolution (screen);
|
||||
+ if (resolution < 0.0) /* will be -1 if the resolution is not defined in the GdkScreen */
|
||||
+ resolution = 96.0;
|
||||
+ }
|
||||
+ else
|
||||
+ resolution = 96.0; /* wheeee */
|
||||
|
||||
- default_width = font_size * NUM_CHARS;
|
||||
- default_height = font_size * NUM_LINES;
|
||||
+ font_size = pango_font_description_get_size (widget->style->font_desc);
|
||||
+ font_size = PANGO_PIXELS (font_size) * resolution / 72.0;
|
||||
|
||||
- if (impl->preview_widget_active && impl->preview_widget)
|
||||
- {
|
||||
- gtk_widget_size_request (impl->preview_box, &req);
|
||||
- default_width += PREVIEW_HBOX_SPACING + req.width;
|
||||
+ impl->default_width = font_size * NUM_CHARS;
|
||||
+ impl->default_height = font_size * NUM_LINES;
|
||||
}
|
||||
|
||||
- if (impl->extra_widget)
|
||||
- {
|
||||
- gtk_widget_size_request (impl->extra_align, &req);
|
||||
- default_height += GTK_BOX (widget)->spacing + req.height;
|
||||
- }
|
||||
-
|
||||
- gtk_widget_size_request (widget, &req);
|
||||
- default_width = MAX (default_width, req.width);
|
||||
- default_height = MAX (default_height, req.height);
|
||||
-
|
||||
- *width = default_width;
|
||||
- *height = default_height;
|
||||
+ *width = impl->default_width;
|
||||
+ *height = impl->default_height;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -7237,35 +7256,37 @@
|
||||
gint *default_height)
|
||||
{
|
||||
GtkFileChooserDefault *impl;
|
||||
+ GtkRequisition req;
|
||||
|
||||
impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
|
||||
find_good_size_from_style (GTK_WIDGET (chooser_embed), default_width, default_height);
|
||||
+
|
||||
+ if (impl->preview_widget_active &&
|
||||
+ impl->preview_widget &&
|
||||
+ GTK_WIDGET_VISIBLE (impl->preview_widget))
|
||||
+ {
|
||||
+ gtk_widget_size_request (impl->preview_box, &req);
|
||||
+ *default_width += PREVIEW_HBOX_SPACING + req.width;
|
||||
+ }
|
||||
+
|
||||
+ if (impl->extra_widget &&
|
||||
+ GTK_WIDGET_VISIBLE (impl->extra_widget))
|
||||
+ {
|
||||
+ gtk_widget_size_request (impl->extra_align, &req);
|
||||
+ *default_height += GTK_BOX (chooser_embed)->spacing + req.height;
|
||||
+ }
|
||||
}
|
||||
|
||||
-static void
|
||||
-gtk_file_chooser_default_get_resizable_hints (GtkFileChooserEmbed *chooser_embed,
|
||||
- gboolean *resize_horizontally,
|
||||
- gboolean *resize_vertically)
|
||||
+static gboolean
|
||||
+gtk_file_chooser_default_get_resizable (GtkFileChooserEmbed *chooser_embed)
|
||||
{
|
||||
GtkFileChooserDefault *impl;
|
||||
|
||||
- g_return_if_fail (resize_horizontally != NULL);
|
||||
- g_return_if_fail (resize_vertically != NULL);
|
||||
-
|
||||
impl = GTK_FILE_CHOOSER_DEFAULT (chooser_embed);
|
||||
|
||||
- *resize_horizontally = TRUE;
|
||||
- *resize_vertically = TRUE;
|
||||
-
|
||||
- if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE ||
|
||||
- impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
|
||||
- {
|
||||
- if (! gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)))
|
||||
- {
|
||||
- *resize_horizontally = FALSE;
|
||||
- *resize_vertically = FALSE;
|
||||
- }
|
||||
- }
|
||||
+ return (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN ||
|
||||
+ impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER ||
|
||||
+ gtk_expander_get_expanded (GTK_EXPANDER (impl->save_expander)));
|
||||
}
|
||||
|
||||
struct switch_folder_closure {
|
||||
Index: gtk+2.0-2.10.12/gtk/gtkfilechooserprivate.h
|
||||
===================================================================
|
||||
--- gtk+2.0-2.10.12.orig/gtk/gtkfilechooserprivate.h 2007-06-06 23:41:40.000000000 +0200
|
||||
+++ gtk+2.0-2.10.12/gtk/gtkfilechooserprivate.h 2007-06-06 23:41:40.000000000 +0200
|
||||
@@ -117,10 +117,6 @@
|
||||
char *file_system;
|
||||
|
||||
/* for use with GtkFileChooserEmbed */
|
||||
- gint default_width;
|
||||
- gint default_height;
|
||||
- gboolean resize_horizontally;
|
||||
- gboolean resize_vertically;
|
||||
gboolean response_requested;
|
||||
};
|
||||
|
||||
@@ -262,6 +258,9 @@
|
||||
GSource *shortcuts_drag_outside_idle;
|
||||
#endif
|
||||
|
||||
+ gint default_width;
|
||||
+ gint default_height;
|
||||
+
|
||||
/* Flags */
|
||||
|
||||
guint local_only : 1;
|
101
debian/patches/040_filechooser_single-click.patch
vendored
101
debian/patches/040_filechooser_single-click.patch
vendored
@ -1,101 +0,0 @@
|
||||
Debian #405296; GNOME #148828; permit single click in filechooser instead of
|
||||
requiring double-click.
|
||||
|
||||
--- gtk+2.0-2.12.0.orig/gtk/gtkfilechooserdefault.c 2007-09-13 22:35:40.000000000 +0200
|
||||
+++ gtk+2.0-2.12.0/gtk/gtkfilechooserdefault.c 2007-09-16 18:24:40.000000000 +0200
|
||||
@@ -390,10 +390,6 @@
|
||||
|
||||
static void filter_combo_changed (GtkComboBox *combo_box,
|
||||
GtkFileChooserDefault *impl);
|
||||
-static void shortcuts_row_activated_cb (GtkTreeView *tree_view,
|
||||
- GtkTreePath *path,
|
||||
- GtkTreeViewColumn *column,
|
||||
- GtkFileChooserDefault *impl);
|
||||
|
||||
static gboolean shortcuts_key_press_event_cb (GtkWidget *widget,
|
||||
GdkEventKey *event,
|
||||
@@ -3657,8 +3653,22 @@
|
||||
shortcuts_selection_changed_cb (GtkTreeSelection *selection,
|
||||
GtkFileChooserDefault *impl)
|
||||
{
|
||||
+ GtkTreeIter iter;
|
||||
+ GtkTreeIter child_iter;
|
||||
+
|
||||
bookmarks_check_remove_sensitivity (impl);
|
||||
shortcuts_check_popup_sensitivity (impl);
|
||||
+
|
||||
+ if (impl->changing_folder)
|
||||
+ return;
|
||||
+
|
||||
+ if (gtk_tree_selection_get_selected(selection, NULL, &iter))
|
||||
+ {
|
||||
+ gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (impl->shortcuts_pane_filter_model),
|
||||
+ &child_iter,
|
||||
+ &iter);
|
||||
+ shortcuts_activate_iter (impl, &child_iter);
|
||||
+ }
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@@ -3938,9 +3948,6 @@
|
||||
g_signal_connect (selection, "changed",
|
||||
G_CALLBACK (shortcuts_selection_changed_cb), impl);
|
||||
|
||||
- g_signal_connect (impl->browse_shortcuts_tree_view, "row_activated",
|
||||
- G_CALLBACK (shortcuts_row_activated_cb), impl);
|
||||
-
|
||||
g_signal_connect (impl->browse_shortcuts_tree_view, "key_press_event",
|
||||
G_CALLBACK (shortcuts_key_press_event_cb), impl);
|
||||
|
||||
@@ -8593,25 +8600,6 @@
|
||||
gtk_file_path_free (path);
|
||||
return retval;
|
||||
}
|
||||
- else if (impl->toplevel_last_focus_widget == impl->browse_shortcuts_tree_view)
|
||||
- {
|
||||
- /* The focus is on a dialog's action area button, *and* the widget that
|
||||
- * was focused immediately before it is the shortcuts list. Switch to the
|
||||
- * selected shortcut and tell the caller not to respond.
|
||||
- */
|
||||
- GtkTreeIter iter;
|
||||
-
|
||||
- if (shortcuts_get_selected (impl, &iter))
|
||||
- {
|
||||
- shortcuts_activate_iter (impl, &iter);
|
||||
-
|
||||
- focus_browse_tree_view_if_possible (impl);
|
||||
- }
|
||||
- else
|
||||
- goto file_list;
|
||||
-
|
||||
- return FALSE;
|
||||
- }
|
||||
else if (impl->toplevel_last_focus_widget == impl->browse_files_tree_view)
|
||||
{
|
||||
/* The focus is on a dialog's action area button, *and* the widget that
|
||||
@@ -10469,25 +10457,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
-/* Callback used when a row in the shortcuts list is activated */
|
||||
-static void
|
||||
-shortcuts_row_activated_cb (GtkTreeView *tree_view,
|
||||
- GtkTreePath *path,
|
||||
- GtkTreeViewColumn *column,
|
||||
- GtkFileChooserDefault *impl)
|
||||
-{
|
||||
- GtkTreeIter iter;
|
||||
- GtkTreeIter child_iter;
|
||||
-
|
||||
- if (!gtk_tree_model_get_iter (impl->shortcuts_pane_filter_model, &iter, path))
|
||||
- return;
|
||||
-
|
||||
- gtk_tree_model_filter_convert_iter_to_child_iter (GTK_TREE_MODEL_FILTER (impl->shortcuts_pane_filter_model),
|
||||
- &child_iter,
|
||||
- &iter);
|
||||
- shortcuts_activate_iter (impl, &child_iter);
|
||||
-}
|
||||
-
|
||||
/* Handler for GtkWidget::key-press-event on the shortcuts list */
|
||||
static gboolean
|
||||
shortcuts_key_press_event_cb (GtkWidget *widget,
|
22
debian/patches/041_ia32-libs.patch
vendored
22
debian/patches/041_ia32-libs.patch
vendored
@ -1,22 +0,0 @@
|
||||
Index: gtk+-3.2.2/gtk/gtkrc.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkrc.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkrc.c 2011-11-13 02:59:28.222906052 +0100
|
||||
@@ -960,6 +960,17 @@
|
||||
if (im_module_file)
|
||||
result = g_strdup (im_module_file);
|
||||
else
|
||||
+#if defined(__linux__) && ( defined(__i386__) || defined (__x86_64__) || defined(__ia64__) )
|
||||
+# if defined (__i386__)
|
||||
+ result = gtk_rc_make_default_dir ("immodules.cache.32");
|
||||
+# else
|
||||
+ result = gtk_rc_make_default_dir ("immodules.cache.64");
|
||||
+# endif
|
||||
+ /* Prefer compat immodules.cache file if it's usable. */
|
||||
+ if (g_file_test(result, G_FILE_TEST_EXISTS))
|
||||
+ return result;
|
||||
+ g_free (result);
|
||||
+#endif
|
||||
result = gtk_rc_make_default_dir ("immodules.cache");
|
||||
}
|
||||
|
14
debian/patches/042_treeview_single-focus.patch
vendored
14
debian/patches/042_treeview_single-focus.patch
vendored
@ -1,14 +0,0 @@
|
||||
Index: gtk+3.0-3.3.4/gtk/gtktreeview.c
|
||||
===================================================================
|
||||
--- gtk+3.0-3.3.4.orig/gtk/gtktreeview.c 2011-11-21 14:30:11.000000000 +0100
|
||||
+++ gtk+3.0-3.3.4/gtk/gtktreeview.c 2011-12-07 18:33:01.585621058 +0100
|
||||
@@ -10113,7 +10113,8 @@
|
||||
|
||||
if (cursor_path)
|
||||
{
|
||||
- if (gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_MULTIPLE)
|
||||
+ if (gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_MULTIPLE ||
|
||||
+ gtk_tree_selection_get_mode (tree_view->priv->selection) == GTK_SELECTION_SINGLE)
|
||||
gtk_tree_view_real_set_cursor (tree_view, cursor_path, FALSE, FALSE);
|
||||
else
|
||||
gtk_tree_view_real_set_cursor (tree_view, cursor_path, TRUE, FALSE);
|
211
debian/patches/043_notebook_scroll.patch
vendored
211
debian/patches/043_notebook_scroll.patch
vendored
@ -1,211 +0,0 @@
|
||||
Reverts ad48f4d52bbac6139dd829fcc421ad16441f34d2
|
||||
Add back the feature but in a different way:
|
||||
* requires the Alt modifier
|
||||
* works from the whole area
|
||||
See GNOME #630226 and #145244
|
||||
|
||||
Index: gtk+-3.2.2/gtk/gtkcalendar.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkcalendar.c 2011-11-07 19:47:34.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkcalendar.c 2011-11-13 02:59:34.922905814 +0100
|
||||
@@ -3161,6 +3161,10 @@
|
||||
{
|
||||
GtkCalendar *calendar = GTK_CALENDAR (widget);
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (event->direction == GDK_SCROLL_UP)
|
||||
{
|
||||
if (!gtk_widget_has_focus (widget))
|
||||
Index: gtk+-3.2.2/gtk/gtkcombobox.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkcombobox.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkcombobox.c 2011-11-13 02:59:34.926905815 +0100
|
||||
@@ -3002,6 +3002,10 @@
|
||||
GtkTreeIter iter;
|
||||
GtkTreeIter new_iter;
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (!gtk_combo_box_get_active_iter (combo_box, &iter))
|
||||
return TRUE;
|
||||
|
||||
Index: gtk+-3.2.2/gtk/gtkmenu.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkmenu.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkmenu.c 2011-11-13 02:59:34.930905815 +0100
|
||||
@@ -3954,6 +3954,10 @@
|
||||
{
|
||||
GtkMenu *menu = GTK_MENU (widget);
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
switch (event->direction)
|
||||
{
|
||||
case GDK_SCROLL_RIGHT:
|
||||
Index: gtk+-3.2.2/gtk/gtknotebook.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtknotebook.c 2011-11-12 03:52:24.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtknotebook.c 2011-11-13 02:59:34.934905815 +0100
|
||||
@@ -345,6 +345,8 @@
|
||||
GtkAllocation *allocation);
|
||||
static gint gtk_notebook_draw (GtkWidget *widget,
|
||||
cairo_t *cr);
|
||||
+static gboolean gtk_notebook_scroll (GtkWidget *widget,
|
||||
+ GdkEventScroll *event);
|
||||
static gint gtk_notebook_button_press (GtkWidget *widget,
|
||||
GdkEventButton *event);
|
||||
static gint gtk_notebook_button_release (GtkWidget *widget,
|
||||
@@ -648,6 +650,7 @@
|
||||
widget_class->get_preferred_height_for_width = gtk_notebook_get_preferred_height_for_width;
|
||||
widget_class->size_allocate = gtk_notebook_size_allocate;
|
||||
widget_class->draw = gtk_notebook_draw;
|
||||
+ widget_class->scroll_event = gtk_notebook_scroll;
|
||||
widget_class->button_press_event = gtk_notebook_button_press;
|
||||
widget_class->button_release_event = gtk_notebook_button_release;
|
||||
widget_class->popup_menu = gtk_notebook_popup_menu;
|
||||
@@ -1887,7 +1890,8 @@
|
||||
attributes.event_mask = gtk_widget_get_events (widget);
|
||||
attributes.event_mask |= (GDK_BUTTON_PRESS_MASK |
|
||||
GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK |
|
||||
- GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK);
|
||||
+ GDK_POINTER_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK |
|
||||
+ GDK_SCROLL_MASK);
|
||||
attributes_mask = GDK_WA_X | GDK_WA_Y;
|
||||
|
||||
priv->event_window = gdk_window_new (gtk_widget_get_parent_window (widget),
|
||||
@@ -2810,6 +2814,38 @@
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+static gboolean
|
||||
+gtk_notebook_scroll (GtkWidget *widget,
|
||||
+ GdkEventScroll *event)
|
||||
+{
|
||||
+ GtkNotebook *notebook = GTK_NOTEBOOK (widget);
|
||||
+ GtkNotebookPrivate *priv = notebook->priv;
|
||||
+ gint i;
|
||||
+
|
||||
+ if (!priv->cur_page)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ /* Only actually scroll when Mod1 is pressed.
|
||||
+ This allows us to scroll from the page contents
|
||||
+ or the action area too */
|
||||
+ if (!(event->state & GDK_MOD1_MASK))
|
||||
+ return FALSE;
|
||||
+
|
||||
+ switch (event->direction)
|
||||
+ {
|
||||
+ case GDK_SCROLL_RIGHT:
|
||||
+ case GDK_SCROLL_DOWN:
|
||||
+ gtk_notebook_next_page (notebook);
|
||||
+ break;
|
||||
+ case GDK_SCROLL_LEFT:
|
||||
+ case GDK_SCROLL_UP:
|
||||
+ gtk_notebook_prev_page (notebook);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
static GList*
|
||||
get_tab_at_pos (GtkNotebook *notebook, gint x, gint y)
|
||||
{
|
||||
Index: gtk+-3.2.2/gtk/gtkpathbar.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkpathbar.c 2011-11-07 19:47:35.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkpathbar.c 2011-11-13 02:59:34.938905813 +0100
|
||||
@@ -757,6 +757,10 @@
|
||||
gtk_path_bar_scroll (GtkWidget *widget,
|
||||
GdkEventScroll *event)
|
||||
{
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
switch (event->direction)
|
||||
{
|
||||
case GDK_SCROLL_RIGHT:
|
||||
Index: gtk+-3.2.2/gtk/gtkrange.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkrange.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkrange.c 2011-11-13 02:59:34.938905813 +0100
|
||||
@@ -2748,6 +2748,10 @@
|
||||
GtkRange *range = GTK_RANGE (widget);
|
||||
GtkRangePrivate *priv = range->priv;
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (gtk_widget_get_realized (widget))
|
||||
{
|
||||
gdouble delta;
|
||||
Index: gtk+-3.2.2/gtk/gtkscalebutton.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkscalebutton.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkscalebutton.c 2011-11-13 02:59:34.942905810 +0100
|
||||
@@ -848,6 +848,10 @@
|
||||
if (event->type != GDK_SCROLL)
|
||||
return FALSE;
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
d = gtk_scale_button_get_value (button);
|
||||
if (event->direction == GDK_SCROLL_UP)
|
||||
{
|
||||
Index: gtk+-3.2.2/gtk/gtkscrolledwindow.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkscrolledwindow.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkscrolledwindow.c 2011-11-13 02:59:34.942905810 +0100
|
||||
@@ -1852,6 +1852,10 @@
|
||||
scrolled_window = GTK_SCROLLED_WINDOW (widget);
|
||||
priv = scrolled_window->priv;
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (event->direction == GDK_SCROLL_UP || event->direction == GDK_SCROLL_DOWN)
|
||||
range = priv->vscrollbar;
|
||||
else
|
||||
Index: gtk+-3.2.2/gtk/gtkspinbutton.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtkspinbutton.c 2011-11-11 23:39:31.000000000 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtkspinbutton.c 2011-11-13 02:59:34.946905809 +0100
|
||||
@@ -1181,6 +1181,10 @@
|
||||
GtkSpinButton *spin = GTK_SPIN_BUTTON (widget);
|
||||
GtkSpinButtonPrivate *priv = spin->priv;
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (event->direction == GDK_SCROLL_UP)
|
||||
{
|
||||
if (!gtk_widget_has_focus (widget))
|
||||
Index: gtk+-3.2.2/gtk/gtktreeview.c
|
||||
===================================================================
|
||||
--- gtk+-3.2.2.orig/gtk/gtktreeview.c 2011-11-13 02:59:31.902905921 +0100
|
||||
+++ gtk+-3.2.2/gtk/gtktreeview.c 2011-11-13 02:59:34.950905810 +0100
|
||||
@@ -15106,6 +15106,10 @@
|
||||
{
|
||||
gboolean retval = FALSE;
|
||||
|
||||
+ /* Ignore Alt-scroll to allow it to be taken by GtkNotebook */
|
||||
+ if (event->state & GDK_MOD1_MASK)
|
||||
+ return FALSE;
|
||||
+
|
||||
if (event->direction == GDK_SCROLL_UP)
|
||||
{
|
||||
gtk_tree_view_search_move (widget, tree_view, TRUE);
|
16
debian/patches/044_tracker_fts.patch
vendored
16
debian/patches/044_tracker_fts.patch
vendored
@ -1,16 +0,0 @@
|
||||
Description: Enable tracker full text search
|
||||
Tracker in Debian is compiled with FTS support, so we make use of that in
|
||||
GTK3's file selector dialog.
|
||||
This way files can be found by their content and not only their file name.
|
||||
|
||||
--- a/gtk/gtksearchenginetracker.c
|
||||
+++ b/gtk/gtksearchenginetracker.c
|
||||
@@ -50,7 +50,7 @@
|
||||
* use filename matching instead. This doesn’t use the content of the
|
||||
* file however.
|
||||
*/
|
||||
-#undef FTS_MATCHING
|
||||
+#define FTS_MATCHING
|
||||
|
||||
/*
|
||||
* GtkSearchEngineTracker object
|
85
debian/patches/045_trayicon-visual.patch
vendored
85
debian/patches/045_trayicon-visual.patch
vendored
@ -1,85 +0,0 @@
|
||||
From 2c9e21777a406692bcf8b929c7853f2c87803667 Mon Sep 17 00:00:00 2001
|
||||
From: Vincent Bernat <bernat@luffy.cx>
|
||||
Date: Sat, 27 Aug 2011 20:06:26 +0200
|
||||
Subject: [PATCH] trayicon-x11: Fix warnings when visual is not available.
|
||||
|
||||
This fixes a regression introduced in commit
|
||||
b1a1685a33eca16979e63d79915395af0b36. gdk_visual_get_*_pixel_details()
|
||||
should not be called with a NULL visual.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=649588
|
||||
|
||||
trayicon-x11: Refactor code a bit
|
||||
|
||||
Should make it more obvious what the code actually does.
|
||||
|
||||
GtkTrayIconX11: Some more refactoring
|
||||
|
||||
I like my refactoring better...
|
||||
---
|
||||
gtk/gtktrayicon-x11.c | 36 +++++++++++++++++++-----------------
|
||||
1 files changed, 19 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtktrayicon-x11.c b/gtk/gtktrayicon-x11.c
|
||||
index 6535a65..b26d47d 100644
|
||||
--- a/gtk/gtktrayicon-x11.c
|
||||
+++ b/gtk/gtktrayicon-x11.c
|
||||
@@ -474,10 +474,6 @@ gtk_tray_icon_get_visual_property (GtkTrayIcon *icon)
|
||||
gulong nitems;
|
||||
gulong bytes_after;
|
||||
int error, result;
|
||||
- GdkVisual *visual;
|
||||
- gint red_prec;
|
||||
- gint green_prec;
|
||||
- gint blue_prec;
|
||||
|
||||
g_assert (icon->priv->manager_window != None);
|
||||
|
||||
@@ -492,25 +488,31 @@ gtk_tray_icon_get_visual_property (GtkTrayIcon *icon)
|
||||
&bytes_after, &(prop.prop_ch));
|
||||
error = gdk_error_trap_pop ();
|
||||
|
||||
- visual = NULL;
|
||||
-
|
||||
if (!error && result == Success &&
|
||||
type == XA_VISUALID && nitems == 1 && format == 32)
|
||||
{
|
||||
- VisualID visual_id = prop.prop[0];
|
||||
+ VisualID visual_id;
|
||||
+ GdkVisual *visual;
|
||||
+ gint red_prec, green_prec, blue_prec;
|
||||
+
|
||||
+ visual_id = prop.prop[0];
|
||||
visual = gdk_x11_screen_lookup_visual (screen, visual_id);
|
||||
+ gdk_visual_get_red_pixel_details (visual, NULL, NULL, &red_prec);
|
||||
+ gdk_visual_get_green_pixel_details (visual, NULL, NULL, &green_prec);
|
||||
+ gdk_visual_get_blue_pixel_details (visual, NULL, NULL, &blue_prec);
|
||||
+ icon->priv->manager_visual = visual;
|
||||
+ icon->priv->manager_visual_rgba =
|
||||
+ (red_prec + blue_prec + green_prec < gdk_visual_get_depth (visual));
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ icon->priv->manager_visual = NULL;
|
||||
+ icon->priv->manager_visual_rgba = FALSE;
|
||||
}
|
||||
|
||||
- gdk_visual_get_red_pixel_details (visual, NULL, NULL, &red_prec);
|
||||
- gdk_visual_get_green_pixel_details (visual, NULL, NULL, &green_prec);
|
||||
- gdk_visual_get_blue_pixel_details (visual, NULL, NULL, &blue_prec);
|
||||
-
|
||||
- icon->priv->manager_visual = visual;
|
||||
- icon->priv->manager_visual_rgba = visual != NULL &&
|
||||
- (red_prec + blue_prec + green_prec < gdk_visual_get_depth (visual));
|
||||
-
|
||||
- /* For the background-relative hack we use when we aren't using a real RGBA
|
||||
- * visual, we can't be double-buffered */
|
||||
+ /* For the background-relative hack we use when we aren't
|
||||
+ * using a real RGBA visual, we can't be double-buffered
|
||||
+ */
|
||||
gtk_widget_set_double_buffered (GTK_WIDGET (icon), icon->priv->manager_visual_rgba);
|
||||
|
||||
if (type != None)
|
||||
--
|
||||
1.7.5.4
|
||||
|
@ -1,38 +0,0 @@
|
||||
Description: Fall back to the hard-coded pre-multiarch module directory
|
||||
Include /usr/lib/gtk-3.0 in the path as a fallback when building for
|
||||
multiarch, to maintain compatibility with packages installing modules to
|
||||
the old directories.
|
||||
Author: Steve Langasek <steve.langasek@linaro.org>
|
||||
Forwarded: not-needed
|
||||
|
||||
--- a/gtk/gtkmodules.c
|
||||
+++ b/gtk/gtkmodules.c
|
||||
@@ -55,6 +55,7 @@
|
||||
const gchar *exe_prefix;
|
||||
gchar *module_path;
|
||||
gchar *default_dir;
|
||||
+ gchar *pre_multiarch_dir = NULL;
|
||||
static gchar **result = NULL;
|
||||
|
||||
if (result)
|
||||
@@ -65,15 +66,17 @@
|
||||
|
||||
if (exe_prefix)
|
||||
default_dir = g_build_filename (exe_prefix, "lib", "gtk-3.0", NULL);
|
||||
- else
|
||||
+ else {
|
||||
default_dir = g_build_filename (_gtk_get_libdir (), "gtk-3.0", NULL);
|
||||
+ pre_multiarch_dir = "/usr/lib/gtk-3.0";
|
||||
+ }
|
||||
|
||||
if (module_path_env)
|
||||
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
|
||||
- module_path_env, default_dir, NULL);
|
||||
+ module_path_env, default_dir, pre_multiarch_dir, NULL);
|
||||
else
|
||||
module_path = g_build_path (G_SEARCHPATH_SEPARATOR_S,
|
||||
- default_dir, NULL);
|
||||
+ default_dir, pre_multiarch_dir, NULL);
|
||||
|
||||
g_free (default_dir);
|
||||
|
@ -1,68 +0,0 @@
|
||||
From 82cf89deb997fd2633cbdeaa659a91f51d6e4cae Mon Sep 17 00:00:00 2001
|
||||
From: Simon McVittie <smcv@debian.org>
|
||||
Date: Sat, 9 Aug 2014 15:17:44 +0100
|
||||
Subject: [PATCH] Avoid "pkg-config --atleast-version"
|
||||
|
||||
AM_PATH_GTK_3_0([3.4], [], [], [gthread]) results in calling
|
||||
"pkg-config --atleast-version 3.4 gtk+-3.0 gthread-2.0".
|
||||
|
||||
With pkg-config 0.28, that test fails, because the version of
|
||||
gthread-2.0 is smaller than 3.4. This appears to be a behaviour
|
||||
change since 0.26, but matches what the documentation said in 0.26.
|
||||
|
||||
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=641638
|
||||
Bug-Debian: https://bugs.debian.org/756476
|
||||
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
|
||||
Applied-upstream: 3.12.3
|
||||
---
|
||||
m4macros/gtk-3.0.m4 | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/m4macros/gtk-3.0.m4 b/m4macros/gtk-3.0.m4
|
||||
index 5238b43..0d605fb 100644
|
||||
--- a/m4macros/gtk-3.0.m4
|
||||
+++ b/m4macros/gtk-3.0.m4
|
||||
@@ -11,8 +11,9 @@ dnl Get the cflags and libraries from pkg-config
|
||||
dnl
|
||||
AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
|
||||
, enable_gtktest=yes)
|
||||
+ min_gtk_version=ifelse([$1], [], [3.0.0], [$1])
|
||||
|
||||
- pkg_config_args=gtk+-3.0
|
||||
+ pkg_config_args="gtk+-3.0 >= $min_gtk_version"
|
||||
for module in . $4
|
||||
do
|
||||
case "$module" in
|
||||
@@ -38,7 +39,6 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run
|
||||
no_gtk=yes
|
||||
fi
|
||||
|
||||
- min_gtk_version=ifelse([$1], ,3.0.0,$1)
|
||||
AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
|
||||
|
||||
if test x$PKG_CONFIG != xno ; then
|
||||
@@ -48,7 +48,7 @@ AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run
|
||||
enable_gtktest=no
|
||||
fi
|
||||
|
||||
- if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
|
||||
+ if $PKG_CONFIG $pkg_config_args; then
|
||||
:
|
||||
else
|
||||
no_gtk=yes
|
||||
@@ -202,10 +202,11 @@ AC_DEFUN([GTK_CHECK_BACKEND],
|
||||
[
|
||||
pkg_config_args=ifelse([$1],,gtk+-3.0, gtk+-$1-3.0)
|
||||
min_gtk_version=ifelse([$2],,3.0.0,$2)
|
||||
+ pkg_config_args="$pkg_config_args >= $min_gtk_version"
|
||||
|
||||
AC_PATH_PROG(PKG_CONFIG, [pkg-config], [AC_MSG_ERROR([No pkg-config found])])
|
||||
|
||||
- if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args ; then
|
||||
+ if $PKG_CONFIG $pkg_config_args ; then
|
||||
target_found=yes
|
||||
else
|
||||
target_found=no
|
||||
--
|
||||
2.1.0.rc1
|
||||
|
47
debian/patches/072_statusicon_icon_size.patch
vendored
47
debian/patches/072_statusicon_icon_size.patch
vendored
@ -1,47 +0,0 @@
|
||||
From b4f092f17d93a9343c917e3a20b906b693965bda Mon Sep 17 00:00:00 2001
|
||||
From: Fernando Lemos <fernandotcl@gmail.com>
|
||||
Date: Tue, 15 May 2012 10:28:37 -0400
|
||||
Subject: [PATCH] statusicon: use absolute delta to find the nearest icon size
|
||||
|
||||
Otherwise, if we only look at (pixel_size - stock_size), we miss the
|
||||
case when the pixel size is smaller than any provided stock size.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=673749
|
||||
|
||||
statusicon: Fix implicit declaration warning
|
||||
|
||||
gtkstatusicon.c:1333:4: warning: implicit declaration of function 'abs' [-Wimplicit-function-declaration]
|
||||
|
||||
Added in commit c8378099600e4279cb5c608b546bbe778c451233
|
||||
---
|
||||
gtk/gtkstatusicon.c | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gtk/gtkstatusicon.c b/gtk/gtkstatusicon.c
|
||||
index 8bcb638..5c8a591 100644
|
||||
--- a/gtk/gtkstatusicon.c
|
||||
+++ b/gtk/gtkstatusicon.c
|
||||
@@ -28,6 +28,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <string.h>
|
||||
+#include <stdlib.h>
|
||||
|
||||
#include "gtkstatusicon.h"
|
||||
|
||||
@@ -1328,10 +1329,9 @@ round_pixel_size (GtkWidget *widget,
|
||||
|
||||
for (s = GTK_ICON_SIZE_MENU; s <= GTK_ICON_SIZE_DIALOG; s++)
|
||||
{
|
||||
- if (gtk_icon_size_lookup_for_settings (settings, s, &w, &h) &&
|
||||
- w <= pixel_size && h <= pixel_size)
|
||||
+ if (gtk_icon_size_lookup_for_settings (settings, s, &w, &h))
|
||||
{
|
||||
- d = MAX (pixel_size - w, pixel_size - h);
|
||||
+ d = MAX (abs (pixel_size - w), abs (pixel_size - h));
|
||||
if (d < dist)
|
||||
{
|
||||
dist = d;
|
||||
--
|
||||
1.7.10
|
||||
|
33
debian/patches/073_transparent_colors.patch
vendored
33
debian/patches/073_transparent_colors.patch
vendored
@ -1,33 +0,0 @@
|
||||
From 72feb95edb6ab8c3fac27c0c32afeb2b2f61bd1c Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Larsson <alexl@redhat.com>
|
||||
Date: Thu, 28 Jun 2012 19:30:24 +0000
|
||||
Subject: Handle transparent colors better in GtkStyle emulation
|
||||
|
||||
We can't expose colors with alpha in the GtkStyle colors, since
|
||||
GdkColor has no alpha. Currently we throw away alpha completely,
|
||||
which fails very badly for completely transparent backgrounds,
|
||||
which now is the default for most widgets, as it typically
|
||||
end up with black-on-black.
|
||||
|
||||
We handle this by falling back on the default/previous colors for
|
||||
transparent colors. This is is simple and avoids complete failure.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=671437
|
||||
|
||||
(cherry picked from commit 10423726709539724be0ea19bed76ba4331af774)
|
||||
---
|
||||
diff --git a/gtk/deprecated/gtkstyle.c b/gtk/deprecated/gtkstyle.c
|
||||
index 5266368..16e3ce4 100644
|
||||
--- a/gtk/deprecated/gtkstyle.c
|
||||
+++ b/gtk/deprecated/gtkstyle.c
|
||||
@@ -673,7 +673,7 @@ set_color (GtkStyle *style,
|
||||
break;
|
||||
}
|
||||
|
||||
- if (color)
|
||||
+ if (color && color->alpha > 0.01)
|
||||
{
|
||||
dest->pixel = 0;
|
||||
dest->red = CLAMP ((guint) (color->red * 65535), 0, 65535);
|
||||
--
|
||||
cgit v0.9.0.2
|
@ -1,69 +0,0 @@
|
||||
From 314b6abbe8d8daae1e2de50b15cc9b6553af1f3d Mon Sep 17 00:00:00 2001
|
||||
From: Matthias Clasen <mclasen@redhat.com>
|
||||
Date: Sat, 1 Sep 2012 22:51:18 -0400
|
||||
Subject: [PATCH] Try harder to discriminate Shift-F10 and F10
|
||||
|
||||
A change in xkeyboard-config 2.4.1 made it so that function keys
|
||||
now have a shift level which has the same symbol, but 'eats' the
|
||||
shift modifier. This would ordinarily make it impossible for us
|
||||
to discriminate between these key combinations.
|
||||
|
||||
This commit tries harder to discriminate in 2 ways:
|
||||
- XKB has a mechanism to tell us when a modifier should not be
|
||||
consumed even though it was used in determining the level.
|
||||
We now respect such 'preserved' modifiers. This does not fix
|
||||
the Shift-F10 vs F10 problem yet, since xkeyboard-config does
|
||||
not currently mark Shift as preserved for function keys.
|
||||
- Don't consume modifiers that do not change the symbol. For
|
||||
the function keys, the symbol on the shift level is the same
|
||||
as the base level, so we don't consider Shift consumed.
|
||||
|
||||
For more background on the xkeyboard-config change, see
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=45008
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=661973
|
||||
---
|
||||
gdk/x11/gdkkeys-x11.c | 20 +++++++++++++++-----
|
||||
1 file changed, 15 insertions(+), 5 deletions(-)
|
||||
|
||||
Index: gtk+-3.4.2/gdk/x11/gdkkeys-x11.c
|
||||
===================================================================
|
||||
--- gtk+-3.4.2.orig/gdk/x11/gdkkeys-x11.c 2012-05-02 14:05:07.000000000 +0200
|
||||
+++ gtk+-3.4.2/gdk/x11/gdkkeys-x11.c 2012-09-04 03:05:24.621782410 +0200
|
||||
@@ -1113,6 +1113,8 @@
|
||||
int found = 0;
|
||||
|
||||
for (i=0,entry=type->map;i<type->map_count;i++,entry++) {
|
||||
+ if (!entry->active)
|
||||
+ continue;
|
||||
if (mods_rtrn) {
|
||||
int bits = 0;
|
||||
unsigned long tmp = entry->mods.mask;
|
||||
@@ -1123,14 +1125,22 @@
|
||||
}
|
||||
/* We always add one-modifiers levels to mods_rtrn since
|
||||
* they can't wipe out bits in the state unless the
|
||||
- * level would be triggered. But return other modifiers
|
||||
- *
|
||||
+ * level would be triggered. But not if they don't change
|
||||
+ * the symbol (otherwise we can't discriminate Shift-F10
|
||||
+ * and F10 anymore). And don't add modifiers that are
|
||||
+ * explicitly marked as preserved, either.
|
||||
*/
|
||||
- if (bits == 1 || (mods&type->mods.mask)==entry->mods.mask)
|
||||
- *mods_rtrn |= entry->mods.mask;
|
||||
+ if ((bits == 1 && syms[col+entry->level] != syms[col]) ||
|
||||
+ (mods&type->mods.mask) == entry->mods.mask)
|
||||
+ {
|
||||
+ if (type->preserve)
|
||||
+ *mods_rtrn |= (entry->mods.mask & ~type->preserve[i].mask);
|
||||
+ else
|
||||
+ *mods_rtrn |= entry->mods.mask;
|
||||
+ }
|
||||
}
|
||||
|
||||
- if (!found&&entry->active&&((mods&type->mods.mask)==entry->mods.mask)) {
|
||||
+ if (!found&&((mods&type->mods.mask)==entry->mods.mask)) {
|
||||
col+= entry->level;
|
||||
if (type->preserve)
|
||||
preserve= type->preserve[i].mask;
|
@ -1,166 +0,0 @@
|
||||
Description: GtkPlug: fix handling of key events for different layouts
|
||||
GtkPlug directly handles X KeyPress/Release events, instead of using
|
||||
translation in GDK (which expects XI2 events for XI2). When this
|
||||
was done, the handling of the group was stubbed out and never replaced.
|
||||
.
|
||||
Export gdk_keymap_x11_group_for_state() and gdk_keymap_x11_is_modifier()
|
||||
so we can fill out the fields correctly.
|
||||
Origin: upstream, http://git.gnome.org/browse/gtk+/commit/?id=0aa989ae76d0d080eae16b8a4fde59aca1227cc4
|
||||
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=675167
|
||||
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692235
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
--- a/gdk/x11/gdkdevicemanager-core-x11.c
|
||||
+++ b/gdk/x11/gdkdevicemanager-core-x11.c
|
||||
@@ -145,7 +145,7 @@
|
||||
gdk_event_set_device (event, device_manager->core_keyboard);
|
||||
|
||||
event->key.state = (GdkModifierType) xevent->xkey.state;
|
||||
- event->key.group = _gdk_x11_get_group_for_state (display, xevent->xkey.state);
|
||||
+ event->key.group = gdk_x11_keymap_get_group_for_state (keymap, xevent->xkey.state);
|
||||
event->key.hardware_keycode = xevent->xkey.keycode;
|
||||
|
||||
event->key.keyval = GDK_KEY_VoidSymbol;
|
||||
@@ -161,7 +161,7 @@
|
||||
_gdk_x11_keymap_add_virt_mods (keymap, &state);
|
||||
event->key.state |= state;
|
||||
|
||||
- event->key.is_modifier = _gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
+ event->key.is_modifier = gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
|
||||
_gdk_x11_event_translate_keyboard_string (&event->key);
|
||||
|
||||
--- a/gdk/x11/gdkdevicemanager-xi2.c
|
||||
+++ b/gdk/x11/gdkdevicemanager-xi2.c
|
||||
@@ -1160,10 +1160,10 @@
|
||||
|
||||
event->key.time = xev->time;
|
||||
event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
|
||||
- event->key.group = _gdk_x11_get_group_for_state (display, event->key.state);
|
||||
+ event->key.group = xev->group.effective;
|
||||
|
||||
event->key.hardware_keycode = xev->detail;
|
||||
- event->key.is_modifier = _gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
+ event->key.is_modifier = gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
|
||||
device = g_hash_table_lookup (device_manager->id_table,
|
||||
GUINT_TO_POINTER (xev->deviceid));
|
||||
--- a/gdk/x11/gdkkeys-x11.c
|
||||
+++ b/gdk/x11/gdkkeys-x11.c
|
||||
@@ -1439,11 +1439,28 @@
|
||||
*upper = xupper;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * gdk_x11_keymap_get_group_for_state:
|
||||
+ * @keymap: a #GdkX11Keymap
|
||||
+ * @state: raw state returned from X
|
||||
+ *
|
||||
+ * Extracts the group from the state field sent in an X Key event.
|
||||
+ * This is only needed for code processing raw X events, since #GdkEventKey
|
||||
+ * directly includes an is_modifier field.
|
||||
+ *
|
||||
+ * Returns: the index of the active keyboard group for the event
|
||||
+ */
|
||||
gint
|
||||
-_gdk_x11_get_group_for_state (GdkDisplay *display,
|
||||
- GdkModifierType state)
|
||||
+gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap,
|
||||
+ guint state)
|
||||
{
|
||||
- GdkX11Display *display_x11 = GDK_X11_DISPLAY (display);
|
||||
+ GdkDisplay *display;
|
||||
+ GdkX11Display *display_x11;
|
||||
+
|
||||
+ g_return_val_if_fail (GDK_IS_X11_KEYMAP (keymap), 0);
|
||||
+
|
||||
+ display = keymap->display;
|
||||
+ display_x11 = GDK_X11_DISPLAY (display);
|
||||
|
||||
#ifdef HAVE_XKB
|
||||
if (display_x11->use_xkb)
|
||||
@@ -1508,13 +1525,29 @@
|
||||
}
|
||||
}
|
||||
|
||||
+/**
|
||||
+ * gdk_x11_keymap_key_is_modifier:
|
||||
+ * @keymap: a #GdkX11Keymap
|
||||
+ * @keycode: the hardware keycode from a key event
|
||||
+ *
|
||||
+ * Determines whether a particular key code represents a key that
|
||||
+ * is a modifier. That is, it's a key that normally just affects
|
||||
+ * the keyboard state and the behavior of other keys rather than
|
||||
+ * producing a direct effect itself. This is only needed for code
|
||||
+ * processing raw X events, since #GdkEventKey directly includes
|
||||
+ * an is_modifier field.
|
||||
+ *
|
||||
+ * Returns: %TRUE if the hardware keycode is a modifier key
|
||||
+ */
|
||||
gboolean
|
||||
-_gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
|
||||
- guint keycode)
|
||||
+gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
|
||||
+ guint keycode)
|
||||
{
|
||||
GdkX11Keymap *keymap_x11 = GDK_X11_KEYMAP (keymap);
|
||||
gint i;
|
||||
|
||||
+ g_return_val_if_fail (GDK_IS_X11_KEYMAP (keymap), FALSE);
|
||||
+
|
||||
update_keyrange (keymap_x11);
|
||||
if (keycode < keymap_x11->min_keycode ||
|
||||
keycode > keymap_x11->max_keycode)
|
||||
--- a/gdk/x11/gdkprivate-x11.h
|
||||
+++ b/gdk/x11/gdkprivate-x11.h
|
||||
@@ -155,12 +155,8 @@
|
||||
void _gdk_x11_keymap_state_changed (GdkDisplay *display,
|
||||
XEvent *event);
|
||||
void _gdk_x11_keymap_keys_changed (GdkDisplay *display);
|
||||
-gint _gdk_x11_get_group_for_state (GdkDisplay *display,
|
||||
- GdkModifierType state);
|
||||
void _gdk_x11_keymap_add_virt_mods (GdkKeymap *keymap,
|
||||
GdkModifierType *modifiers);
|
||||
-gboolean _gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
|
||||
- guint keycode);
|
||||
|
||||
void _gdk_x11_windowing_init (void);
|
||||
|
||||
--- a/gdk/x11/gdkx11keys.h
|
||||
+++ b/gdk/x11/gdkx11keys.h
|
||||
@@ -42,6 +42,11 @@
|
||||
|
||||
GType gdk_x11_keymap_get_type (void);
|
||||
|
||||
+gint gdk_x11_keymap_get_group_for_state (GdkKeymap *keymap,
|
||||
+ guint state);
|
||||
+
|
||||
+gboolean gdk_x11_keymap_key_is_modifier (GdkKeymap *keymap,
|
||||
+ guint keycode);
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GDK_X11_KEYMAP_H__ */
|
||||
--- a/gtk/gtkplug.c
|
||||
+++ b/gtk/gtkplug.c
|
||||
@@ -982,6 +982,10 @@
|
||||
gdk_event_set_device (event, keyboard);
|
||||
|
||||
keymap = gdk_keymap_get_for_display (display);
|
||||
+
|
||||
+ event->key.group = gdk_x11_keymap_get_group_for_state (keymap, xevent->xkey.state);
|
||||
+ event->key.is_modifier = gdk_x11_keymap_key_is_modifier (keymap, event->key.hardware_keycode);
|
||||
+
|
||||
gdk_keymap_translate_keyboard_state (keymap,
|
||||
event->key.hardware_keycode,
|
||||
event->key.state,
|
||||
@@ -996,10 +1000,6 @@
|
||||
event->key.length = 0;
|
||||
event->key.string = g_strdup ("");
|
||||
|
||||
- /* FIXME: These should be filled in properly */
|
||||
- event->key.group = 0;
|
||||
- event->key.is_modifier = FALSE;
|
||||
-
|
||||
return_val = GDK_FILTER_TRANSLATE;
|
||||
}
|
||||
}
|
75
debian/patches/076_check_wm_supports_hint.patch
vendored
75
debian/patches/076_check_wm_supports_hint.patch
vendored
@ -1,75 +0,0 @@
|
||||
Description: Fix placement and size of popup menus with some window managers
|
||||
Before acting on any hint that is set by the window manager we must first
|
||||
check that the hint is supported by the current window manager. Checking that
|
||||
a property has a value is insufficient as it may have been set by a previous
|
||||
window manager which did support the hint.
|
||||
Origin: upstream, http://git.gnome.org/browse/gtk+/commit/?id=2fcbe3a9b44491059170b71f75e07b3b24138c4a
|
||||
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=691515
|
||||
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681974
|
||||
---
|
||||
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
|
||||
diff --git a/gdk/x11/gdkscreen-x11.c b/gdk/x11/gdkscreen-x11.c
|
||||
index a6d8ba6..b5767b5 100644
|
||||
--- a/gdk/x11/gdkscreen-x11.c
|
||||
+++ b/gdk/x11/gdkscreen-x11.c
|
||||
@@ -280,6 +280,10 @@ get_current_desktop (GdkScreen *screen)
|
||||
unsigned char *data_return = NULL;
|
||||
int workspace = 0;
|
||||
|
||||
+ if (!gdk_x11_screen_supports_net_wm_hint (screen,
|
||||
+ gdk_atom_intern_static_string ("_NET_CURRENT_DESKTOP")))
|
||||
+ return workspace;
|
||||
+
|
||||
display = GDK_DISPLAY_XDISPLAY (gdk_screen_get_display (screen));
|
||||
win = XRootWindow (display, GDK_SCREEN_XNUMBER (screen));
|
||||
|
||||
@@ -330,6 +334,10 @@ get_work_area (GdkScreen *screen,
|
||||
area->width = gdk_screen_get_width (screen);
|
||||
area->height = gdk_screen_get_height (screen);
|
||||
|
||||
+ if (!gdk_x11_screen_supports_net_wm_hint (screen,
|
||||
+ gdk_atom_intern_static_string ("_NET_WORKAREA")))
|
||||
+ return;
|
||||
+
|
||||
if (workarea == None)
|
||||
return;
|
||||
|
||||
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
|
||||
index 150f58e..70a6ba0 100644
|
||||
--- a/gdk/x11/gdkwindow-x11.c
|
||||
+++ b/gdk/x11/gdkwindow-x11.c
|
||||
@@ -1738,7 +1738,9 @@ static void
|
||||
move_to_current_desktop (GdkWindow *window)
|
||||
{
|
||||
if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
- gdk_atom_intern_static_string ("_NET_WM_DESKTOP")))
|
||||
+ gdk_atom_intern_static_string ("_NET_WM_DESKTOP")) &&
|
||||
+ gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
+ gdk_atom_intern_static_string ("_NET_CURRENT_DESKTOP")))
|
||||
{
|
||||
Atom type;
|
||||
gint format;
|
||||
@@ -2717,7 +2719,9 @@ gdk_x11_window_get_frame_extents (GdkWindow *window,
|
||||
xwindow = GDK_WINDOW_XID (window);
|
||||
|
||||
/* first try: use _NET_FRAME_EXTENTS */
|
||||
- if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow,
|
||||
+ if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
+ gdk_atom_intern_static_string ("_NET_FRAME_EXTENTS")) &&
|
||||
+ XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), xwindow,
|
||||
gdk_x11_get_xatom_by_name_for_display (display,
|
||||
"_NET_FRAME_EXTENTS"),
|
||||
0, G_MAXLONG, False, XA_CARDINAL, &type_return,
|
||||
@@ -2764,7 +2768,9 @@ gdk_x11_window_get_frame_extents (GdkWindow *window,
|
||||
/* use NETWM_VIRTUAL_ROOTS if available */
|
||||
root = GDK_WINDOW_XROOTWIN (window);
|
||||
|
||||
- if (XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), root,
|
||||
+ if (gdk_x11_screen_supports_net_wm_hint (GDK_WINDOW_SCREEN (window),
|
||||
+ gdk_atom_intern_static_string ("_NET_VIRTUAL_ROOTS")) &&
|
||||
+ XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display), root,
|
||||
gdk_x11_get_xatom_by_name_for_display (display,
|
||||
"_NET_VIRTUAL_ROOTS"),
|
||||
0, G_MAXLONG, False, XA_WINDOW, &type_return,
|
||||
--
|
||||
cgit v0.9.0.2
|
@ -1,32 +0,0 @@
|
||||
--- a/docs/reference/Makefile.am
|
||||
+++ b/docs/reference/Makefile.am
|
||||
@@ -1,3 +1,5 @@
|
||||
+.NOTPARALLEL:
|
||||
+
|
||||
## Process this file with automake to produce Makefile.in
|
||||
include $(top_srcdir)/Makefile.decl
|
||||
|
||||
--- a/docs/reference/gdk/Makefile.am
|
||||
+++ b/docs/reference/gdk/Makefile.am
|
||||
@@ -1,3 +1,5 @@
|
||||
+.NOTPARALLEL:
|
||||
+
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
--- a/docs/reference/gtk/Makefile.am
|
||||
+++ b/docs/reference/gtk/Makefile.am
|
||||
@@ -1,3 +1,5 @@
|
||||
+.NOTPARALLEL:
|
||||
+
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.6
|
||||
--- a/docs/reference/libgail-util/Makefile.am
|
||||
+++ b/docs/reference/libgail-util/Makefile.am
|
||||
@@ -1,3 +1,5 @@
|
||||
+.NOTPARALLEL:
|
||||
+
|
||||
## Process this file with automake to produce Makefile.in
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.7
|
30
debian/patches/081_icon-cache-validate.patch
vendored
30
debian/patches/081_icon-cache-validate.patch
vendored
@ -1,30 +0,0 @@
|
||||
# See: http://bugzilla.gnome.org/show_bug.cgi?id=476342
|
||||
|
||||
--- trunk/gtk/gtkiconcache.c 2007/09/14 01:01:59 18822
|
||||
+++ trunk/gtk/gtkiconcache.c 2007/09/14 02:11:01 18823
|
||||
@@ -127,14 +127,19 @@
|
||||
info.n_directories = 0;
|
||||
info.flags = CHECK_OFFSETS|CHECK_STRINGS;
|
||||
|
||||
- if (!_gtk_icon_cache_validate (&info))
|
||||
+#ifdef G_ENABLE_DEBUG
|
||||
+ if (gtk_debug_flags & GTK_DEBUG_ICONTHEME)
|
||||
{
|
||||
- g_mapped_file_free (map);
|
||||
- g_warning ("Icon cache '%s' is invalid\n", cache_filename);
|
||||
+ if (!_gtk_icon_cache_validate (&info))
|
||||
+ {
|
||||
+ g_mapped_file_free (map);
|
||||
+ g_warning ("Icon cache '%s' is invalid\n", cache_filename);
|
||||
|
||||
- goto done;
|
||||
+ goto done;
|
||||
+ }
|
||||
}
|
||||
-
|
||||
+#endif
|
||||
+
|
||||
GTK_NOTE (ICONTHEME, g_print ("found cache for %s\n", path));
|
||||
|
||||
cache = g_new0 (GtkIconCache, 1);
|
||||
|
@ -1,17 +0,0 @@
|
||||
GNOME #438261; Debian #414698; fixes Thai input method when NumLock/CapsLock is
|
||||
on
|
||||
|
||||
Index: modules/input/gtkimcontextthai.c
|
||||
===================================================================
|
||||
--- modules/input/gtkimcontextthai.c (revision 17839)
|
||||
+++ modules/input/gtkimcontextthai.c (working copy)
|
||||
@@ -288,7 +288,8 @@
|
||||
if (event->type != GDK_KEY_PRESS)
|
||||
return FALSE;
|
||||
|
||||
- if (event->state & (GDK_MODIFIER_MASK & ~GDK_SHIFT_MASK) ||
|
||||
+ if (event->state & (GDK_MODIFIER_MASK
|
||||
+ & ~(GDK_SHIFT_MASK | GDK_LOCK_MASK | GDK_MOD2_MASK)) ||
|
||||
is_context_lost_key (event->keyval))
|
||||
{
|
||||
#ifndef GTK_IM_CONTEXT_THAI_NO_FALLBACK
|
@ -1,12 +0,0 @@
|
||||
Index: gtk+2.0-2.11.6/gtk/gtkclipboard.c
|
||||
===================================================================
|
||||
--- gtk+2.0-2.11.6.orig/gtk/gtkclipboard.c 2007-08-31 16:52:48.000000000 +0200
|
||||
+++ gtk+2.0-2.11.6/gtk/gtkclipboard.c 2007-08-31 16:53:16.000000000 +0200
|
||||
@@ -287,6 +287,7 @@
|
||||
gtk_clipboard_get_for_display (GdkDisplay *display,
|
||||
GdkAtom selection)
|
||||
{
|
||||
+ g_return_val_if_fail (display != NULL, NULL);
|
||||
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
|
||||
g_return_val_if_fail (!display->closed, NULL);
|
||||
|
@ -1,55 +0,0 @@
|
||||
diff -urN gtk+2.0-2.12.3/gtk/gtkrecentchoosermenu.c gtk+2.0-2.12.3+fix/gtk/gtkrecentchoosermenu.c
|
||||
--- gtk+2.0-2.12.3/gtk/gtkrecentchoosermenu.c 2007-12-04 10:52:08.000000000 -0600
|
||||
+++ gtk+2.0-2.12.3+fix/gtk/gtkrecentchoosermenu.c 2008-01-04 23:22:01.000000000 -0600
|
||||
@@ -926,8 +926,6 @@
|
||||
pdata = (MenuPopulateData *) data;
|
||||
priv = pdata->menu->priv;
|
||||
|
||||
- priv->populate_id = 0;
|
||||
-
|
||||
if (!pdata->items)
|
||||
{
|
||||
pdata->items = gtk_recent_chooser_get_items (GTK_RECENT_CHOOSER (pdata->menu));
|
||||
@@ -936,6 +934,7 @@
|
||||
/* show the placeholder here */
|
||||
gtk_widget_show (pdata->placeholder);
|
||||
pdata->displayed_items = 1;
|
||||
+ priv->populate_id = 0;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -978,6 +977,8 @@
|
||||
g_list_foreach (pdata->items, (GFunc) gtk_recent_info_unref, NULL);
|
||||
g_list_free (pdata->items);
|
||||
|
||||
+ priv->populate_id = 0;
|
||||
+
|
||||
retval = FALSE;
|
||||
}
|
||||
else
|
||||
@@ -991,14 +992,17 @@
|
||||
{
|
||||
MenuPopulateData *pdata = data;
|
||||
|
||||
- /* show the placeholder in case no item survived
|
||||
- * the filtering process in the idle loop
|
||||
- */
|
||||
- if (!pdata->displayed_items)
|
||||
- gtk_widget_show (pdata->placeholder);
|
||||
- g_object_unref (pdata->placeholder);
|
||||
+ if (pdata->menu->priv->populate_id == 0)
|
||||
+ {
|
||||
+ /* show the placeholder in case no item survived
|
||||
+ * the filtering process in the idle loop
|
||||
+ */
|
||||
+ if (!pdata->displayed_items)
|
||||
+ gtk_widget_show (pdata->placeholder);
|
||||
+ g_object_unref (pdata->placeholder);
|
||||
|
||||
- g_slice_free (MenuPopulateData, data);
|
||||
+ g_slice_free (MenuPopulateData, data);
|
||||
+ }
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1,53 +0,0 @@
|
||||
From 34053dc5def2f393a92eb17814682b2e9b73ef27 Mon Sep 17 00:00:00 2001
|
||||
From: Sjoerd Simons <sjoerd@luon.net>
|
||||
Date: Fri, 21 Oct 2011 15:55:50 +0200
|
||||
Subject: [PATCH] Fix document generation in out of tree builds
|
||||
|
||||
---
|
||||
docs/reference/gdk/Makefile.am | 2 +-
|
||||
docs/reference/gtk/Makefile.am | 2 +-
|
||||
docs/reference/libgail-util/Makefile.am | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/docs/reference/gdk/Makefile.am b/docs/reference/gdk/Makefile.am
|
||||
index aab34e3..e73c955 100644
|
||||
--- a/docs/reference/gdk/Makefile.am
|
||||
+++ b/docs/reference/gdk/Makefile.am
|
||||
@@ -12,7 +12,7 @@ DOC_MAIN_SGML_FILE=gdk-docs.sgml
|
||||
SCAN_OPTIONS=--deprecated-guards="GDK_ENABLE_BROKEN|GDK_DISABLE_DEPRECATED"
|
||||
|
||||
# The directory containing the source code. Relative to $(srcdir)
|
||||
-DOC_SOURCE_DIR=../../../gdk ../../../gdk/x11
|
||||
+DOC_SOURCE_DIR=$(top_srcdir)/gdk $(top_srcdir)/gdk/x11
|
||||
|
||||
# Used for dependencies
|
||||
HFILE_GLOB=$(top_srcdir)/gdk/*.h $(top_srcdir)/gdk/x11/gdkx.h
|
||||
diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am
|
||||
index 153ecfc..4e64367 100644
|
||||
--- a/docs/reference/gtk/Makefile.am
|
||||
+++ b/docs/reference/gtk/Makefile.am
|
||||
@@ -12,7 +12,7 @@ DOC_MAIN_SGML_FILE=gtk-docs.sgml
|
||||
SCAN_OPTIONS=--deprecated-guards="GTK_ENABLE_BROKEN|GTK_DISABLE_DEPRECATED"
|
||||
|
||||
# The directory containing the source code. Relative to $(srcdir)
|
||||
-DOC_SOURCE_DIR=../../../gtk
|
||||
+DOC_SOURCE_DIR=$(top_srcdir)/gtk
|
||||
|
||||
# Used for dependencies
|
||||
HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||
diff --git a/docs/reference/libgail-util/Makefile.am b/docs/reference/libgail-util/Makefile.am
|
||||
index 3b52a0f..79bb551 100644
|
||||
--- a/docs/reference/libgail-util/Makefile.am
|
||||
+++ b/docs/reference/libgail-util/Makefile.am
|
||||
@@ -9,7 +9,7 @@ DOC_MODULE=gail-libgail-util3
|
||||
DOC_MAIN_SGML_FILE=gail-libgail-util-docs.sgml
|
||||
|
||||
# The directory containing the source code (if it contains documentation).
|
||||
-DOC_SOURCE_DIR=../../../libgail-util
|
||||
+DOC_SOURCE_DIR=$(top_srcdir)/libgail-util
|
||||
|
||||
# Used for dependencies
|
||||
HFILE_GLOB = $(top_srcdir)/libgail-util/*.h
|
||||
--
|
||||
1.7.7
|
||||
|
@ -1,75 +0,0 @@
|
||||
From: Simon McVittie <smcv@debian.org>
|
||||
Date: Mon, 6 Jun 2016 09:48:36 +0100
|
||||
Subject: Don't apply GDK_HINT_RESIZE_INC to GDK_WINDOW_STATE_TILED
|
||||
windows
|
||||
|
||||
This matches the behaviour of Mutter, Metacity and traditional X11
|
||||
window managers on the window manager side, and is what we want
|
||||
for at least gnome-terminal. I can't think of any reason why we'd
|
||||
want incremental resize in any other tiled window.
|
||||
|
||||
Signed-off-by: Simon McVittie <smcv@debian.org>
|
||||
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=755947
|
||||
Forwarded: yes
|
||||
---
|
||||
gdk/wayland/gdkwindow-wayland.c | 10 +++++-----
|
||||
gtk/gtkwindow.c | 4 ++--
|
||||
2 files changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
|
||||
index cd71c04..c705d8d 100644
|
||||
--- a/gdk/wayland/gdkwindow-wayland.c
|
||||
+++ b/gdk/wayland/gdkwindow-wayland.c
|
||||
@@ -1215,7 +1215,7 @@ xdg_surface_configure (void *data,
|
||||
GdkWindow *window = GDK_WINDOW (data);
|
||||
GdkWindowImplWayland *impl = GDK_WINDOW_IMPL_WAYLAND (window->impl);
|
||||
GdkWindowState new_state = 0;
|
||||
- gboolean maximized_or_fullscreen;
|
||||
+ gboolean fixed_size;
|
||||
uint32_t *p;
|
||||
|
||||
wl_array_for_each (p, states)
|
||||
@@ -1244,8 +1244,8 @@ xdg_surface_configure (void *data,
|
||||
}
|
||||
}
|
||||
|
||||
- maximized_or_fullscreen =
|
||||
- new_state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN);
|
||||
+ fixed_size =
|
||||
+ new_state & (GDK_WINDOW_STATE_MAXIMIZED | GDK_WINDOW_STATE_FULLSCREEN | GDK_WINDOW_STATE_TILED);
|
||||
|
||||
/* According to xdg_shell, an xdg_surface.configure with size 0x0
|
||||
* should be interpreted as that it is up to the client to set a
|
||||
@@ -1255,7 +1255,7 @@ xdg_surface_configure (void *data,
|
||||
* the client should configure its size back to what it was before
|
||||
* being maximize or fullscreen.
|
||||
*/
|
||||
- if (width == 0 && height == 0 && !maximized_or_fullscreen)
|
||||
+ if (width == 0 && height == 0 && !fixed_size)
|
||||
{
|
||||
width = impl->saved_width;
|
||||
height = impl->saved_height;
|
||||
@@ -1266,7 +1266,7 @@ xdg_surface_configure (void *data,
|
||||
GdkWindowHints geometry_mask = impl->geometry_mask;
|
||||
|
||||
/* Ignore size increments for maximized/fullscreen windows */
|
||||
- if (maximized_or_fullscreen)
|
||||
+ if (fixed_size)
|
||||
geometry_mask &= ~GDK_HINT_RESIZE_INC;
|
||||
|
||||
gdk_window_constrain_size (&impl->geometry_hints,
|
||||
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
|
||||
index b19a643..df1892a 100644
|
||||
--- a/gtk/gtkwindow.c
|
||||
+++ b/gtk/gtkwindow.c
|
||||
@@ -9939,8 +9939,8 @@ gtk_window_constrain_size (GtkWindow *window,
|
||||
GtkWindowPrivate *priv = window->priv;
|
||||
guint geometry_flags;
|
||||
|
||||
- /* ignore size increments for maximized/fullscreen windows */
|
||||
- if (priv->maximized || priv->fullscreen)
|
||||
+ /* ignore size increments for windows that fit in a fixed space */
|
||||
+ if (priv->maximized || priv->fullscreen || priv->tiled)
|
||||
geometry_flags = flags & ~GDK_HINT_RESIZE_INC;
|
||||
else
|
||||
geometry_flags = flags;
|
@ -1,63 +0,0 @@
|
||||
From 0a5d3f487947146a18d2a311c20806fd463794f4 Mon Sep 17 00:00:00 2001
|
||||
From: Olivier Fourdan <ofourdan@redhat.com>
|
||||
Date: Wed, 25 May 2016 15:07:51 +0200
|
||||
Subject: [PATCH] wayland: add extended state for tiled
|
||||
|
||||
xdg-shell allows desktop environments to extend the list of states
|
||||
within a given range.
|
||||
|
||||
Use this possibility to add a new state for tiled so that gtk+ can
|
||||
benefit from this.
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=766860
|
||||
---
|
||||
gdk/wayland/gdkwindow-wayland.c | 16 ++++++++++++++--
|
||||
1 file changed, 14 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
|
||||
index f05de06..cd71c04 100644
|
||||
--- a/gdk/wayland/gdkwindow-wayland.c
|
||||
+++ b/gdk/wayland/gdkwindow-wayland.c
|
||||
@@ -45,6 +45,13 @@ enum {
|
||||
|
||||
static guint signals[LAST_SIGNAL];
|
||||
|
||||
+/*
|
||||
+ * Define GNOME additional states to xdg-shell
|
||||
+ * The current reserved range for GNOME is 0x1000 - 0x1FFF
|
||||
+ */
|
||||
+
|
||||
+#define XDG_SURFACE_STATE_GNOME_TILED 0x1000
|
||||
+
|
||||
#define WINDOW_IS_TOPLEVEL_OR_FOREIGN(window) \
|
||||
(GDK_WINDOW_TYPE (window) != GDK_WINDOW_CHILD && \
|
||||
GDK_WINDOW_TYPE (window) != GDK_WINDOW_OFFSCREEN)
|
||||
@@ -1227,6 +1234,10 @@ xdg_surface_configure (void *data,
|
||||
break;
|
||||
case XDG_SURFACE_STATE_RESIZING:
|
||||
break;
|
||||
+ /* GNOME additional states to xdg-shell */
|
||||
+ case XDG_SURFACE_STATE_GNOME_TILED:
|
||||
+ new_state |= GDK_WINDOW_STATE_TILED;
|
||||
+ break;
|
||||
default:
|
||||
/* Unknown state */
|
||||
break;
|
||||
@@ -1272,11 +1283,12 @@ xdg_surface_configure (void *data,
|
||||
}
|
||||
|
||||
GDK_NOTE (EVENTS,
|
||||
- g_message ("configure, window %p %dx%d,%s%s%s",
|
||||
+ g_message ("configure, window %p %dx%d,%s%s%s%s",
|
||||
window, width, height,
|
||||
(new_state & GDK_WINDOW_STATE_FULLSCREEN) ? " fullscreen" : "",
|
||||
(new_state & GDK_WINDOW_STATE_MAXIMIZED) ? " maximized" : "",
|
||||
- (new_state & GDK_WINDOW_STATE_FOCUSED) ? " focused" : ""));
|
||||
+ (new_state & GDK_WINDOW_STATE_FOCUSED) ? " focused" : "",
|
||||
+ (new_state & GDK_WINDOW_STATE_TILED) ? " tiled" : ""));
|
||||
|
||||
_gdk_set_window_state (window, new_state);
|
||||
gdk_wayland_window_sync_margin (window);
|
||||
--
|
||||
2.8.1
|
||||
|
4
debian/settings.ini
vendored
4
debian/settings.ini
vendored
@ -1,4 +0,0 @@
|
||||
[Settings]
|
||||
gtk-theme-name = Adwaita
|
||||
gtk-fallback-icon-theme = gnome
|
||||
|
Loading…
Reference in New Issue
Block a user