Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PLEASE TEST: SpaceFM 1.0 Alpha-Testing Has Begun #478

Closed
IgnorantGuru opened this issue Mar 9, 2015 · 72 comments
Closed

PLEASE TEST: SpaceFM 1.0 Alpha-Testing Has Begun #478

IgnorantGuru opened this issue Mar 9, 2015 · 72 comments
Milestone

Comments

@IgnorantGuru
Copy link
Owner

The next major version (SpaceFM 1.0) is available for early alpha testing. This version finishes up some work completed last year by myself and OmegaPhil on various kinds of handlers, includes BwackNinja's feature addition to set a transparent background (now without restarting or command-line options), and should soon include video thumbnail support. This version is still under light development so this should be used mostly for testing, and for contributing default handlers for your favorite filesystems, protocols, and archive functions. Please help test this version so the release will be more stable.

SpaceFM 1.0 (currently 0.9.9+) addresses some shortcomings in SpaceFM 0.9:

  • Only a single mount or unmount command was available for dealing with all filesystem types.
  • The few network and other fuse filesystems that SpaceFM handled were usually mounted by udevil. But being a suid program, udevil is not the best choice for this, and more filesystems were desired.
  • Additional protocols required writing a script that handled all protocols, and unmounting of protocols were channeled through only the one unmount command.
  • Only a limited number of hard-coded archive types were supported by SpaceFM's built-in archive facility, and options were limited.
  • Bypassing MIME types for opening files using custom methods was limited to creating custom menu items, which was difficult to manage.

To address these, SpaceFM 1.0 includes a new configuration window for creating and changing handlers for devices, protocols, archive files, and regular files. The device and protocol handlers add potential support for many more filesystems, and the archive handlers (developed mostly by long-time SpaceFM contributor OmegaPhil) allow virtually any archive types to be handled in unique ways. File handlers allow you to bypass the MIME system for file types.

Other changes in this version include:

  • The spacefm command line can now open devices (eg /dev/sdd1) and protocols (eg ftp://)
  • Devices (eg /dev/sdd1/) can now be entered in the path bar or a bookmark
  • A change detection blacklist has been added which allows the user to determine which filesystems should have changes ignored (to improve GUI performance). This setting will also disable thumbnail loading soon.
  • New added menu item File|Open URL (replaces unneeded Save Session item)
  • Show|Display Name can use %n to show device major:minor number
  • The file list in GTK2 now selects the next file after the current file is deleted or renamed.
  • Upcoming video thumbnail support to be added soon based on some code contributions by Justin Jacobs (dorkster@github)

To install SpaceFM 1.0 for testing, first backup your SpaceFM 0.9 config folder for insurance: [UPDATE: Please see updated install instructions]

cp -a ~/.config/spacefm ~/.config/spacefm-0.9.4-backup

Then install the hand branch:

# Download & Extract
mkdir /tmp/spacefm-hand && cd /tmp/spacefm-hand
wget -O spacefm-hand.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/hand
tar xzf spacefm-hand.tar.gz
cd IgnorantGuru-spacefm-*

# Build & Install
./configure --prefix=/usr  # and optionally: --with-gtk3 see ./configure --help
make -s
sudo make install
sudo update-mime-database /usr/share/mime > /dev/null
sudo update-desktop-database -q
sudo gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
sudo gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza

# Remove Temporary Files
cd / && rm -rf /tmp/spacefm-hand

You can copy and paste all of those commands into your terminal as a set. Because this branch is still under some development, it is best to update it every few days by repeating the above commands, and check issues related to the hand branch and see latest changes.

When first running 0.9.9, any custom mount and unmount command you have configured will be imported into the new Default device handler. Any protocol handler script you had set will be imported as a protocol handler, overriding the new default handlers. Any options you used for creating archives in 0.9 will need to be reconfigured in the new Archive Handlers dialog. Also running 0.9 with your updated configuration should not be a problem.

New default handlers are welcome! If you use additional filesystems or protocols, please consider submitting handlers for them to improve SpaceFM's out of the box compatibility. Please keep default handlers simple and basic - usually a few lines will do. You can submit them as an issue on this tracker or email them to me. Remember to include whitelist, blacklist, and all related commands. (There is not currently a way to import or export handlers.)

The new version is documented in the user's manual in the new Handlers section, and also Opening Files, URLs, and Devices and elsewhere.

Transifex has an updated translation file for this branch - please help update translations using their online editor.

Also, donations to help support this project are once again being accepted - thanks.

Minor issues may simply be brought to attention by posting a comment below, or you can open a separate issue. Thanks for testing and contributing.

@IgnorantGuru IgnorantGuru added this to the hand milestone Mar 9, 2015
@VastOne
Copy link

VastOne commented Mar 9, 2015

Configured and installed 0.9.9 and happily testing. I have also instructed all VSIDO users to assist if they can

Will report on anything I find, valid or not... ;)

