From ae04b18175c5b37bfe8758f8ecec59f486586e7e Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Sun, 16 Jan 2011 20:19:16 +0100 Subject: update thunar-notrash Signed-off-by: Florian Pritz --- .../Ability_to_disable_trash_on_Thunar_1.2.0.patch | 178 +++++++++++++++++++++ thunar-notrash/PKGBUILD | 38 +++-- thunar-notrash/org.freedesktop.udisks.pkla | 7 + 3 files changed, 209 insertions(+), 14 deletions(-) create mode 100644 thunar-notrash/Ability_to_disable_trash_on_Thunar_1.2.0.patch create mode 100644 thunar-notrash/org.freedesktop.udisks.pkla diff --git a/thunar-notrash/Ability_to_disable_trash_on_Thunar_1.2.0.patch b/thunar-notrash/Ability_to_disable_trash_on_Thunar_1.2.0.patch new file mode 100644 index 0000000..9fce395 --- /dev/null +++ b/thunar-notrash/Ability_to_disable_trash_on_Thunar_1.2.0.patch @@ -0,0 +1,178 @@ +Only in src: Ability_to_disable_trash_on_Thunar_1.1.6.patch +Only in src2: Ability_to_disable_trash_on_Thunar.patch +diff -ru src/Thunar-1.1.6/thunar/thunar-application.c src2/Thunar-1.1.6/thunar/thunar-application.c +--- src/Thunar-1.1.6/thunar/thunar-application.c 2011-01-02 14:35:27.000000000 +0100 ++++ src2/Thunar-1.1.6/thunar/thunar-application.c 2011-01-06 16:42:52.000000000 +0100 +@@ -1639,10 +1639,14 @@ + gchar *message; + guint n_path_list = 0; + gint response; ++ gboolean isTrashEnabled; + + _thunar_return_if_fail (parent == NULL || GDK_IS_SCREEN (parent) || GTK_IS_WIDGET (parent)); + _thunar_return_if_fail (THUNAR_IS_APPLICATION (application)); + ++ g_object_get (G_OBJECT (application->preferences), "misc-enable-trash", &isTrashEnabled, NULL); ++ if (!isTrashEnabled) ++ permanently = TRUE; + if (!permanently) + { + /* check if we should permanently delete the files (user holds shift) */ +@@ -1669,8 +1673,8 @@ + if (G_UNLIKELY (permanently)) + { + /* parse the parent pointer */ +- screen = thunar_util_parse_parent (parent, &window); +- ++ screen = thunar_util_parse_parent (parent, &window); ++ + /* generate the question to confirm the delete operation */ + if (G_LIKELY (n_path_list == 1)) + { +Only in src2/Thunar-1.1.6/thunar: thunar-application.c.orig +Only in src2/Thunar-1.1.6/thunar: thunar-application.c.rej +Only in src2/Thunar-1.1.6/thunar: .thunar-application.c.un~ +diff -ru src/Thunar-1.1.6/thunar/thunar-preferences.c src2/Thunar-1.1.6/thunar/thunar-preferences.c +--- src/Thunar-1.1.6/thunar/thunar-preferences.c 2011-01-02 14:35:27.000000000 +0100 ++++ src2/Thunar-1.1.6/thunar/thunar-preferences.c 2011-01-06 16:29:57.000000000 +0100 +@@ -71,6 +71,7 @@ + PROP_MISC_VOLUME_MANAGEMENT, + PROP_MISC_CASE_SENSITIVE, + PROP_MISC_DATE_STYLE, ++ PROP_MISC_ENABLE_TRASH, + PROP_MISC_FOLDERS_FIRST, + PROP_MISC_HORIZONTAL_WHEEL_NAVIGATES, + PROP_MISC_RECURSIVE_PERMISSIONS, +@@ -642,6 +643,19 @@ + THUNAR_TYPE_ICON_SIZE, + THUNAR_ICON_SIZE_SMALLEST, + EXO_PARAM_READWRITE)); ++ ++ /** ++ * ThunarPreferences:misc-enable-trash: ++ * ++ * If trash is disabled, files will be deleted permanently ++ **/ ++ g_object_class_install_property (gobject_class, ++ PROP_MISC_ENABLE_TRASH, ++ g_param_spec_boolean ("misc-enable-trash", ++ "misc-enable-trash", ++ "misc-enable-trash", ++ TRUE, ++ EXO_PARAM_READWRITE)); + } + + +Only in src2/Thunar-1.1.6/thunar: thunar-preferences.c.orig +Only in src2/Thunar-1.1.6/thunar: .thunar-preferences.c.un~ +diff -ru src/Thunar-1.1.6/thunar/thunar-preferences-dialog.c src2/Thunar-1.1.6/thunar/thunar-preferences-dialog.c +--- src/Thunar-1.1.6/thunar/thunar-preferences-dialog.c 2011-01-02 14:35:27.000000000 +0100 ++++ src2/Thunar-1.1.6/thunar/thunar-preferences-dialog.c 2011-01-06 17:17:54.000000000 +0100 +@@ -374,7 +374,7 @@ + gtk_frame_set_label_widget (GTK_FRAME (frame), label); + gtk_widget_show (label); + +- table = gtk_table_new (2, 2, FALSE); ++ table = gtk_table_new (3, 2, FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table), 6); + gtk_table_set_col_spacings (GTK_TABLE (table), 12); + gtk_container_set_border_width (GTK_CONTAINER (table), 12); +@@ -526,7 +526,7 @@ + gtk_frame_set_label_widget (GTK_FRAME (frame), label); + gtk_widget_show (label); + +- table = gtk_table_new (2, 2, FALSE); ++ table = gtk_table_new (3, 2, FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table), 6); + gtk_table_set_col_spacings (GTK_TABLE (table), 12); + gtk_container_set_border_width (GTK_CONTAINER (table), 12); +@@ -553,12 +553,18 @@ + gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, TRUE, 0); + gtk_widget_show (frame); + ++ button = gtk_check_button_new_with_mnemonic (_("Move items to Trash on _deletion.")); ++ exo_mutual_binding_new (G_OBJECT (dialog->preferences), "misc-enable-trash", G_OBJECT (button), "active"); ++ thunar_gtk_widget_set_tooltip (button, _( "By default, items are sent to the Trash on deletion. By disabling this option, items will be removed on deletion and will be lost forever. (DANGEROUS)" ) ); ++ gtk_table_attach (GTK_TABLE (table), button, 0,1,2,3, GTK_EXPAND | GTK_FILL, GTK_FILL, 0, 0); ++ gtk_widget_show (button); ++ + label = gtk_label_new (_("Volume Management")); + gtk_label_set_attributes (GTK_LABEL (label), thunar_pango_attr_list_bold ()); + gtk_frame_set_label_widget (GTK_FRAME (frame), label); + gtk_widget_show (label); + +- table = gtk_table_new (2, 2, FALSE); ++ table = gtk_table_new (3, 2, FALSE); + gtk_table_set_row_spacings (GTK_TABLE (table), 6); + gtk_table_set_col_spacings (GTK_TABLE (table), 12); + gtk_container_set_border_width (GTK_CONTAINER (table), 12); +Only in src2/Thunar-1.1.6/thunar: thunar-preferences-dialog.c.orig +Only in src2/Thunar-1.1.6/thunar: thunar-preferences-dialog.c.rej +Only in src2/Thunar-1.1.6/thunar: .thunar-preferences-dialog.c.un~ +diff -ru src/Thunar-1.1.6/thunar/thunar-shortcuts-model.c src2/Thunar-1.1.6/thunar/thunar-shortcuts-model.c +--- src/Thunar-1.1.6/thunar/thunar-shortcuts-model.c 2011-01-02 14:35:27.000000000 +0100 ++++ src2/Thunar-1.1.6/thunar/thunar-shortcuts-model.c 2011-01-06 16:41:44.000000000 +0100 +@@ -38,6 +38,7 @@ + #include + #include + ++#include + #include + #include + #include +@@ -230,11 +231,14 @@ + GList *system_paths = NULL; + GList *volumes; + GList *lp; ++ gboolean isTrashEnabled; + + #ifndef NDEBUG + model->stamp = g_random_int (); + #endif + ++ g_object_get (G_OBJECT (thunar_preferences_get ()), "misc-enable-trash", &isTrashEnabled, NULL); ++ + /* connect to the volume monitor */ + model->volume_monitor = g_volume_monitor_get (); + g_signal_connect (model->volume_monitor, "volume-added", G_CALLBACK (thunar_shortcuts_model_volume_added), model); +@@ -253,7 +257,7 @@ + g_object_unref (desktop); + + /* append the trash icon if the trash is supported */ +- if (thunar_g_vfs_is_uri_scheme_supported ("trash")) ++ if (isTrashEnabled && thunar_g_vfs_is_uri_scheme_supported ("trash")) + system_paths = g_list_append (system_paths, thunar_g_file_new_for_trash ()); + + /* append the root file system */ +Only in src2/Thunar-1.1.6/thunar: thunar-shortcuts-model.c.orig +Only in src2/Thunar-1.1.6/thunar: thunar-shortcuts-model.c.rej +Only in src2/Thunar-1.1.6/thunar: .thunar-shortcuts-model.c.un~ +diff -ru src/Thunar-1.1.6/thunar/thunar-tree-model.c src2/Thunar-1.1.6/thunar/thunar-tree-model.c +--- src/Thunar-1.1.6/thunar/thunar-tree-model.c 2011-01-02 14:35:27.000000000 +0100 ++++ src2/Thunar-1.1.6/thunar/thunar-tree-model.c 2011-01-06 16:41:54.000000000 +0100 +@@ -282,12 +282,15 @@ + GList *volumes; + GList *lp; + GNode *node; ++ gboolean isTrashEnabled; + + /* generate a unique stamp if we're in debug mode */ + #ifndef NDEBUG + model->stamp = g_random_int (); + #endif + ++ g_object_get (G_OBJECT (thunar_preferences_get ()), "misc-enable-trash", &isTrashEnabled, NULL); ++ + /* initialize the model data */ + model->sort_case_sensitive = TRUE; + model->visible_func = (ThunarTreeModelVisibleFunc) exo_noop_true; +@@ -320,7 +323,7 @@ + g_object_unref (desktop); + + /* append the trash icon if the trash is supported */ +- if (thunar_g_vfs_is_uri_scheme_supported ("trash")) ++ if (isTrashEnabled && thunar_g_vfs_is_uri_scheme_supported ("trash")) + system_paths = g_list_append (system_paths, thunar_g_file_new_for_trash ()); + + /* append the root file system */ +Only in src2/Thunar-1.1.6/thunar: .thunar-tree-model.c.un~ diff --git a/thunar-notrash/PKGBUILD b/thunar-notrash/PKGBUILD index 2992f89..69e516f 100644 --- a/thunar-notrash/PKGBUILD +++ b/thunar-notrash/PKGBUILD @@ -1,29 +1,35 @@ # Maintainer: Florian Pritz -# Contributor:: tobias -# Contributor: Andrew Simmons + pkgname=thunar-notrash -pkgver=1.1.6 +pkgver=1.2.0 pkgrel=1 -pkgdesc="new modern file manager for Xfce with patch to disable trash" -arch=(i686 x86_64) +pkgdesc="modern file manager for Xfce with patch to disable trash" +arch=('i686' 'x86_64') license=('GPL2' 'LGPL2.1') url="http://thunar.xfce.org" groups=('xfce4') conflicts=(thunar) provides=("thunar=$pkgver") depends=('desktop-file-utils' 'libexif' 'hicolor-icon-theme' 'libnotify' 'udev' - 'gtk2' 'exo>=0.5.4' 'libxfce4util>=4.7.3' 'libxfce4ui' 'libpng') # 'fam' - obsolete? -makedepends=('intltool' 'gtk-doc' 'xfce4-panel>=4.7.4') -optdepends=( # 'gamin: a fam replacement to make thunar monitor changes to files on the fly' + 'gtk2' 'exo>=0.6.0' 'libxfce4util>=4.8.1' 'libxfce4ui' 'libpng') +makedepends=('intltool' 'gtk-doc' 'xfce4-panel>=4.8.0') +optdepends=('gvfs: for trash support, mounting with udisk and remote filesystems' 'xfce4-panel: for trash applet' - 'tumbler: for thumbnail previews') + 'tumbler: for thumbnail previews' + 'thunar-volman: manages removable devices' + 'thunar-archive-plugin: create and deflate archives' + 'thunar-media-tags-plugin: view/edit id3/ogg tags') options=('!libtool') install=thunar-notrash.install -source=(http://archive.xfce.org/src/xfce/thunar/1.1/Thunar-${pkgver}.tar.bz2 - Ability_to_disable_trash_on_Thunar_$pkgver.patch) -md5sums=('a96fdbc0b3d422f864d50374b5d6be41' - 'a2c1ccb1148667395bb3e1f27ba9d467') +backup=('etc/polkit-1/localauthority/50-local.d/org.freedesktop.udisks.pkla') +source=(http://archive.xfce.org/src/xfce/thunar/1.2/Thunar-${pkgver}.tar.bz2 + Ability_to_disable_trash_on_Thunar_$pkgver.patch + org.freedesktop.udisks.pkla) + +md5sums=('3f270cfbb83a057e6db46cdea549af8b' + 'a2c1ccb1148667395bb3e1f27ba9d467' + 'a7ddb5eec02d9a8e91a2997862e73cd8') build() { cd ${srcdir}/Thunar-${pkgver} @@ -43,7 +49,6 @@ build() { --enable-pcre \ --enable-gtk-doc \ --disable-debug - make } @@ -52,4 +57,9 @@ package() { make DESTDIR=${pkgdir} install sed -i 's:x-directory/gnome-default-handler;::' \ ${pkgdir}/usr/share/applications/Thunar-folder-handler.desktop + + # install udisks permission file + install -dm700 ${pkgdir}/etc/polkit-1/localauthority + install -dm755 ${pkgdir}/etc/polkit-1/localauthority/50-local.d + install -m644 ${srcdir}/org.freedesktop.udisks.pkla ${pkgdir}/etc/polkit-1/localauthority/50-local.d/ } diff --git a/thunar-notrash/org.freedesktop.udisks.pkla b/thunar-notrash/org.freedesktop.udisks.pkla new file mode 100644 index 0000000..5cc443b --- /dev/null +++ b/thunar-notrash/org.freedesktop.udisks.pkla @@ -0,0 +1,7 @@ +[Local Users] +#Identity=unix-user: your_username +Identity=unix-group:storage +Action=org.freedesktop.udisks.* +ResultAny=yes +ResultInactive=no +ResultActive=yes -- cgit v1.2.3-24-g4f1b