system/pcmanfm: Apply patches from upstream.

Signed-off-by: dsomero <xgizzmo@slackbuilds.org>
This commit is contained in:
Matteo Bernardini 2012-12-18 21:08:11 -05:00 committed by dsomero
parent 23b8c687d9
commit 852519e268
12 changed files with 419 additions and 3 deletions

View File

@ -0,0 +1,35 @@
From c826330f3434fe684b830b271fa3f7a0bc57fee4 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Thu, 1 Nov 2012 01:05:22 +0200
Subject: [PATCH 01/11] Update for NEWS file: changed '1.0.2' into '1.1.0';
added missing entries.
---
NEWS | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/NEWS b/NEWS
index a3bdffa..c2ff56a 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,4 @@
-Changes on 1.0.2 since 1.0.1:
+Changes on 1.1.0 since 1.0.1:
* Corrected underscores (mnemonics) on every menu and dialog.
@@ -23,6 +23,11 @@ Changes on 1.0.2 since 1.0.1:
* The items which cannot act (such as "Copy" when no items selected) now
are disabled in menu and toolbar.
+* Experimental implementation of option --one-screen to apply --desktop
+ option only for one (current) X-Screen.
+
+* Implemented side pane hiding, bound to 'F9' key press.
+
Changes on 1.0.1 since 1.0.0:
--
1.8.0.1

View File

