ROX-Filer 2.11 patched

Filemanagers, partitioning tools, etc.
Message
Author
radky
Posts: 977
Joined: Mon 03 May 2010, 03:13

ROX-Filer 2.11 patched

#1 Post by radky »

ROX-Filer 2.11 - jun7 patch for action.c (add Force option to copy/move dialog)

Edit: patched versions of ROX-Filer removed. See below.
Last edited by radky on Mon 23 Oct 2017, 04:00, edited 1 time in total.
[color=blue][b][url=http://www.smokey01.com/radky/PupMates.html]PupMates[/url][/b][/color]

User avatar
MochiMoppel
Posts: 2084
Joined: Wed 26 Jan 2011, 09:06
Location: Japan

#2 Post by MochiMoppel »

Thanks radky.

I've only tested briefly but I feel that the new 'Force' option has the potential to make unwanted overwrites.
Unless the 'Newer' option works properly (which it doesn't in my opinion) the new option will always overwrite newer files by older, no questions asked. The unpatched version at least gave the user a chance to check the date.

I can't select 'Force' by default, no matter if I tick the checkbox in Menu Option > Action windows > Default Settings or not. Is this intended? I admit that I don't understand the tooltip explanation ("Don't confirm deletion of non-writeable items"). :oops:

radky
Posts: 977
Joined: Mon 03 May 2010, 03:13

#3 Post by radky »

Edit: After additional testing, it seems the 'Force' option does not fully integrate with the 'Newer' or 'Quiet' options of the ROX-Filer copy/move dialog.

The test binaries in the first post are now removed.
[color=blue][b][url=http://www.smokey01.com/radky/PupMates.html]PupMates[/url][/b][/color]

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

Another try at patching ROX

#4 Post by woodenshoe-wi »

Another try at patching ROX

For anyone brave enough to try it, here is a 32bit binary to replace the one in /usr/local/apps/ROX-Filer/
Edit: Newer version posted later.

Compiled from http://distro.ibiblio.org/fatdog/source ... 02.tar.bz2 with the following patch, plus the others at https://github.com/puppylinux-woof-CE/p ... /rox-filer

Code: Select all

diff -ur rox-filer-2015.02-original/ROX-Filer/src/action.c rox-filer-2015.02/ROX-Filer/src/action.c
--- rox-filer-2015.02-original/ROX-Filer/src/action.c	2015-02-12 09:39:03.000000000 -0600
+++ rox-filer-2015.02/ROX-Filer/src/action.c	2018-04-10 19:07:15.453517881 -0500
@@ -1327,10 +1327,16 @@
 	{
 		int		err;
 		gboolean	merge;
+		gboolean	is_newer;
 
 		merge = S_ISDIR(info.st_mode) && S_ISDIR(dest_info.st_mode);
 
-		if (!merge && o_newer && info.st_mtime > dest_info.st_mtime)
+		/* Using greater than or equal because people who tick the
+		 * "Newer" checkbox probably don't want to be prompted whether
+		 * to overwrite a file that has an identical mtime. */
+		is_newer = info.st_mtime >= dest_info.st_mtime;
+
+		if (!merge && o_newer && is_newer)
 		{
 			/* Newer; keep going */
 		}
@@ -1338,7 +1344,7 @@
 		{
 			printf_send("<%s", path);
 			printf_send(">%s", dest_path);
-			if (!printf_reply(from_parent, merge,
+			if (!printf_reply(from_parent, !o_newer || !is_newer,
 					  _("?'%s' already exists - %s?"),
 					  dest_path,
 					  merge ? _("merge contents")
@@ -1486,6 +1492,7 @@
 	{
 		struct stat	info;
 		int		err;
+		gboolean	is_newer;
 
 		if (mc_lstat(dest_path, &info))
 		{
@@ -1493,7 +1500,12 @@
 			return;
 		}
 
-		if (!is_dir && o_newer && info2.st_mtime > info.st_mtime)
+		/* Using greater than or equal because people who tick the
+		 * "Newer" checkbox probably don't want to be prompted whether
+		 * to overwrite a file that has an identical mtime. */
+		is_newer = info2.st_mtime >= info.st_mtime;
+
+		if (!is_dir && o_newer && is_newer)
 		{
 			/* Newer; keep going */
 		}
@@ -1501,7 +1513,7 @@
 		{
 			printf_send("<%s", path);
 			printf_send(">%s", dest_path);
-			if (!printf_reply(from_parent, TRUE,
+			if (!printf_reply(from_parent, !o_newer || !is_newer,
 				       _("?'%s' already exists - overwrite?"),
 				       dest_path))
 				return;
Pets are also available, but be warned that they will reset your desktop background, overwrite your pin-board and possibly other unwanted changes... They are meant for testing in woof builds, and include fixes for the changed deb and font mime type names. @peebee please DON'T upload to ibiblio unless or until you are confident that they work properly. I am posting them for more thorough testing.
Edit: Newer version posted later.
Last edited by woodenshoe-wi on Sun 29 Apr 2018, 04:52, edited 3 times in total.

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

Re: Another try at patching ROX

#5 Post by peebee »

woodenshoe-wi wrote:and include fixes for the changed deb and font mime type names.
Hi

from /usr/share/mime/packages/freedesktop.org.xml

font/otf
font/woff

have to also be tweaked similar to font/ttf
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#6 Post by woodenshoe-wi »

OK, pets updated.

When I was working on the patch to fix the "Newer" check-box I noticed that the function for copying files had code to merge directories, but the function to move files looks like it will overwrite directories without merging.

It seemed unrelated to fixing the "Newer" check-box, but it might be something to discuss.

User avatar
recobayu
Posts: 387
Joined: Wed 15 Sep 2010, 22:48
Location: indonesia

#7 Post by recobayu »

Can we add 'new folder' ini toolbar? So when we click that, it can make new directory.

User avatar
MochiMoppel
Posts: 2084
Joined: Wed 26 Jan 2011, 09:06
Location: Japan

Re: Another try at patching ROX

#8 Post by MochiMoppel »

woodenshoe-wi wrote:For anyone brave enough to try it, here is a 32bit binary to replace the one in /usr/local/apps/ROX-Filer/
https://www.dropbox.com/s/8kp6goaktr48l ... Filer?dl=1
Is the "Newer" checkbox really fixed? ROX-Filer still tries to overwrite newer files.

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#9 Post by woodenshoe-wi »

@recobayu
Right now I am trying to fix existing bugs and inconsistent behavior. I also want to collect any Puppy specific patches for ROX, so if you have a patch that implements the feature you want I can compile a version with it but I am not going to try to implement new features myself.

@MochiMoppel
My understanding of how the code was supposed to work was:
  • - without "Quiet" ROX prompts when starting copy operation

    - with "Quiet" but without "Newer" ROX prompts when copy operation involves overwriting existing files

    - with "Quiet" and "Newer" ROX only prompts when copy would overwrite a newer file with an older one
The same logic applies to "move", except the code for the function to move files lacks the ability to merge directories and will give an error if you try to move a directory over another one with the same name that is not empty.

I think the tool-tip text that reads "Only over-write if source is newer than destination." would be more accurately "Automatically over-write if source is newer than destination." but because this string is translated I am afraid that changing it will break all the translations.

User avatar
MochiMoppel
Posts: 2084
Joined: Wed 26 Jan 2011, 09:06
Location: Japan

#10 Post by MochiMoppel »

To me "quiet" means "quiet" and not "only prompt when". And when I tick the checkbox, telling ROX that it should keep newer files untouched, I don't want ROX to ask me again and again if I really mean it.

User avatar
recobayu
Posts: 387
Joined: Wed 15 Sep 2010, 22:48
Location: indonesia

#11 Post by recobayu »

woodenshoe-wi wrote:@recobayu
Right now I am trying to fix existing bugs and inconsistent behavior. I also want to collect any Puppy specific patches for ROX, so if you have a patch that implements the feature you want I can compile a version with it but I am not going to try to implement new features myself.
Thank you @woodenshoe-wi. Is there a tutorial how to make a patch? So I can learn and make it. Is it difficult?

Edit:
I look at http://www.kerofin.demon.co.uk/rox/patch/ and got some file like this, but i still don't understand it:

Code: Select all

Index:rox-1.1.10-selbutton/ROX-Filer/pixmaps/select.xpm
*** rox-1.1.10-patched/ROX-Filer/pixmaps/select.xpm	Thu Jan  1 01:00:00 1970
--- rox-1.1.10-selbutton/ROX-Filer/pixmaps/select.xpm	Wed Jan  2 14:23:30 2002
***************
*** 0 ****
--- 1,24 ----
+ /* XPM */
+ static char * select_xpm[] = {
+ "17 16 5 1",
+ " 	c None",
+ ".	c #000000",
+ "+	c #C5CEC5",
+ "@	c #FFFFFF",
+ "#	c #7F7F7F",
+ ".................",
+ ".+++++++++++++++.",
+ ".+@@@@@@@@@@@#.+.",
+ ".+@@@@@@@@@@#..+.",
+ ".+@@@@@@@@@#...+.",
+ ".+@@@@@@@@#....+.",
+ ".+@@@@@@@#.....+.",
+ ".+@@@@@@#......+.",
+ ".+@@@@@#.......+.",
+ ".+@@@@#........+.",
+ ".+@@@#.........+.",
+ ".+@@#..........+.",
+ ".+@#...........+.",
+ ".+#............+.",
+ ".+++++++++++++++.",
+ "................."};
Index:rox-1.1.10-selbutton/ROX-Filer/src/toolbar.c
*** rox-1.1.10-patched/ROX-Filer/src/toolbar.c	Wed Jan  2 13:53:48 2002
--- rox-1.1.10-selbutton/ROX-Filer/src/toolbar.c	Wed Jan  2 14:23:30 2002
***************
*** 81,86 ****
--- 81,88 ----
  				    FilerWindow *filer_window);
  static void toolbar_hidden_clicked(GtkWidget *widget,
  				   FilerWindow *filer_window);
+ static void toolbar_select_clicked(GtkWidget *widget,
+ 				   FilerWindow *filer_window);
  static GtkWidget *add_button(GtkWidget *box, Tool *tool,
  				FilerWindow *filer_window);
  static GtkWidget *create_toolbar(FilerWindow *filer_window);
***************
*** 133,138 ****
--- 135,144 ----
  	 toolbar_hidden_clicked, DROP_NONE, TRUE,
  	 NULL, NULL},
  	
+ 	{N_("Select"), "select", N_("Select all/invert selection"),
+ 	 toolbar_select_clicked, DROP_NONE, TRUE,
+ 	 NULL, NULL},
+ 	
  	{N_("Help"), "help", N_("Show ROX-Filer help"),
  	 toolbar_help_clicked, DROP_NONE, TRUE,
  	 NULL, NULL},
***************
*** 336,341 ****
--- 342,365 ----
  				   FilerWindow *filer_window)
  {
  	display_set_hidden(filer_window, !filer_window->show_hidden);
+ }
+ 
+ static void toolbar_select_clicked(GtkWidget *widget, FilerWindow *filer_window)
+ {
+ 	GdkEvent	*event;
+ 
+ 	event = gtk_get_current_event();
+ 	if (event->type == GDK_BUTTON_RELEASE &&
+ 	    ((GdkEventButton *) event)->button==2)
+ 	{
+ 		collection_invert_selection(filer_window->collection);
+ 	}
+ 	else if (event->type == GDK_BUTTON_RELEASE &&
+ 	    ((GdkEventButton *) event)->button==1)
+ 	{
+ 		collection_select_all(filer_window->collection);
+ 	}
+ 	filer_window->temp_item_selected = FALSE;
  }
  
  static GtkWidget *create_toolbar(FilerWindow *filer_window)

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#12 Post by woodenshoe-wi »

@MochiMoppel
Well, to me "quiet" even if not completely silent, is still an improvement over not selecting "quiet". Have you tried using ROX without the "quiet" option default? I have because of the "automatic overwriting of newer files with older files" bug and it was very annoying.

From my reading of the source code I think the "Newer" option was meant to trigger automatic overwriting of older files with newer files, not as a way of protecting the newer files in the destination.

Is your goal to have completely silent operation of ROX or do you just want ROX to silently ignore older source files when there are newer destination files?

In the first case maybe a "merge" check-box to make merging directories silent, plus a "no to all" check-box to make the default answer to all questions "no".

In the second case maybe an "ignore older" check-box to cause ROX to silently ignore older source files.


@recobayu
The patch you found looks like a "context" format patch. Here are some links that give an explanation of the format.
https://www.gnu.org/software/diffutils/ ... ntext.html
https://www.gnu.org/software/diffutils/ ... ntext.html

I made a "unified" format patch that I posted earlier. I think the "unified" format patches are easier to read.
https://www.gnu.org/software/diffutils/ ... ified.html
https://www.gnu.org/software/diffutils/ ... ified.html

The command used to make patch files is "diff", for example:

Code: Select all

diff -c action.c.original action.c > action.patch    # will make a context patch
diff -u action.c.original action.c > action.patch    # will make a unified patch
The first part of the patch you found makes a new "select.xpm" file, it is a text based image format.

I think this part adds a "prototype" for the "toolbar_select_clicked" function:

Code: Select all

+ static void toolbar_select_clicked(GtkWidget *widget,
+                FilerWindow *filer_window);
I think this part adds the "Select all/invert selection" button to the toolbar:

Code: Select all

+    {N_("Select"), "select", N_("Select all/invert selection"),
+     toolbar_select_clicked, DROP_NONE, TRUE,
+     NULL, NULL},
+    
And this part adds the actuall "toolbar_select_clicked" function:

Code: Select all

+ } <- this line was actually not changed, but diff missed the closing } for the new function 
+
+ static void toolbar_select_clicked(GtkWidget *widget, FilerWindow *filer_window)
+ {
+    GdkEvent   *event;
+
+    event = gtk_get_current_event();
+    if (event->type == GDK_BUTTON_RELEASE &&
+        ((GdkEventButton *) event)->button==2)
+    {
+       collection_invert_selection(filer_window->collection);
+    }
+    else if (event->type == GDK_BUTTON_RELEASE &&
+        ((GdkEventButton *) event)->button==1)
+    {
+       collection_select_all(filer_window->collection);
+    }
+    filer_window->temp_item_selected = FALSE;
diff sometimes gets confused by identical lines, but as long as the end result is identical it doesn't matter.

So, this patch documents the origin of the "Select all/invert selection" button that is now part of ROX.

If you don't have a patch file that implements the feature you want you would edit the source code until it works properly and then make a patch file against the original unmodified version of the source code. The "Select all/invert selection" patch looks like a good example of how to add a new button to the tool bar.

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#13 Post by woodenshoe-wi »

Ok, here is a new version.

Edit: Newer version posted later.
md5sum: 5a74f2c1f4eb27f1f0380a107cdf74cf
Source code available at:
https://github.com/woodenshoe-wi/rox-filer

Edit:
You will also need the new version of Options.xml, unzip it and replace the one in /usr/local/apps/ROX-Filer/
Edit again: Not needed with newer pet posted later.

I decided to go with "ignore older" and "merge" check-boxes.

I also managed to get a "New" button added to the toolbar.

I think I fixed the "move" function, so it should act the same as "copy".

For some reason the "copy/paste" functionality doesn't seem to work on a fresh reboot, but does work when started as "rox -n"

I don't know how to debug that, so don't expect it to get fixed any time soon.
Last edited by woodenshoe-wi on Sun 29 Apr 2018, 04:55, edited 2 times in total.

User avatar
peebee
Posts: 4370
Joined: Sun 21 Sep 2008, 12:31
Location: Worcestershire, UK
Contact:

#14 Post by peebee »

woodenshoe-wi wrote:Ok, here is a new version.
Made a ydrv for UpupBB - booted OK (after I changed executable permission)

Copied a file to /tmp, edited the copy to make a newer version, repeated the copy but as far as I could determine, no matter which boxes were ticked, the new version was always overwritten by the old unedited version.....expected behaviour?

Screenie and ydrv with false.gz attached. UPDATED.
Attachments
Screenshot.png
(113.2 KiB) Downloaded 1529 times
ydrv_upupbb_18.04.sfs-false.gz
updated with options.xml
(228 KiB) Downloaded 499 times
Last edited by peebee on Wed 25 Apr 2018, 06:04, edited 1 time in total.
ImageLxPup = Puppy + LXDE
Main version used daily: LxPupSc; Assembler of UPups, ScPup & ScPup64, LxPup, LxPupSc & LxPupSc64

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#15 Post by woodenshoe-wi »

.....expected behaviour?
Kind of... the check boxes only apply to subsequent files, and will not be remembered for next time.

I forgot that Options.xml also needs to be replaced to allow the default settings to be changed. I added a link in my previous post.

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#16 Post by woodenshoe-wi »

New version again, I tried to make a sfs but I couldn't get it to load over the main sfs so I repacked it as a pet with just the AppDir and desktop file. This one will not overwrite any settings, but should not be used for woof builds.
Edit: Newer versions posted later.

I was able to fix the "copy/paste" functionality. The problem was that the clipboard was "set" during initialization instead of when actually doing a "copy" or "cut", so it would stop working as soon as another program used the clipboard. Once I moved the "set" function to the proper place the strange behavior stopped.

For debugging I wrote some scripts that use xclip to copy and paste from the command line, I don't know if anyone else might find them useful?

g-copy

Code: Select all

#!/bin/bash

case $@ in
	-h|-*help|-*usage)
		echo "Usage: $(basename $0) <files to copy>"
		exit 0
		;;
	"")
		echo "Usage: $(basename $0) <files to copy>"
		exit 1
		;;
esac

clipboard="copy
"

for one_arg in "$@"
do
	#echo "X${one_arg}X"

	filename=$(realpath "${one_arg}")
	#echo "${filename}"

	clipboard="${clipboard}file://${filename}
"
done

echo "${clipboard}" | xclip -i -selection clipboard -t x-special/gnome-copied-files
g-cut

Code: Select all

#!/bin/bash

case $@ in
	-h|-*help|-*usage)
		echo "Usage: $(basename $0) <files to cut>"
		exit 0
		;;
	"")
		echo "Usage: $(basename $0) <files to cut>"
		exit 1
		;;
esac

clipboard="cut
"

for one_arg in "$@"
do
	#echo "X${one_arg}X"

	filename=$(realpath "${one_arg}")
	#echo "${filename}"

	clipboard="${clipboard}file://${filename}
"
done

echo "${clipboard}" | xclip -i -selection clipboard -t x-special/gnome-copied-files
and g-paste

Code: Select all

#!/bin/bash

carriage_return=$(echo -ne '\r')

filelist=$(xclip -o -selection clipboard -t x-special/gnome-copied-files)

paste_mode=$(echo "${filelist}" | head -n 1)
#echo "X${paste_mode}X"

while read line
do
	line=${line//${carriage_return}/}
	#echo "X${line}X"

	if [ "${line}" = "${paste_mode}" ]; then
		continue
	fi

	filename=${line#file:\/\/}
	#echo "${filename}"

	if [ -e "${filename}" ]; then
		if [ "${paste_mode}" = "cut" ]; then
			mv -f "${filename}" .
		else
			cp -af --no-preserve=context,links "${filename}" .
		fi
	else
		echo "Error parsing line: ${line}"
	fi

done <<< "${filelist}"
Pets that are suitable for woof builds are also available,
Edit: Newer versions posted later.
But as before, be warned that they will reset your desktop background, overwrite your pin-board and possibly other unwanted changes... They are meant for woof builds. Also @peebee please DON'T upload to ibiblio unless or until you are confident that they work properly. I am posting them for more thorough testing.

Edit: Added 64 bit standalone version.
Edit2: Removed old links, newer versions posted later.
Last edited by woodenshoe-wi on Fri 18 May 2018, 21:01, edited 2 times in total.

Puppyt
Posts: 907
Joined: Fri 09 May 2008, 23:37
Location: Moorooka, Queensland
Contact:

#17 Post by Puppyt »

Thanks so much woodenshoe-wi - rox column management active in TahrPup64 6.0.6. Was rehashing an old grumble on a recent thread, and your pet has salved a sore point in Rox usability. Cheers!
Re: How do I modify ROX detail columns?

UPDATE: Sorry, I have to qualify my test as a partial success only. I haven't tested copy'n'paste which I see was your main concern with your patch. However, I got a bit giddy with the detail view column change functionality, which in my TahrPup64 version had been locked into a useless Name/Permissions/Owner/Group/Type/Size/Last modified... format. Who needs Permissions/Owner/Group in Puppy??? Wish there was some way to eliminate those columns entirely.
Anyway, while your patch is great for shifting the ordered sequence of columns in any Rox window - the changes aren't persistent between Rox windows, and are not persistent on reboots. Any hope for tweaking your patch just a bit further for permanence?
Search engines for Puppy
[url]http://puppylinux.us/psearch.html[/url]; [url=https://cse.google.com/cse?cx=015995643981050743583%3Aabvzbibgzxo&q=#gsc.tab=0]Google Custom Search[/url]; [url]http://wellminded.net63.net/[/url] others TBA...

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#18 Post by woodenshoe-wi »

Well, first I want to make it clear that I didn't write the movable columns patch. I cherry picked a commit by JakeSFR who gave the credit to forum users Otter & Rocket.
https://github.com/woodenshoe-wi/rox-fi ... 20f7735bc4

The copy and paste functionality was actually something I saw in a GitHub fork of rox-filer by dtomas https://github.com/dtomas/rox-filer
It did not look like it had been merged into the jun7 fork, but it would solve a complaint that rox-filer lacks proper copy and paste support. When I added "cut to clipboard" support I accidentally added a segfault, which I fixed when I found it, and I also made changes to the original implementation of "copy and paste" to fix problems I found with it.

My original motivation for making these changes was to get the "overwrite if newer" check box working properly because there were two camps of ROX users, those including myself who were happy with the old behavior of being prompted about every overwrite, and those that found the prompts irritating and preferred to use a newer version of ROX that didn't prompt when overwriting regardless of whether the overwriting file was newer or older than the file that was being overwritten.

When I was working on this I also noticed that the function that handled moving files and directories had diverged from the function that copies files and directories so I rewrote the "move" function to more closely match the "copy" function and now it should be possible to "merge" directories when moving them just like when copying them.

Because of all these changes and the potential for bugs and segfaults I would like people to test this version before it would be made a default version in woof builds, but I am not sure how to go about getting it tested. There are no "testing" version package lists, once it would be uploaded to ibiblio it could end up being the default version which would be bad if it had any serious bugs.

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#19 Post by woodenshoe-wi »

New version again. These are the standalone versions that will not overwrite any settings, but should not be used for woof builds.

Edit: These were buggy, newer versions posted later.

This version makes NO changes to rox column management, but instead adds the feature that when a directory is open in a filer window and the directory no longer exists because it is unmounted or deleted the filer window will be automatically closed.

Pets that are suitable for woof builds are also available,
Edit: These were buggy, newer versions posted later.
But as before, be warned that they will reset your desktop background, overwrite your pin-board and possibly other unwanted changes... They are meant for woof builds. Also @peebee please DON'T upload to ibiblio unless or until you are confident that they work properly. I am posting them for more thorough testing.

It should also be possible to use my gitlab repo for test woof builds by All 3 steps are needed.

Starting with version 6, the name that has to be added to DISTRO_PKGS_SPECS is no longer "rox-filer-woodenshoe", just the standard "rox-filer".
Last edited by woodenshoe-wi on Mon 02 Jul 2018, 05:26, edited 2 times in total.

woodenshoe-wi
Posts: 109
Joined: Sat 29 Jul 2017, 03:16
Location: Wisconsin

#20 Post by woodenshoe-wi »

Version 2 was buggy, this new version can also configure which columns are visible in "List View".

Edit: Newer versions posted later.

Pets that are suitable for woof builds are also available,
Edit: Newer versions posted later.
But as before, be warned that they will reset your desktop background, overwrite your pin-board and possibly other unwanted changes... They are meant for woof builds. Also @peebee please DON'T upload to ibiblio unless or until you are confident that they work properly. I am posting them for more thorough testing.
Last edited by woodenshoe-wi on Thu 24 May 2018, 05:50, edited 1 time in total.

Post Reply