Good to see you again IgnorantGuru

@IgnorantGuru
Copy link
Owner Author

VastOne, thanks as always. Glad to see you guys made it through the service interruption.

@IgnorantGuru
Copy link
Owner Author

Hand branch now includes video thumbnail support. This means that to build it, libffmpegthumbnailer-dev must be installed, or use configure option --disable-video-thumbnails

@mati75
Copy link

mati75 commented Mar 9, 2015

I can push this version to Debian experimental repository, but I need two days for this.

@ghost
Copy link

ghost commented Mar 9, 2015

Loving the added transparent bg option so I can use nitrogen or xwinwrap as my bg setter!! Also, THANK YOU for finally adding video thumbnailing!! It really is a great addition. May I suggest a seperate icon size manager for the desktop? Having it tied to the Fm's internal size isn't the most optimal as I'd like to have large icons in the file mngr itself with small icons on the desktop itself.

@Vladimir-csp
Copy link

Transparent desktop works great!
Although, I think that this option does not logically belong to wallpaper mode list.

@fabertawe
Copy link

Many thanks for all the fixes and continued work :) Hand's running great here so far (Arch) and I use it extensively.

@VastOne
Copy link

VastOne commented Mar 10, 2015

Not sure if it is an issue or is intentional but the build made no mention of needing fuseiso now as a dependency to mount ISO's

Once fuseiso was installed (debian) ISO's mounted again in 0.9.9+

@IgnorantGuru
Copy link
Owner Author