@ -0,0 +1,31 @@
From f53d9b1c4f47b56c8c726a9ea8c070e6bdfc8a12 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Mon, 12 Nov 2012 22:26:18 +0200
Subject: [PATCH 02/11] [#3586151]'Open in ...' actions should be available
only for directories.
Added check if all selected items are directories and if not
then don't add those items into popup.
---
src/tab-page.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/tab-page.c b/src/tab-page.c
index 1c79b94..29a4192 100644
--- a/src/tab-page.c
+++ b/src/tab-page.c
@@ -433,6 +433,11 @@ static void update_files_popup(FmFolderView* fv, GtkWindow* win,
GtkUIManager* ui, GtkActionGroup* act_grp,
FmFileInfoList* files)
{
+ GList* l;
+
+ for(l = fm_file_info_list_peek_head_link(files); l; l = l->next)
+ if(!fm_file_info_is_dir(l->data))
+ return; /* actions are valid only if all selected are directories */
gtk_action_group_set_translation_domain(act_grp, NULL);
gtk_action_group_add_actions(act_grp, folder_menu_actions,
G_N_ELEMENTS(folder_menu_actions), win);
--
1.8.0.1

View File

@ -0,0 +1,69 @@
From 876740e88fe4ae318613ba478710482e23af5ae6 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Tue, 13 Nov 2012 03:39:29 +0200
Subject: [PATCH 03/11] Manual page update: desktop management and missing
--wallpaper-mode option.
---
data/pcmanfm.1.in | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/data/pcmanfm.1.in b/data/pcmanfm.1.in
index ecb8af0..27b0a00 100644
--- a/data/pcmanfm.1.in
+++ b/data/pcmanfm.1.in
@@ -65,6 +65,14 @@ open \fIdirectories\fP in new window
.B \-\^\-role
set X-role for window (only if \fB-n\fP is used)
.TP
+.BI \-\^\-wallpaper-mode= mode
+Set mode of desktop wallpaper, \fImode\fP is:
+ \fBcolor\fP (fill with solid color),
+ \fBstretch\fP (stretch to fill entire screen),
+ \fBfit\fP (stretch to fit screen size),
+ \fBcenter\fP (place on center of screen), or
+ \fBtile\fP (tile to fill entire screen)
+.TP
.BI \-w " file" "\fR,\fP \-\^\-set-wallpaper=" file
set desktop wallpaper from image \fIfile\fP
.TP
@@ -73,6 +81,28 @@ open preferences dialog on page \fIn\fP
.TP
.I directories
directories to open
+.SH DESKTOP MANAGEMENT
+The PCMan File Manager can manage your desktop. That includes drawing some
+background on it and showing icons of Desktop folder. To activate the desktop
+management the \fBpcmanfm\fP should be executed with option \fB--desktop\fP.
+Other option that affects this mode is \fB--one-screen\fP. Change running
+desktop manager parameters you can by executing \fBpcmanfm\fP with option
+\fB--desktop-pref\fP which opens window with preferences or using command
+line parameters for options \fB--set-wallpaper\fP or \fB--wallpaper-mode\fP.
+Execution \fBpcmanfm --desktop-off\fP terminates desktop management.
+
+While \fBpcmanfm\fP manages desktop it displays icons on desktop. Behavior
+of icons resembles folder view in main window of \fBpcmanfm\fP but icons on
+desktop can "remember" their position. If you have two or more monitors then
+desktop background and set of icons will be shown on each of them. Icons
+positions will be remembered individually for each of monitors.
+.SH ENVIRONMENT
+.PD 0
+.TP
+.I XDG_CURRENT_DESKTOP
+The current desktop environment. This variable affects items which will be
+shown in menu://applications/ folder.
+
.SH FILES
.PD 0
.TP
@@ -84,6 +114,7 @@ The main configuration file
.TP
.I ~/.config/pcmanfm/default/desktop-items-0.conf
The desktop items layout for screen 0 (primary screen)
+
.SH AUTHOR
PCManFM is named after its author's nickname on the internet, PCMan. It was
written by Hong Jen Yee <pcman.tw@gmail.com>.
--
1.8.0.1

View File

@ -0,0 +1,27 @@
From 119e52519cc50a34e99b60524eca856e0e0a835f Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Wed, 14 Nov 2012 23:52:34 +0200
Subject: [PATCH 04/11] [#3582257]"Open entered folder" button do nothing
This should be done another way (as it is done in libfm-demo)
since until we activate entry the path in it isn't updated yet.
---
src/main-win.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main-win.c b/src/main-win.c
index 4431106..b3e462a 100644
--- a/src/main-win.c
+++ b/src/main-win.c
@@ -903,7 +903,7 @@ static void on_close_tab(GtkAction* act, FmMainWin* win)
static void on_go(GtkAction* act, FmMainWin* win)
{
- fm_main_win_chdir(win, fm_path_entry_get_path(win->location));
+ fm_main_win_chdir_by_name(win, gtk_entry_get_text(GTK_ENTRY(win->location)));
}
static void _update_hist_buttons(FmMainWin* win)
--
1.8.0.1

View File

@ -0,0 +1,27 @@
From 1238e8d038fccdc6d1965ef05a815606d2088496 Mon Sep 17 00:00:00 2001
From: Vadim Ushakov <igeekless@gmail.com>
Date: Fri, 16 Nov 2012 01:21:06 +0800
Subject: [PATCH 05/11] Display full path in tab tooltip
---
src/tab-page.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/tab-page.c b/src/tab-page.c
index 29a4192..48599b0 100644
--- a/src/tab-page.c
+++ b/src/tab-page.c
@@ -532,6 +532,10 @@ static void fm_tab_page_chdir_without_history(FmTabPage* page, FmPath* path)
fm_tab_label_set_text(page->tab_label, disp_name);
g_free(disp_name);
+ char * disp_path = fm_path_display_name(path, FALSE);
+ fm_tab_label_set_tooltip_text(FM_TAB_LABEL(page->tab_label), disp_path);
+ g_free(disp_path);
+
free_folder(page);
page->folder = fm_folder_from_path(path);
--
1.8.0.1

View File

@ -0,0 +1,40 @@
From daf7118742889c4997aca99880ca70b2d4955506 Mon Sep 17 00:00:00 2001
From: Vadim Ushakov <igeekless@gmail.com>
Date: Fri, 16 Nov 2012 20:08:08 +0800
Subject: [PATCH 06/11] Hotkeys for sort modes and for New Empty File
---
src/main-win-ui.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/main-win-ui.c b/src/main-win-ui.c
index ae8c0a5..a12b38e 100644
--- a/src/main-win-ui.c
+++ b/src/main-win-ui.c
@@ -177,7 +177,7 @@ static GtkActionEntry main_win_actions[]=
{"Reload2", NULL, NULL, "<Ctrl>R", NULL, G_CALLBACK(on_reload)},
/* for popup menu - these entries exist in FmFolderView popup still */
{"NewFolder", "folder", N_("Folder"), "<Ctrl><Shift>N", NULL, G_CALLBACK(bounce_action)},
- {"NewBlank", "text-x-generic", N_("Blank File"), NULL, NULL, G_CALLBACK(bounce_action)}
+ {"NewBlank", "text-x-generic", N_("Blank File"), "<Ctrl><Alt>N", NULL, G_CALLBACK(bounce_action)}
};
/* main_win_toggle_actions+main_win_mode_actions - see 'ViewMenu' for mnemonics */
@@ -206,10 +206,10 @@ static GtkRadioActionEntry main_win_sort_type_actions[]=
static GtkRadioActionEntry main_win_sort_by_actions[]=
{
- {"ByName", NULL, N_("By _Name"), NULL, NULL, COL_FILE_NAME},
- {"ByMTime", NULL, N_("By _Modification Time"), NULL, NULL, COL_FILE_MTIME},
- {"BySize", NULL, N_("By _Size"), NULL, NULL, COL_FILE_SIZE},
- {"ByType", NULL, N_("By File _Type"), NULL, NULL, COL_FILE_DESC}
+ {"ByName", NULL, N_("By _Name"), "<Ctrl>F1", NULL, COL_FILE_NAME},
+ {"ByMTime", NULL, N_("By _Modification Time"), "<Ctrl>F2", NULL, COL_FILE_MTIME},
+ {"BySize", NULL, N_("By _Size"), "<Ctrl>F3", NULL, COL_FILE_SIZE},
+ {"ByType", NULL, N_("By File _Type"), "<Ctrl>F4", NULL, COL_FILE_DESC}
};
static GtkRadioActionEntry main_win_side_bar_mode_actions[]=
--
1.8.0.1

View File

@ -0,0 +1,45 @@
From 05357d4bf9631a381b58c35cc1adb36198d35b49 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Sat, 17 Nov 2012 05:08:56 +0200
Subject: [PATCH 07/11] Revert "Hotkeys for sort modes and for New Empty File"
This reverts commit daf7118742889c4997aca99880ca70b2d4955506.
Unfortunately, Ctrl+F1 thru Ctrl+F4 are often used by some of
window managers to switch workspaces and some of them even don't
allow to change that binding so it goes into conflict.
---
src/main-win-ui.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/main-win-ui.c b/src/main-win-ui.c
index a12b38e..ae8c0a5 100644
--- a/src/main-win-ui.c
+++ b/src/main-win-ui.c
@@ -177,7 +177,7 @@ static GtkActionEntry main_win_actions[]=
{"Reload2", NULL, NULL, "<Ctrl>R", NULL, G_CALLBACK(on_reload)},
/* for popup menu - these entries exist in FmFolderView popup still */
{"NewFolder", "folder", N_("Folder"), "<Ctrl><Shift>N", NULL, G_CALLBACK(bounce_action)},
- {"NewBlank", "text-x-generic", N_("Blank File"), "<Ctrl><Alt>N", NULL, G_CALLBACK(bounce_action)}
+ {"NewBlank", "text-x-generic", N_("Blank File"), NULL, NULL, G_CALLBACK(bounce_action)}
};
/* main_win_toggle_actions+main_win_mode_actions - see 'ViewMenu' for mnemonics */
@@ -206,10 +206,10 @@ static GtkRadioActionEntry main_win_sort_type_actions[]=
static GtkRadioActionEntry main_win_sort_by_actions[]=
{
- {"ByName", NULL, N_("By _Name"), "<Ctrl>F1", NULL, COL_FILE_NAME},
- {"ByMTime", NULL, N_("By _Modification Time"), "<Ctrl>F2", NULL, COL_FILE_MTIME},
- {"BySize", NULL, N_("By _Size"), "<Ctrl>F3", NULL, COL_FILE_SIZE},
- {"ByType", NULL, N_("By File _Type"), "<Ctrl>F4", NULL, COL_FILE_DESC}
+ {"ByName", NULL, N_("By _Name"), NULL, NULL, COL_FILE_NAME},
+ {"ByMTime", NULL, N_("By _Modification Time"), NULL, NULL, COL_FILE_MTIME},
+ {"BySize", NULL, N_("By _Size"), NULL, NULL, COL_FILE_SIZE},
+ {"ByType", NULL, N_("By File _Type"), NULL, NULL, COL_FILE_DESC}
};
static GtkRadioActionEntry main_win_side_bar_mode_actions[]=
--
1.8.0.1

View File

@ -0,0 +1,26 @@
From f1902e6d9f5f84052f5fef93ac45180e3c6613fb Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Tue, 20 Nov 2012 14:19:07 +0200
Subject: [PATCH 08/11] [#3585895]Fix for SIGSEGV in get_nearest_item() with
focus=NULL.
---
src/desktop.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/desktop.c b/src/desktop.c
index c960563..66201f7 100644
--- a/src/desktop.c
+++ b/src/desktop.c
@@ -1466,6 +1466,8 @@ static FmDesktopItem* get_nearest_item(FmDesktop* desktop, FmDesktopItem* item,
if(!gtk_tree_model_get_iter_first(model, &it))
return NULL;
+ if(!item) /* there is no focused item yet, select first one then */
+ return fm_folder_model_get_item_userdata(desktop->model, &it);
min_x_dist = min_y_dist = (guint)-1;
item2 = NULL;
--
1.8.0.1

View File

@ -0,0 +1,42 @@
From 3f7cadb9259e079e4e23e4c72cc793aa434fb534 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Tue, 20 Nov 2012 14:26:19 +0200
Subject: [PATCH 09/11] Hotkeys for sort modes and for New Empty File
This is modification of commit by Vadim Ushakov but with another
keybindings instead of Ctrl+Fx as latter are often used by WM.
---
src/main-win-ui.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/main-win-ui.c b/src/main-win-ui.c
index ae8c0a5..37fdf86 100644
--- a/src/main-win-ui.c
+++ b/src/main-win-ui.c
@@ -177,7 +177,7 @@ static GtkActionEntry main_win_actions[]=
{"Reload2", NULL, NULL, "<Ctrl>R", NULL, G_CALLBACK(on_reload)},
/* for popup menu - these entries exist in FmFolderView popup still */
{"NewFolder", "folder", N_("Folder"), "<Ctrl><Shift>N", NULL, G_CALLBACK(bounce_action)},
- {"NewBlank", "text-x-generic", N_("Blank File"), NULL, NULL, G_CALLBACK(bounce_action)}
+ {"NewBlank", NULL, N_("Empty File"), "<Ctrl><Alt>N", NULL, G_CALLBACK(bounce_action)}
};
/* main_win_toggle_actions+main_win_mode_actions - see 'ViewMenu' for mnemonics */
@@ -206,10 +206,10 @@ static GtkRadioActionEntry main_win_sort_type_actions[]=
static GtkRadioActionEntry main_win_sort_by_actions[]=
{
- {"ByName", NULL, N_("By _Name"), NULL, NULL, COL_FILE_NAME},
- {"ByMTime", NULL, N_("By _Modification Time"), NULL, NULL, COL_FILE_MTIME},
- {"BySize", NULL, N_("By _Size"), NULL, NULL, COL_FILE_SIZE},
- {"ByType", NULL, N_("By File _Type"), NULL, NULL, COL_FILE_DESC}
+ {"ByName", NULL, N_("By _Name"), "<Alt><Ctrl>1", NULL, COL_FILE_NAME},
+ {"ByMTime", NULL, N_("By _Modification Time"), "<Alt><Ctrl>2", NULL, COL_FILE_MTIME},
+ {"BySize", NULL, N_("By _Size"), "<Alt><Ctrl>3", NULL, COL_FILE_SIZE},
+ {"ByType", NULL, N_("By File _Type"), "<Alt><Ctrl>4", NULL, COL_FILE_DESC}
};
static GtkRadioActionEntry main_win_side_bar_mode_actions[]=
--
1.8.0.1

View File

@ -0,0 +1,31 @@
From 26dcbab53b3f42acae40711461e4b8b2e818d5c2 Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Sat, 24 Nov 2012 02:27:50 +0200
Subject: [PATCH 10/11] [#3589448]Folder view grabs focus only once.
The folder view grabs focus on entry ativation but callback does not
reset idle handler id therefore never grab focus after that again.
---
src/main-win.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/main-win.c b/src/main-win.c
index b3e462a..8375838 100644
--- a/src/main-win.c
+++ b/src/main-win.c
@@ -138,8 +138,12 @@ static void fm_main_win_class_init(FmMainWinClass *klass)
static gboolean idle_focus_view(gpointer user_data)
{
FmMainWin* win = (FmMainWin*)user_data;
+ /* window might be destroyed already */
+ if(g_source_is_destroyed(g_main_current_source()))
+ return FALSE;
if(win->folder_view)
gtk_widget_grab_focus(GTK_WIDGET(win->folder_view));
+ win->idle_handler = 0;
return FALSE;
}
--
1.8.0.1

View File

@ -0,0 +1,41 @@
From ca5630eddd4cc8846b3ffc35d44acc77f6c9aebd Mon Sep 17 00:00:00 2001
From: Andriy Grytsenko <andrej@rep.kiev.ua>
Date: Sat, 24 Nov 2012 21:23:50 +0200
Subject: [PATCH 11/11] Desktop items layout haven't respected reserved space
on monitor.
If panels reserve space on monitor then items shouldn't be placed
on that space. That was broken, the commit fixes that.
---
src/desktop.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/desktop.c b/src/desktop.c
index 66201f7..6725313 100644
--- a/src/desktop.c
+++ b/src/desktop.c
@@ -417,8 +417,8 @@ static void layout_items(FmDesktop* self)
else
{
_next_position:
- item->x = x;
- item->y = y;
+ item->x = self->working_area.x + x;
+ item->y = self->working_area.y + y;
calc_item_size(self, item, icon);
y += self->cell_h;
if(y > bottom)
@@ -448,8 +448,8 @@ _next_position:
else
{
_next_position_rtl:
- item->x = x;
- item->y = y;
+ item->x = self->working_area.x + x;
+ item->y = self->working_area.y + y;
calc_item_size(self, item, icon);
y += self->cell_h;
if(y > bottom)
--
1.8.0.1

View File

@ -25,7 +25,7 @@
PRGNAM=pcmanfm
VERSION=${VERSION:-1.1.0}
BUILD=${BUILD:-1}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -73,9 +73,11 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
sh autogen.sh || true
# Apply patches from upstream
for i in $CWD/patches/* ; do patch -p1 < $i ; done
autoreconf -fi
LDFLAGS="-lm" \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \