rpms/Thunar/devel thunar-0.9.0-xdg-userdir-compat.patch, NONE, 1.1 thunar-sendto-audacious-playlist.desktop, NONE, 1.1 thunar-sendto-bluetooth.desktop, NONE, 1.1 thunar-vfs-nozombies.patch, NONE, 1.1 .cvsignore, 1.5, 1.6 Thunar.spec, 1.14, 1.15 sources, 1.5, 1.6
Christoph Wickert
cwickert at fedoraproject.org
Tue Oct 28 10:05:08 UTC 2008
Author: cwickert
Update of /cvs/pkgs/rpms/Thunar/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv22935
Modified Files:
.cvsignore Thunar.spec sources
Added Files:
thunar-0.9.0-xdg-userdir-compat.patch
thunar-sendto-audacious-playlist.desktop
thunar-sendto-bluetooth.desktop thunar-vfs-nozombies.patch
Log Message:
* Mon Oct 27 2008 Christoph Wickert <cwickert at fedoraproject.org> - 0.9.3-1
- Update to 0.9.3
- Respect xdg user directory paths (#457740)
- Don't spawn zombies (bugzilla.xfce.org #2983)
- Add additional sendto helpers for bluethooth and audaciuos (#450784)
thunar-0.9.0-xdg-userdir-compat.patch:
--- NEW FILE thunar-0.9.0-xdg-userdir-compat.patch ---
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-file.c Thunar-0.9.0/thunar/thunar-file.c
--- Thunar-0.9.0.bak/thunar/thunar-file.c 2007-12-02 14:46:32.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-file.c 2008-08-29 23:33:36.000000000 +0200
@@ -1620,6 +1620,45 @@ thunar_file_set_custom_icon (ThunarFile
return TRUE;
}
+/**
+ * thunar_file_is_desktop:
+ * @file : a #ThunarFile.
+ *
+ * Checks whether @file refers to the users desktop directory.
+ *
+ * Return value: %TRUE if @file is the users desktop directory.
+ **/
+gboolean thunar_file_is_desktop (const ThunarFile *file)
+{
+ gchar *file_path = thunar_vfs_path_dup_string(thunar_file_get_path(file));
+ gchar *desktop_dir = NULL;
+ gboolean was_user_desktop_dir_found = TRUE;
+ gboolean result;
+ ThunarVfsPath *home = NULL;
+ ThunarVfsPath *desktop_vfs = NULL;
+
+ desktop_dir = (gchar *)g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
+ if (G_UNLIKELY(desktop_dir == NULL)) {
+ home = thunar_vfs_path_get_for_home ();
+ desktop_vfs = thunar_vfs_path_relative (home, "Desktop");
+ desktop_dir = (gchar *)thunar_vfs_path_get_name(desktop_vfs);
+ was_user_desktop_dir_found = FALSE;
+ }
+
+ if ((desktop_dir != NULL) && (!g_strcmp0(file_path, desktop_dir)))
+ result = TRUE;
+ else
+ result = FALSE;
+
+ if (G_UNLIKELY(was_user_desktop_dir_found == FALSE)) {
+ g_free(desktop_dir);
+ thunar_vfs_path_unref(desktop_vfs);
+ thunar_vfs_path_unref(home);
+ }
+ g_free(file_path);
+
+ return result;
+}
/**
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-file.h Thunar-0.9.0/thunar/thunar-file.h
--- Thunar-0.9.0.bak/thunar/thunar-file.h 2007-12-02 14:46:32.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-file.h 2008-08-29 23:12:54.000000000 +0200
@@ -24,6 +24,8 @@
#include <thunar/thunar-metafile.h>
#include <thunarx/thunarx.h>
+#include <glib.h>
+
G_BEGIN_DECLS;
typedef struct _ThunarFileClass ThunarFileClass;
@@ -202,6 +204,8 @@ ThunarFile *thunar_file_cache_look
GList *thunar_file_list_get_applications (GList *file_list);
GList *thunar_file_list_to_path_list (GList *file_list);
+gboolean thunar_file_is_desktop (const ThunarFile *file);
+
/**
* thunar_file_has_parent:
@@ -450,18 +454,6 @@ G_STMT_START{
#define thunar_file_is_home(file) (thunar_vfs_path_is_home (THUNAR_FILE ((file))->info->path))
/**
- * thunar_file_is_desktop:
- * @file : a #ThunarFile.
- *
- * Checks whether @file refers to the users desktop directory.
- *
- * Return value: %TRUE if @file is the users desktop directory.
- **/
-#define thunar_file_is_desktop(file) (!thunar_vfs_path_is_root (thunar_file_get_path (file)) \
- && thunar_vfs_path_is_home (thunar_vfs_path_get_parent (thunar_file_get_path (file))) \
- && exo_str_is_equal (thunar_file_get_display_name (file), "Desktop"))
-
-/**
* thunar_file_is_regular:
* @file : a #ThunarFile.
*
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-launcher.c Thunar-0.9.0/thunar/thunar-launcher.c
--- Thunar-0.9.0.bak/thunar/thunar-launcher.c 2007-12-02 14:46:32.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-launcher.c 2008-08-29 23:48:29.000000000 +0200
@@ -1169,6 +1169,9 @@ thunar_launcher_action_sendto_desktop (G
ThunarVfsPath *desktop_path;
ThunarVfsPath *home_path;
GList *paths;
+ GError *error = NULL;
+ const gchar *str_desktop_path = NULL;
+ gboolean was_user_desktop_found = TRUE;
_thunar_return_if_fail (GTK_IS_ACTION (action));
_thunar_return_if_fail (THUNAR_IS_LAUNCHER (launcher));
@@ -1180,7 +1183,20 @@ thunar_launcher_action_sendto_desktop (G
/* determine the path to the ~/Desktop folder */
home_path = thunar_vfs_path_get_for_home ();
- desktop_path = thunar_vfs_path_relative (home_path, "Desktop");
+
+ str_desktop_path = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
+ if (G_UNLIKELY (str_desktop_path == NULL)) {
+ was_user_desktop_found = FALSE;
+ desktop_path = thunar_vfs_path_relative (home_path, "Desktop");
+ } else {
+ /* let's copy this string because it must not be freed (owned by glib) */
+ desktop_path = thunar_vfs_path_new(
+ str_desktop_path,
+ &error);
+ if (G_UNLIKELY (error != NULL))
+ desktop_path = thunar_vfs_path_relative (home_path, "Desktop");
+ }
+
thunar_vfs_path_unref (home_path);
/* launch the link job */
@@ -1191,6 +1207,10 @@ thunar_launcher_action_sendto_desktop (G
/* cleanup */
thunar_vfs_path_unref (desktop_path);
thunar_vfs_path_list_free (paths);
+ if (G_UNLIKELY(was_user_desktop_found == FALSE))
+ g_free(str_desktop_path);
+ if (G_UNLIKELY(error != NULL))
+ g_error_free(error);
}
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-shortcuts-model.c Thunar-0.9.0/thunar/thunar-shortcuts-model.c
--- Thunar-0.9.0.bak/thunar/thunar-shortcuts-model.c 2007-12-02 14:46:32.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-shortcuts-model.c 2008-08-29 23:51:21.000000000 +0200
@@ -33,6 +33,8 @@
#include <thunar/thunar-shortcuts-model.h>
#include <thunar/thunar-private.h>
+#include <glib.h>
+
#define THUNAR_SHORTCUT(obj) ((ThunarShortcut *) (obj))
@@ -264,6 +266,10 @@ thunar_shortcuts_model_init (ThunarShort
GList *lp;
guint n;
+ GError *error = NULL;
+ gboolean was_user_desktop_found = TRUE;
+ const gchar *desktop_path = g_get_user_special_dir (G_USER_DIRECTORY_DESKTOP);
+
#ifndef NDEBUG
model->stamp = g_random_int ();
#endif
@@ -276,7 +282,15 @@ thunar_shortcuts_model_init (ThunarShort
/* determine the system-defined paths */
system_path_list[0] = thunar_vfs_path_get_for_home ();
system_path_list[1] = thunar_vfs_path_get_for_trash ();
- system_path_list[2] = thunar_vfs_path_relative (system_path_list[0], "Desktop");
+
+ if (G_UNLIKELY (desktop_path == NULL)) {
+ was_user_desktop_found = FALSE;
+ system_path_list[2] = thunar_vfs_path_relative (system_path_list[0], "Desktop");
+ } else {
+ system_path_list[2] = thunar_vfs_path_new(desktop_path, &error);
+ if (G_UNLIKELY (error != NULL))
+ system_path_list[2] = thunar_vfs_path_relative (system_path_list[0], "Desktop");
+ }
system_path_list[3] = thunar_vfs_path_get_for_root ();
/* will be used to append the shortcuts to the list */
@@ -357,6 +371,10 @@ thunar_shortcuts_model_init (ThunarShort
/* cleanup */
thunar_vfs_path_unref (fpath);
gtk_tree_path_free (path);
+ if (G_UNLIKELY(error != NULL))
+ g_error_free(error);
+ if (G_UNLIKELY(was_user_desktop_found == FALSE))
+ g_free(desktop_path);
}
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-stock.h Thunar-0.9.0/thunar/thunar-stock.h
--- Thunar-0.9.0.bak/thunar/thunar-stock.h 2007-12-02 14:46:33.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-stock.h 2008-08-29 23:12:54.000000000 +0200
@@ -28,6 +28,7 @@ G_BEGIN_DECLS;
#define THUNAR_STOCK_TEMPLATES "thunar-templates" /* see ThunarWindow */
#define THUNAR_STOCK_TRASH_EMPTY "thunar-trash-empty" /* see ThunarTrashAction */
#define THUNAR_STOCK_TRASH_FULL "thunar-trash-full" /* see ThunarTrashAction */
+#define THUNAR_STOCK_DIRECTORY "gnome-fs-directory"
void thunar_stock_init (void) G_GNUC_INTERNAL;
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-templates-action.c Thunar-0.9.0/thunar/thunar-templates-action.c
--- Thunar-0.9.0.bak/thunar/thunar-templates-action.c 2007-12-02 14:46:33.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-templates-action.c 2008-08-29 23:59:30.000000000 +0200
@@ -352,6 +352,9 @@ thunar_templates_action_menu_shown (GtkW
GtkWidget *image;
GtkWidget *item;
GList *children;
+ GError *error = NULL;
+ gboolean was_user_templates_dir_found = TRUE;
+ const gchar *templates_dir=g_get_user_special_dir(G_USER_DIRECTORY_TEMPLATES);
_thunar_return_if_fail (THUNAR_IS_TEMPLATES_ACTION (templates_action));
_thunar_return_if_fail (GTK_IS_MENU_SHELL (menu));
@@ -363,7 +366,19 @@ thunar_templates_action_menu_shown (GtkW
/* determine the path to the ~/Templates folder */
home_path = thunar_vfs_path_get_for_home ();
- templates_path = thunar_vfs_path_relative (home_path, "Templates");
+
+ if (G_UNLIKELY (templates_dir == NULL)) {
+ was_user_templates_dir_found = FALSE;
+ templates_path = thunar_vfs_path_relative (home_path, "Templates");
+ } else {
+ templates_path = thunar_vfs_path_new(
+ templates_dir,
+ &error);
+
+ if (G_UNLIKELY (error != NULL))
+ templates_path = thunar_vfs_path_relative (home_path, "Templates");
+ }
+
thunar_vfs_path_unref (home_path);
/* fill the menu with files/folders from the ~/Templates folder */
@@ -397,6 +412,10 @@ thunar_templates_action_menu_shown (GtkW
/* cleanup */
thunar_vfs_path_unref (templates_path);
+ if (G_UNLIKELY(was_user_templates_dir_found == FALSE))
+ g_free(templates_dir);
+ if (G_UNLIKELY(error != NULL))
+ g_error_free(error);
}
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-window.c Thunar-0.9.0/thunar/thunar-window.c
--- Thunar-0.9.0.bak/thunar/thunar-window.c 2007-12-02 14:46:33.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-window.c 2008-08-30 00:27:38.000000000 +0200
@@ -54,6 +54,8 @@
#include <thunar/thunar-window.h>
#include <thunar/thunar-window-ui.h>
+#include <glib.h>
+
/* Property identifiers */
@@ -146,8 +148,22 @@ static void thunar_window_action_go_
ThunarWindow *window);
static void thunar_window_action_open_home (GtkAction *action,
ThunarWindow *window);
+static void thunar_window_action_open_desktop (GtkAction *action,
+ ThunarWindow *window);
+static void thunar_window_action_open_documents (GtkAction *action,
+ ThunarWindow *window);
+static void thunar_window_action_open_downloads (GtkAction *action,
+ ThunarWindow *window);
+static void thunar_window_action_open_music (GtkAction *action,
+ ThunarWindow *window);
+static void thunar_window_action_open_pictures (GtkAction *action,
+ ThunarWindow *window);
+static void thunar_window_action_open_public (GtkAction *action,
+ ThunarWindow *window);
static void thunar_window_action_open_templates (GtkAction *action,
ThunarWindow *window);
+static void thunar_window_action_open_videos (GtkAction *action,
+ ThunarWindow *window);
static void thunar_window_action_open_trash (GtkAction *action,
ThunarWindow *window);
static void thunar_window_action_open_location (GtkAction *action,
@@ -281,7 +297,14 @@ static const GtkActionEntry action_entri
{ "go-menu", NULL, N_ ("_Go"), NULL, },
{ "open-parent", GTK_STOCK_GO_UP, N_ ("Open _Parent"), "<alt>Up", N_ ("Open the parent folder"), G_CALLBACK (thunar_window_action_go_up), },
{ "open-home", THUNAR_STOCK_HOME, N_ ("_Home"), "<alt>Home", N_ ("Go to the home folder"), G_CALLBACK (thunar_window_action_open_home), },
+ { "open-desktop", THUNAR_STOCK_DESKTOP, N_ ("_Desktop"), NULL, N_ ("Go to the desktop folder"), G_CALLBACK (thunar_window_action_open_desktop), },
+ { "open-documents", THUNAR_STOCK_DIRECTORY, N_ ("Do_cuments"), NULL, N_ ("Go to the documents folder"), G_CALLBACK (thunar_window_action_open_documents), },
+ { "open-downloads", THUNAR_STOCK_DIRECTORY, N_ ("Do_wnloads"), NULL, N_ ("Go to the downloads folder"), G_CALLBACK (thunar_window_action_open_downloads), },
+ { "open-music", THUNAR_STOCK_DIRECTORY, N_ ("_Music"), NULL, N_ ("Go to the music folder"), G_CALLBACK (thunar_window_action_open_music), },
+ { "open-pictures", THUNAR_STOCK_DIRECTORY, N_ ("_Pictures"), NULL, N_ ("Go to the pictures folder"), G_CALLBACK (thunar_window_action_open_pictures), },
+ { "open-public", THUNAR_STOCK_DIRECTORY, N_ ("Pu_blic"), NULL, N_ ("Go to the public folder"), G_CALLBACK (thunar_window_action_open_public), },
{ "open-templates", THUNAR_STOCK_TEMPLATES, N_ ("T_emplates"), NULL, N_ ("Go to the templates folder"), G_CALLBACK (thunar_window_action_open_templates), },
+ { "open-videos", THUNAR_STOCK_DIRECTORY, N_ ("_Videos"), NULL, N_ ("Go to the videos folder"), G_CALLBACK (thunar_window_action_open_videos), },
{ "open-location", NULL, N_ ("_Open Location..."), "<control>L", N_ ("Specify a location to open"), G_CALLBACK (thunar_window_action_open_location), },
{ "help-menu", NULL, N_ ("_Help"), NULL, },
{ "contents", GTK_STOCK_HELP, N_ ("_Contents"), "F1", N_ ("Display Thunar user manual"), G_CALLBACK (thunar_window_action_contents), },
@@ -1788,7 +1811,373 @@ thunar_window_action_open_home (GtkActio
thunar_vfs_path_unref (home_path);
}
+static void
+thunar_window_action_open_desktop (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *desktop_path;
+ ThunarFile *desktop_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ const gchar *desktop_dir = g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP);
+ gboolean was_user_desktop_dir_found = TRUE;
+
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Desktop folder */
+ home_path = thunar_vfs_path_get_for_home ();
+ if (G_UNLIKELY (desktop_dir == NULL)) {
+ was_user_desktop_dir_found = FALSE;
+ desktop_path = thunar_vfs_path_relative (home_path, "Desktop");
+ } else {
+ desktop_path = thunar_vfs_path_new(desktop_dir,&error);
+
+ if (G_UNLIKELY (error != NULL))
+ desktop_path = thunar_vfs_path_relative (home_path, "Desktop");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Desktop folder exists */
+ absolute_path = thunar_vfs_path_dup_string (desktop_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Desktop path */
+ if (G_LIKELY (error == NULL))
+ desktop_file = thunar_file_get_for_path (desktop_path, &error);
+
+ /* open the ~/Desktop folder */
+ if (G_LIKELY (desktop_file != NULL))
+ {
+ /* go to the ~/Desktop folder */
+ thunar_window_set_current_directory (window, desktop_file);
+ g_object_unref (G_OBJECT (desktop_file));
+
+ }
+
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the desktop folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Desktop path */
+ thunar_vfs_path_unref (desktop_path);
+
+ if (G_UNLIKELY(was_user_desktop_dir_found == FALSE))
+ g_free(desktop_dir);
+}
+
+
+static void
+thunar_window_action_open_documents (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *documents_path;
+ ThunarFile *documents_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ const gchar *documents_dir=g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS);
+ gboolean was_user_documents_dir_found = TRUE;
+
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Documents folder */
+ home_path = thunar_vfs_path_get_for_home ();
+ if (G_UNLIKELY (documents_dir == NULL)) {
+ was_user_documents_dir_found = FALSE;
+ documents_path = thunar_vfs_path_relative (home_path, "Documents");
+ } else {
+ documents_path = thunar_vfs_path_new(documents_dir, &error);
+
+ if (G_UNLIKELY (error != NULL))
+ documents_path = thunar_vfs_path_relative (home_path, "Documents");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Documents folder exists */
+ absolute_path = thunar_vfs_path_dup_string (documents_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Documents path */
+ if (G_LIKELY (error == NULL))
+ documents_file = thunar_file_get_for_path (documents_path, &error);
+
+ /* open the ~/Documents folder */
+ if (G_LIKELY (documents_file != NULL))
+ {
+ /* go to the ~/Documents folder */
+ thunar_window_set_current_directory (window, documents_file);
+ g_object_unref (G_OBJECT (documents_file));
+
+ }
+
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the documents folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Documents path */
+ thunar_vfs_path_unref (documents_path);
+
+ if (G_UNLIKELY(was_user_documents_dir_found == FALSE))
+ g_free(documents_dir);
+}
+
+
+static void
+thunar_window_action_open_downloads (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *downloads_path;
+ ThunarFile *downloads_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ const gchar *download_dir=g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD);
+ gboolean was_user_download_dir_found = TRUE;
+
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Downloads folder */
+ home_path = thunar_vfs_path_get_for_home ();
+ if (G_UNLIKELY (download_dir == NULL)) {
+ was_user_download_dir_found = FALSE;
+ downloads_path = thunar_vfs_path_relative (home_path, "Downloads");
+ } else {
+ downloads_path = thunar_vfs_path_new(download_dir, &error);
+
+ if (G_UNLIKELY (error != NULL))
+ downloads_path = thunar_vfs_path_relative (home_path, "Downloads");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Downloads folder exists */
+ absolute_path = thunar_vfs_path_dup_string (downloads_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Downloads path */
+ if (G_LIKELY (error == NULL))
+ downloads_file = thunar_file_get_for_path (downloads_path, &error);
+
+ /* open the ~/Downloads folder */
+ if (G_LIKELY (downloads_file != NULL))
+ {
+ /* go to the ~/Downloads folder */
+ thunar_window_set_current_directory (window, downloads_file);
+ g_object_unref (G_OBJECT (downloads_file));
+
+ }
+
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the downloads folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Download path */
+ thunar_vfs_path_unref (downloads_path);
+
+ if (G_UNLIKELY(was_user_download_dir_found == FALSE))
+ g_free(download_dir);
+}
+
+static void
+thunar_window_action_open_music (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *music_path;
+ ThunarFile *music_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ gboolean was_user_music_dir_found = TRUE;
+ const gchar *music_dir=g_get_user_special_dir(G_USER_DIRECTORY_MUSIC);
+
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Music folder */
+ home_path = thunar_vfs_path_get_for_home ();
+ if (G_UNLIKELY (music_dir == NULL)) {
+ was_user_music_dir_found = FALSE;
+ music_path = thunar_vfs_path_relative (home_path, "Music");
+ } else {
+ music_path = thunar_vfs_path_new(music_dir, &error);
+
+ if (G_UNLIKELY (error != NULL))
+ music_path = thunar_vfs_path_relative (home_path, "Music");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Music folder exists */
+ absolute_path = thunar_vfs_path_dup_string (music_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Music path */
+ if (G_LIKELY (error == NULL))
+ music_file = thunar_file_get_for_path (music_path, &error);
+
+ /* open the ~/Music folder */
+ if (G_LIKELY (music_file != NULL))
+ {
+ /* go to the ~/Music folder */
+ thunar_window_set_current_directory (window, music_file);
+ g_object_unref (G_OBJECT (music_file));
+
+ }
+
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the music folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Music path */
+ thunar_vfs_path_unref (music_path);
+
+ if (G_UNLIKELY(was_user_music_dir_found == FALSE))
+ g_free(music_dir);
+}
+
+static void
+thunar_window_action_open_pictures (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *pictures_path;
+ ThunarFile *pictures_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ gboolean was_user_picture_dir_found = TRUE;
+ const gchar *picture_dir=g_get_user_special_dir(G_USER_DIRECTORY_PICTURES);
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Pictures folder */
+ home_path = thunar_vfs_path_get_for_home ();
+ if (G_UNLIKELY (picture_dir == NULL)) {
+ was_user_picture_dir_found = FALSE;
+ pictures_path = thunar_vfs_path_relative (home_path, "Pictures");
+ } else {
+ pictures_path = thunar_vfs_path_new(picture_dir, &error);
+
+ if (G_UNLIKELY (error != NULL))
+ pictures_path = thunar_vfs_path_relative (home_path, "Pictures");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Pictures folder exists */
+ absolute_path = thunar_vfs_path_dup_string (pictures_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Pictures path */
+ if (G_LIKELY (error == NULL))
+ pictures_file = thunar_file_get_for_path (pictures_path, &error);
+
+ /* open the ~/Pictures folder */
+ if (G_LIKELY (pictures_file != NULL))
+ {
+ /* go to the ~/Pictures folder */
+ thunar_window_set_current_directory (window, pictures_file);
+ g_object_unref (G_OBJECT (pictures_file));
+
+ }
+
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the pictures folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Pictures path */
+ thunar_vfs_path_unref (pictures_path);
+
+ if (G_UNLIKELY(was_user_picture_dir_found == FALSE))
+ g_free(picture_dir);
+}
+
+static void
+thunar_window_action_open_public (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *public_path;
+ ThunarFile *public_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ gboolean was_user_public_dir_found = TRUE;
+ const gchar *public_dir=g_get_user_special_dir(G_USER_DIRECTORY_PUBLIC_SHARE);
+
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Public folder */
+ home_path = thunar_vfs_path_get_for_home ();
+ if (G_UNLIKELY (public_dir == NULL)) {
+ was_user_public_dir_found = FALSE;
+ public_path = thunar_vfs_path_relative (home_path, "Public");
+ } else {
+ public_path = thunar_vfs_path_new(public_dir, &error);
+
+ if (G_LIKELY (error != NULL))
+ public_path = thunar_vfs_path_relative (home_path, "Public");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Public folder exists */
+ absolute_path = thunar_vfs_path_dup_string (public_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Public path */
+ if (G_LIKELY (error == NULL))
+ public_file = thunar_file_get_for_path (public_path, &error);
+
+ /* open the ~/Public folder */
+ if (G_LIKELY (public_file != NULL))
+ {
+ /* go to the ~/Public folder */
+ thunar_window_set_current_directory (window, public_file);
+ g_object_unref (G_OBJECT (public_file));
+
+ }
+
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the public folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Public path */
+ thunar_vfs_path_unref (public_path);
+
+ if (G_UNLIKELY(was_user_public_dir_found == FALSE))
+ g_free(public_dir);
+}
static void
thunar_window_action_open_templates (GtkAction *action,
@@ -1806,13 +2195,25 @@ thunar_window_action_open_templates (Gtk
gboolean show_about_templates;
GError *error = NULL;
gchar *absolute_path;
+ gboolean was_user_templates_dir_found = TRUE;
+ const gchar *templates_dir=g_get_user_special_dir(G_USER_DIRECTORY_TEMPLATES);
_thunar_return_if_fail (GTK_IS_ACTION (action));
_thunar_return_if_fail (THUNAR_IS_WINDOW (window));
/* determine the path to the ~/Templates folder */
home_path = thunar_vfs_path_get_for_home ();
- templates_path = thunar_vfs_path_relative (home_path, "Templates");
+
+ if (G_UNLIKELY (templates_dir == NULL)) {
+ was_user_templates_dir_found = FALSE;
+ templates_path = thunar_vfs_path_relative (home_path, "Templates");
+ } else {
+ templates_path = thunar_vfs_path_new(templates_dir, &error);
+
+ if (G_UNLIKELY (error != NULL))
+ templates_path = thunar_vfs_path_relative (home_path, "Templates");
+ }
+
thunar_vfs_path_unref (home_path);
/* make sure that the ~/Templates folder exists */
@@ -1895,9 +2296,72 @@ thunar_window_action_open_templates (Gtk
/* release our reference on the ~/Templates path */
thunar_vfs_path_unref (templates_path);
+
+ if (G_UNLIKELY(was_user_templates_dir_found == FALSE))
+ g_free(templates_dir);
}
+static void
+thunar_window_action_open_videos (GtkAction *action,
+ ThunarWindow *window)
+{
+ ThunarVfsPath *home_path;
+ ThunarVfsPath *videos_path;
+ ThunarFile *videos_file = NULL;
+ GError *error = NULL;
+ gchar *absolute_path;
+ gboolean was_user_video_dir_found = TRUE;
+ const gchar *video_dir=g_get_user_special_dir(G_USER_DIRECTORY_VIDEOS);
+
+ _thunar_return_if_fail (GTK_IS_ACTION (action));
+ _thunar_return_if_fail (THUNAR_IS_WINDOW (window));
+
+ /* determine the path to the ~/Videos folder */
+ home_path = thunar_vfs_path_get_for_home ();
+
+ if (G_UNLIKELY (video_dir == NULL)) {
+ was_user_video_dir_found = FALSE;
+ videos_path = thunar_vfs_path_relative (home_path, "Videos");
+ } else {
+ videos_path = thunar_vfs_path_new(video_dir, &error);
+
+ if (G_LIKELY (error != NULL))
+ videos_path = thunar_vfs_path_relative (home_path, "Videos");
+ }
+
+ thunar_vfs_path_unref (home_path);
+
+ /* make sure that the ~/Videos folder exists */
+ absolute_path = thunar_vfs_path_dup_string (videos_path);
+ xfce_mkdirhier (absolute_path, 0755, &error);
+ g_free (absolute_path);
+
+ /* determine the file for the ~/Videos path */
+ if (G_LIKELY (error == NULL))
+ videos_file = thunar_file_get_for_path (videos_path, &error);
+
+ /* open the ~/Videos folder */
+ if (G_LIKELY (videos_file != NULL))
+ {
+ /* go to the ~/Videos folder */
+ thunar_window_set_current_directory (window, videos_file);
+ g_object_unref (G_OBJECT (videos_file));
+
+ }
+ /* display an error dialog if something went wrong */
+ if (G_UNLIKELY (error != NULL))
+ {
+ thunar_dialogs_show_error (GTK_WIDGET (window), error, _("Failed to open the videos folder"));
+ g_error_free (error);
+ }
+
+ /* release our reference on the ~/Videos path */
+ thunar_vfs_path_unref (videos_path);
+
+ if (G_UNLIKELY(was_user_video_dir_found == FALSE))
+ g_free(video_dir);
+}
static void
thunar_window_action_open_trash (GtkAction *action,
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-window-ui.h Thunar-0.9.0/thunar/thunar-window-ui.h
--- Thunar-0.9.0.bak/thunar/thunar-window-ui.h 2007-12-02 14:48:11.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-window-ui.h 2008-08-29 23:12:54.000000000 +0200
@@ -1,4 +1,4 @@
-/* automatically generated from ./thunar-window-ui.xml */
+/* automatically generated from thunar-window-ui.xml */
#ifdef __SUNPRO_C
#pragma align 4 (thunar_window_ui)
#endif
@@ -8,47 +8,66 @@ static const char thunar_window_ui[] __a
static const char thunar_window_ui[] =
#endif
{
- "<ui><menubar name=\"main-menu\"><menu action=\"file-menu\"><menuitem ac"
- "tion=\"open-new-window\" /><placeholder name=\"placeholder-create-actio"
- "ns\" /><separator /><placeholder name=\"placeholder-launcher\" /><separ"
- "ator /><menu action=\"sendto-menu\"><placeholder name=\"placeholder-sen"
- "dto-sidepane\" /><placeholder name=\"placeholder-sendto-actions\" /></m"
- "enu><separator /><placeholder name=\"placeholder-file-properties\" /><s"
- "eparator /><menuitem action=\"empty-trash\" /><separator /><menuitem ac"
- "tion=\"close-all-windows\" /><menuitem action=\"close\" /></menu><menu "
- "action=\"edit-menu\"><placeholder name=\"placeholder-edit-clipboard-act"
- "ions\" /><separator /><placeholder name=\"placeholder-edit-select-actio"
- "ns\" /><separator /><placeholder name=\"placeholder-edit-alter-actions\""
- " /><separator /><placeholder name=\"placeholder-custom-preferences\" />"
- "<menuitem action=\"preferences\" /></menu><menu action=\"view-menu\"><m"
- "enuitem action=\"reload\" /><separator /><menu action=\"view-location-s"
- "elector-menu\"><menuitem action=\"view-location-selector-pathbar\" /><m"
- "enuitem action=\"view-location-selector-toolbar\" /></menu><menu action"
- "=\"view-side-pane-menu\"><menuitem action=\"view-side-pane-shortcuts\" "
- "/><menuitem action=\"view-side-pane-tree\" /></menu><menuitem action=\""
- "view-statusbar\" /><separator /><menuitem action=\"show-hidden\" /><sep"
- "arator /><placeholder name=\"placeholder-view-items-actions\" /><separa"
- "tor /><menuitem action=\"zoom-in\" /><menuitem action=\"zoom-out\" /><m"
- "enuitem action=\"zoom-reset\" /><separator /><menuitem action=\"view-as"
- "-icons\" /><menuitem action=\"view-as-detailed-list\" /><menuitem actio"
- "n=\"view-as-compact-list\" /></menu><menu action=\"go-menu\"><menuitem "
- "action=\"open-parent\" /><menuitem action=\"back\" /><menuitem action=\""
- "forward\" /><separator /><menuitem action=\"open-home\" /><menuitem act"
- "ion=\"open-trash\" /><menuitem action=\"open-templates\" /><menuitem ac"
- "tion=\"open-location\" /></menu><menu action=\"help-menu\"><menuitem ac"
- "tion=\"contents\" /><menuitem action=\"about\" /></menu></menubar><popu"
- "p action=\"file-context-menu\"><placeholder name=\"placeholder-launcher"
- "\" /><separator /><menu action=\"sendto-menu\"><placeholder name=\"plac"
- "eholder-sendto-sidepane\" /><placeholder name=\"placeholder-sendto-acti"
- "ons\" /></menu><separator /><placeholder name=\"placeholder-clipboard-a"
- "ctions\" /><separator /><placeholder name=\"placeholder-edit-actions\" "
- "/><separator /><placeholder name=\"placeholder-custom-actions\" /><sepa"
- "rator /><placeholder name=\"placeholder-file-actions\" /></popup><toolb"
- "ar name=\"location-toolbar\"><toolitem action=\"back\" /><toolitem acti"
- "on=\"forward\" /><toolitem action=\"open-parent\" /><toolitem action=\""
- "reload\" /><separator /><toolitem action=\"open-home\" /></toolbar></ui"
- ">"
+ "<ui>\n\n <!--\n $Id: thunar-window-ui.xml 26421 2007-12-02 13:46:28"
+ "Z benny $\n\n Copyright (c) 2005-2006 Benedikt Meurer <benny at xfce.or"
+ "g>\n\n Thunar main window user interface description file. Do NOT\n "
+ " simply edit this file if you don\'t know how the whole system\n w"
+ "orks, because it\'s too easy to break something.\n -->\n\n <menubar n"
+ "ame=\"main-menu\">\n <menu action=\"file-menu\">\n <menuitem ac"
+ "tion=\"open-new-window\" />\n <placeholder name=\"placeholder-crea"
+ "te-actions\" />\n <separator />\n <placeholder name=\"placeho"
+ "lder-launcher\" />\n <separator />\n <menu action=\"sendto-me"
+ "nu\">\n <placeholder name=\"placeholder-sendto-sidepane\" />\n "
+ " <placeholder name=\"placeholder-sendto-actions\" />\n </menu"
+ ">\n <separator />\n <placeholder name=\"placeholder-file-prop"
+ "erties\" />\n <separator />\n <menuitem action=\"empty-trash\""
+ " />\n <separator />\n <menuitem action=\"close-all-windows\" "
+ "/>\n <menuitem action=\"close\" />\n </menu>\n\n <menu actio"
+ "n=\"edit-menu\">\n <placeholder name=\"placeholder-edit-clipboard-"
+ "actions\" />\n <separator />\n <placeholder name=\"placeholde"
+ "r-edit-select-actions\" />\n <separator />\n <placeholder nam"
+ "e=\"placeholder-edit-alter-actions\" />\n <separator />\n <pl"
+ "aceholder name=\"placeholder-custom-preferences\" />\n <menuitem a"
+ "ction=\"preferences\" />\n </menu>\n\n <menu action=\"view-menu\""
+ ">\n <menuitem action=\"reload\" />\n <separator />\n <me"
+ "nu action=\"view-location-selector-menu\">\n <menuitem action=\""
+ "view-location-selector-pathbar\" />\n <menuitem action=\"view-lo"
+ "cation-selector-toolbar\" />\n </menu>\n <menu action=\"view-"
+ "side-pane-menu\">\n <menuitem action=\"view-side-pane-shortcuts\""
+ " />\n <menuitem action=\"view-side-pane-tree\" />\n </menu>"
+ "\n <menuitem action=\"view-statusbar\" />\n <separator />\n "
+ " <menuitem action=\"show-hidden\" />\n <separator />\n <pl"
+ "aceholder name=\"placeholder-view-items-actions\" />\n <separator "
+ "/>\n <menuitem action=\"zoom-in\" />\n <menuitem action=\"zoo"
+ "m-out\" />\n <menuitem action=\"zoom-reset\" />\n <separator "
+ "/>\n <menuitem action=\"view-as-icons\" />\n <menuitem action"
+ "=\"view-as-detailed-list\" />\n <menuitem action=\"view-as-compact"
+ "-list\" />\n </menu>\n\n <menu action=\"go-menu\">\n <menuit"
+ "em action=\"open-parent\" />\n <menuitem action=\"back\" />\n "
+ " <menuitem action=\"forward\" />\n <separator />\n <menuitem "
+ "action=\"open-home\" />\n <menuitem action=\"open-trash\" />\n "
+ " <menuitem action=\"open-desktop\" />\n <menuitem action=\"open-d"
+ "ocuments\" />\n <menuitem action=\"open-downloads\" />\n <men"
+ "uitem action=\"open-music\" />\n <menuitem action=\"open-pictures\""
+ " />\n <menuitem action=\"open-public\" />\n <menuitem action="
+ "\"open-templates\" />\n <menuitem action=\"open-videos\" />\n "
+ " <separator />\n <menuitem action=\"open-location\" />\n </menu"
+ ">\n\n <menu action=\"help-menu\">\n <menuitem action=\"contents"
+ "\" />\n <menuitem action=\"about\" />\n </menu>\n </menubar>\n"
+ "\n <popup action=\"file-context-menu\">\n <placeholder name=\"place"
+ "holder-launcher\" />\n <separator />\n <menu action=\"sendto-menu"
+ "\">\n <placeholder name=\"placeholder-sendto-sidepane\" />\n "
+ "<placeholder name=\"placeholder-sendto-actions\" />\n </menu>\n <"
+ "separator />\n <placeholder name=\"placeholder-clipboard-actions\" /"
+ ">\n <separator />\n <placeholder name=\"placeholder-edit-actions\""
+ " />\n <separator />\n <placeholder name=\"placeholder-custom-acti"
+ "ons\" />\n <separator />\n <placeholder name=\"placeholder-file-a"
+ "ctions\" />\n </popup>\n\n <toolbar name=\"location-toolbar\">\n <"
+ "toolitem action=\"back\" />\n <toolitem action=\"forward\" />\n <"
+ "toolitem action=\"open-parent\" />\n <toolitem action=\"reload\" />\n"
+ " <separator />\n <toolitem action=\"open-home\" />\n </toolbar>\n"
+ "</ui>\n\n<!-- vi: set ts=2 sw=2 et ai nocindent syntax=xml: -->\n"
};
-static const unsigned thunar_window_ui_length = 2650u;
+static const unsigned thunar_window_ui_length = 3929u;
diff -Naurp Thunar-0.9.0.bak/thunar/thunar-window-ui.xml Thunar-0.9.0/thunar/thunar-window-ui.xml
--- Thunar-0.9.0.bak/thunar/thunar-window-ui.xml 2007-12-02 14:46:33.000000000 +0100
+++ Thunar-0.9.0/thunar/thunar-window-ui.xml 2008-08-29 23:12:54.000000000 +0200
@@ -74,7 +74,15 @@
<separator />
<menuitem action="open-home" />
<menuitem action="open-trash" />
+ <menuitem action="open-desktop" />
+ <menuitem action="open-documents" />
+ <menuitem action="open-downloads" />
+ <menuitem action="open-music" />
+ <menuitem action="open-pictures" />
+ <menuitem action="open-public" />
<menuitem action="open-templates" />
+ <menuitem action="open-videos" />
+ <separator />
<menuitem action="open-location" />
</menu>
--- NEW FILE thunar-sendto-audacious-playlist.desktop ---
[Desktop Entry]
Name=Audacious Playlist
Name[de]=Audacious Wiedergabeliste
GenericName=Audio Playlist
Comment=Enque files to playlist
Comment[de]=Dateien zur Wiedergabeliste hinzufügen
Exec=audacious -e %F
Icon=sound
MimeType=audio/prs.sid;audio/x-flac;audio/x-it;audio/x-mod;audio/x-ms-wma;audio/x-musepack;audio/x-s3m;audio/x-stm;audio/x-xm;application/ogg;audio/x-vorbis+ogg;x-directory/normal;inode/directory;
Terminal=false
Type=Application
Encoding=UTF-8
--- NEW FILE thunar-sendto-bluetooth.desktop ---
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=Bluetooth OBEX Recipient
Name[de]=Bluetooth OBEX Empfänger
GenericName=Bluetooth Recipient
GenericName[de]=Bluetooth Empfänger
Comment=Send selected files via Bluetooth
Comment[de]=Ausgewählte Dateien per Bluetooth senden
Icon=bluetooth
Exec=bluetooth-sendto %f
Terminal=false
Type=Application
thunar-vfs-nozombies.patch:
--- NEW FILE thunar-vfs-nozombies.patch ---
Index: thunar-vfs/thunar-vfs-exec.c
===================================================================
--- thunar-vfs/thunar-vfs-exec.c (revision 26428)
+++ thunar-vfs/thunar-vfs-exec.c (working copy)
@@ -324,8 +324,10 @@
if (startup_data->watch_id != 0)
g_source_remove (startup_data->watch_id);
- /* close the PID */
- g_spawn_close_pid (startup_data->pid);
+ /* make sure we don't leave zombies (see bug #2983 for details) */
+ g_child_watch_add_full (G_PRIORITY_LOW, startup_data->pid,
+ (GChildWatchFunc) g_spawn_close_pid,
+ NULL, NULL);
/* release the startup data */
_thunar_vfs_slice_free (TvsnStartupData, startup_data);
@@ -513,7 +515,13 @@
startup_data->pid = pid;
}
}
+ else if (G_LIKELY (succeed))
+ {
+ /* make sure we don't leave zombies (see bug #2983 for details) */
+ g_child_watch_add_full (G_PRIORITY_LOW, pid, (GChildWatchFunc) g_spawn_close_pid, NULL, NULL);
+ }
+
/* release the sn display */
if (G_LIKELY (sn_display != NULL))
sn_display_unref (sn_display);
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/Thunar/devel/.cvsignore,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- .cvsignore 3 Dec 2007 05:34:44 -0000 1.5
+++ .cvsignore 28 Oct 2008 10:04:37 -0000 1.6
@@ -1 +1 @@
-Thunar-0.9.0.tar.bz2
+Thunar-0.9.3.tar.bz2
Index: Thunar.spec
===================================================================
RCS file: /cvs/pkgs/rpms/Thunar/devel/Thunar.spec,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- Thunar.spec 24 Feb 2008 05:33:58 -0000 1.14
+++ Thunar.spec 28 Oct 2008 10:04:37 -0000 1.15
@@ -1,11 +1,15 @@
Summary: Thunar File Manager
Name: Thunar
-Version: 0.9.0
-Release: 4%{?dist}
+Version: 0.9.3
+Release: 1%{?dist}
License: GPLv2+
URL: http://thunar.xfce.org/
-Source0: http://www.xfce.org/archive/xfce-4.4.2/src/Thunar-0.9.0.tar.bz2
+Source0: http://www.xfce.org/archive/xfce-4.4.2/src/Thunar-%{version}.tar.bz2
+Source1: thunar-sendto-bluetooth.desktop
+Source2: thunar-sendto-audacious-playlist.desktop
Patch0: thunar-vfs-audio-cd-fix.patch
+Patch1: thunar-vfs-nozombies.patch
+Patch2: thunar-0.9.0-xdg-userdir-compat.patch
Group: User Interface/Desktops
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: fam-devel
@@ -54,6 +58,12 @@
%prep
%setup -q
%patch0 -p1 -b .vfs-fix
+%patch1 -p0 -b .nozombies
+%patch2 -p1 -b .userdir
+
+# fix icon in thunar-sendto-email.desktop
+sed -i 's!internet-mail!mail-message-new!' \
+ plugins/thunar-sendto-email/thunar-sendto-email.desktop.in.in
%build
%configure --enable-dbus --enable-final --enable-xsltproc --enable-gtk-doc
@@ -93,6 +103,15 @@
--add-category X-Fedora \
Thunar.desktop
+# install additional sendto helpers
+desktop-file-install --vendor "" \
+ --dir ${RPM_BUILD_ROOT}%{_datadir}/Thunar/sendto \
+ %{SOURCE1}
+
+desktop-file-install --vendor "" \
+ --dir ${RPM_BUILD_ROOT}%{_datadir}/Thunar/sendto \
+ %{SOURCE2}
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -138,7 +157,7 @@
%{_libexecdir}/thunar-vfs-update-thumbnailers-cache-1
%dir %{_datadir}/Thunar/
%dir %{_datadir}/Thunar/sendto/
-%{_datadir}/Thunar/sendto/thunar-sendto-email.desktop
+%{_datadir}/Thunar/sendto/*.desktop
%dir %{_datadir}/thumbnailers
%{_datadir}/thumbnailers/thunar-vfs-font-thumbnailer-1.desktop
%{_datadir}/applications/fedora-Thunar-bulk-rename.desktop
@@ -147,11 +166,8 @@
%{_datadir}/dbus-1/services/org.xfce.FileManager.service
%{_datadir}/dbus-1/services/org.xfce.Thunar.service
%{_datadir}/doc/Thunar/
-%{_datadir}/icons/hicolor/16x16/apps/Thunar.png
-%{_datadir}/icons/hicolor/16x16/stock/navigation/stock_thunar-shortcuts.png
-%{_datadir}/icons/hicolor/16x16/stock/navigation/stock_thunar-templates.png
-%{_datadir}/icons/hicolor/24x24/apps/Thunar.png
-%{_datadir}/icons/hicolor/48x48/apps/Thunar.png
+%{_datadir}/icons/hicolor/*/apps/Thunar.png
+%{_datadir}/icons/hicolor/16x16/stock/navigation/stock_thunar-*.png
%{_datadir}/icons/hicolor/scalable/apps/Thunar.svg
%{_datadir}/pixmaps/Thunar
%{_datadir}/xfce4/panel-plugins/thunar-tpa.desktop
@@ -171,6 +187,12 @@
%{_datadir}/gtk-doc/html/*
%changelog
+* Mon Oct 27 2008 Christoph Wickert <cwickert at fedoraproject.org> - 0.9.3-1
+- Update to 0.9.3
+- Respect xdg user directory paths (#457740)
+- Don't spawn zombies (bugzilla.xfce.org #2983)
+- Add additional sendto helpers for bluethooth and audaciuos (#450784)
+
* Sat Feb 23 2008 Kevin Fenzi <kevin at tummy.com> - 0.9.0-4
- Remove requires on xfce-icon-theme. See bug 433152
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/Thunar/devel/sources,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- sources 3 Dec 2007 05:34:44 -0000 1.5
+++ sources 28 Oct 2008 10:04:37 -0000 1.6
@@ -1 +1 @@
-0fc5008858661c0abd0399acbe30ef28 Thunar-0.9.0.tar.bz2
+438b0d55ac9ecabdb58f84c4c039ae5c Thunar-0.9.3.tar.bz2
More information about the scm-commits
mailing list