VastOne, currently the default Mount ISO (a file handler) uses only fuseiso. I may rewrite that to use either fuseiso or udevil, whichever is installed. fuseiso was a little easier to deal with (though its use of its own mtab file wasn't). By default, that handler is not a default action - you choose it from the menu. Thus README was updated with 'suggests fuseiso', as a runtime dependency.

In general with handlers if you get a 'command not found', that's the cue that the handler requires a program. But in this case it can also be done with a udevil mount iso handler.

IgnorantGuru pushed a commit that referenced this issue Mar 11, 2015
Show if is protocol handler fs_type
Show if type not in: devpts proc fusectl pstore sysfs tmpfs devtmpfs
Must be user-readable mount point
@IgnorantGuru
Copy link
Owner Author

A few changes as of a0db27f in hand:

  • SpaceFM now uses a somewhat more inclusive algorithm when determining what non-block device, mounted filesystems (like fuse or nfs) to show in the Devices list. A filesystem will be shown if it is associated with a protocol handler via fstype or mtab_fs=fstype. Otherwise it will only be shown if it is NOT of type: devpts proc fusectl pstore sysfs tmpfs devtmpfs (let me know if you think another belongs in that list). Also, the mount point directory must be readable by the user or it will not be shown. What do you think of these new defaults? This mostly affects what is shown when Settings|Show|Mounted Other is enabled.
  • File Handlers are now run as synchronous tasks, will popup and error on non-zero exist status, and will be shown in the task manager. To prevent this, run apps in the handler with an ampersand suffix per the manual. This provides better error reporting. Drawback includes the handler writer must include an ampersand or the task will stay until the app closes.
  • The default file handler Mount ISO will now use either fuseiso or udevil, and it will popup errors. The device handler default have also been changed. (Use the Defaults or All Defaults buttons to pull in new defaults.)
  • I will shortly add some additional default protocol handlers from Vladimir-csp

@Vladimir-csp
Copy link

When mounting something with protocol handlers, the process is referred to as "Network mount". Probably this should be replaced with some neutral phrasing. Not every handler is network-related

@kanyck
Copy link

kanyck commented Mar 12, 2015

Thank you guys for this awesome (master)piece of software! Been looking forward to this release!
Is there an ebuild available? I'd like to participate in testing but try to avoid installing anything bypassing portage...

@OmegaPhil
Copy link
Contributor

Some mounted filesystem types that should probably be not be shown by default:

cgroup (mounted at '/sys/fs/cgroup/systemd')
binfmt_misc (/proc/sys/fs/binfmt_misc)
rpc_pipefs (/run/rpc_pipefs)

Shame that an aufs volume doesn't have a label to display.

@IgnorantGuru
Copy link
Owner Author

@OmegaPhil > Shame that an aufs volume doesn't have a label to display.

Why is it is a shame? If you think it's useful to see, we could hack in a command to populate the label with something useful, providing it is executable by the user. I made aufs hidden but that could be removed, or any fstype that has a protocol handler is shown, overriding the blacklist.

If you're interested, hack for aufs label could go in here

@OmegaPhil
Copy link
Contributor

The aufs filesystem is basically the only permanent filesystem I have that doesn't support labels, so it appears blank - however that probably just meant I needed to review the display name setting - changing it to '%t: %l' is good enough, since I only have one aufs volume on the system.

@mati75
Copy link

mati75 commented Mar 13, 2015

I pushed autobuild hand branch for Ubuntu: https://code.launchpad.net/~mati75/+archive/ubuntu/spacefm-unstable

IgnorantGuru pushed a commit that referenced this issue Apr 6, 2015
 #94

also increase max side pane icon size to 48x48
@IgnorantGuru
Copy link
Owner Author

dd6739d adds a new option View|Style|Large Icons for Detailed and Compact list styles. If enabled, the list will use the large icon/thumbnails. By assigning a key shortcut you can switch back and forth easily. This is also a four-state setting, which means that SpaceFM will remember the Large Icons setting for each panel for each combination of panel layouts.

This should remove the need to use big Small icon sizes. Also, the max side pane icon size has been raised to 48. Any larger settings for Small Icon size in prefs will not be reflected in the side panes. (Any thoughts on this? Should it be higher, or should there be no limit?)

Please test the Large Icons setting as thoroughly as possible.

@Vladimir-csp
Copy link

I doubt that side pane icons would ever need to be larger than 24, no previews there.

Here is a screenshot: everything seems to be fine, except two things: "+" icon in devices pane and bookmark icons are smaller than other icons in side panes.
liscr

@Vladimir-csp
Copy link

With all recent changes to icons I propose adding a view toolbar. Shortcuts are a good thing, but if user tends to use mouse, navigating deep menu hierarchy is a pain.
View toolbar would solve this. It could contain view mode selector, +/- buttons to change current icons size (the demand exists, several users asked me where to find them), thumbnailer switch, may be something else. The controls are already in SpaceFM, I suppose it would be relatively easy to place them on a toolbar.

@IgnorantGuru
Copy link
Owner Author

On TVs (SpaceFM can be used as a media center), 32 or 36 on the side panes can be useful. Also, 4K displays are now in use.

Only reason I can think of for why your side panes have varying icon sizes is that if your icon theme doesn't support a size, it will use the smaller size. Not all themes have the larger icons. On my theme they're all the same size icons in the side panes.

As for the view toolbar, I plan to add a socket command for changing the Large Icons setting, so one could make a plugin for the toolbar. Most panel settings have socket commands, so there is no need for me to hardcode such tools - they can be done as plugins. Also note that there is a side toolbar that could be used for these view plugins.

I've considered changing the thumbnail on/off setting to a per panel setting. I think that's pretty simple. And a socket command could go with that as well. If it's not added to this release you might want to open a request. Not sure how much demand there is for it. My main hesitation is adding another rarely-used setting to the menus.

@OmegaPhil
Copy link
Contributor

Just tested the changes, thanks, confirm things work here - it takes fucktonnes of RAM (690MB for max thumbnail size of one directory of 1,790 images) but looks good :)

@fabertawe
Copy link

The way I personally use larger thumbnails is when traversing/editing folders of photos, so being able to change the size of icons (in icon mode) per panel (rather than "Preferences -> Large Icons" globally) would be perfect.

@IgnorantGuru
Copy link
Owner Author

d32d0cb adds a "large_icons" socket property to programmatically change the View|Style|Large Icons setting.

For example, to add a toolbar button that toggles Large Icons:
In one of the toolbar config menus, right-click and select New|Command. Enter title "Large Icons". For command enter:

spacefm -s set large_icons %a

On the Options tab, select Style|Checkbox. Click OK.

@IgnorantGuru
Copy link
Owner Author

@fabertawe

The way I personally use larger thumbnails is when traversing/editing folders of photos, so being able to change the size of icons (in icon mode) per panel (rather than "Preferences -> Large Icons" globally) would be perfect.

That is how the new Large Icons setting works, per panel, which is perhaps what you meant. It just lets you choose between small and large, and the specific sizes of those are set in Prefs.

@IgnorantGuru
Copy link
Owner Author

ffmpegthumbnailer devs have responded positively to my request for less noise on stderr.

@fabertawe
Copy link

@IgnorantGuru

That is how the new Large Icons setting works, per panel, which is perhaps what you meant. It just lets you choose between small and large, and the specific sizes of those are set in Prefs.

Unless I'm missing something obvious then it's not what I meant. I don't want to use a small icon setting above 22x22 and I already use the large icon setting (36x36) for view style "Icons". I would love to be able to change this from 36x36 to 96x96 on the fly for individual panels.

As it is I have a key shortcut for Preferences and change it from there (globally). It's not any great hassle to do it this way anyway, it just seems clumsy. Thanks.

IgnorantGuru pushed a commit that referenced this issue Apr 7, 2015
the archive extraction code didn't cope with multiple archives,
even though its in a loop - looks like the command combination was forgotten
@IgnorantGuru
Copy link
Owner Author

The hand branch has now been merged into next, and will be deleted shortly. Please update your scripts to use these install instructions for the next branch:

# Download & Extract
mkdir /tmp/spacefm-next && cd /tmp/spacefm-next
wget -O spacefm-next.tar.gz https://github.com/IgnorantGuru/spacefm/tarball/next
tar xzf spacefm-next.tar.gz
cd IgnorantGuru-spacefm-*

# Build & Install
./configure --prefix=/usr  # and optionally: --with-gtk3 see ./configure --help
make -s
sudo make install
sudo update-mime-database /usr/share/mime > /dev/null
sudo update-desktop-database -q
sudo gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
sudo gtk-update-icon-cache -q -t -f /usr/share/icons/Faenza

# Remove Temporary Files
cd / && rm -rf /tmp/spacefm-next

The next branch represents a beta version pending release for 1.0.0, so any final testing is appreciated.

@humpity
Copy link

humpity commented Apr 11, 2015

"The file list in GTK2 now selects the next file after the current file is deleted or renamed."
After renaming or deleting a file, next selection works, but hitting enter does nothing.
Moving away with arrow keys and then going back solves the problem.

@IgnorantGuru
Copy link
Owner Author

@humpity

After renaming or deleting a file, next selection works, but hitting enter does nothing.
Moving away with arrow keys and then going back solves the problem.

Thanks, there was still a problem with Compact and Icon list styles. This should now be corrected in next branch (4dc2e35).

@humpity
Copy link

humpity commented Apr 12, 2015

Related to issue #444, the v0.9.4-1 version resized percentage-wise (e.g 2-pane 50/50 width would resize to
same proportions. But alpha version does not do this anymore, leaving divider in same spot.

@IgnorantGuru
Copy link
Owner Author

@humpity
As I said in #444, "Dividers between panels are manually adjusted and don't move when the window is resized." That has been that way since I think 0.9.1 and I don't recall anything in this behavior changing in the latest. If you think there is something actually wrong you'll need to provide detailed steps to reproduce.

As for #444, GTK behaved poorly and there were complex issues involved, so it was decided to make it manual. If you resize the window, you may need to adjust the dividers, etc. Then the new positions will be remember for each combination of panels.

@humpity
Copy link

humpity commented Apr 13, 2015

#444, "Dividers between panels are manually adjusted and don't move when the window is resized."
Yes, I had mistakingly thought there was somekind of fix for it (v09.4-1 ubuntu) (which do actually move??).
No biggy, I just have to get used to it.

@IgnorantGuru
Copy link
Owner Author

Thanks to everyone for testing. This code has been released in 1.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

9 participants