File Explorers for Other OS - Application Query

For Linux and Mac what are your File Explorers called?
I was coding something and I made the windows version work I am lacking now the other OS but I have no clue what is used on those systems. I ask mostly because I know I will never find out what is used in Linux.

For linux that would severely depend on what you use. For example, for KDE, the default file manager is KDE Dolphin. On XFCE is would be Thunar, Mate would be Caja, Unity and Cinemmon would be Nemo. Some older linux ans gnome based ones may still use Nautilus/ GNOME Files.

1 Like

gosh that is way too many… makes me rethink how I am doing this. :thinking:

Well, if it helps. Caja and Nemo are forks of Nautilus/GNOME Files. So depending on what you are making, it may work on all 3 with little change depending on how far the forks have gone.

So only Dolphin and Thunar would be extra.

I kinda doubt it will. This requires the application name to boot up and run the way I am doing it now. Unless there is a cheat to run file managers in linux regardless of name. for now I can only stop it from giving a error in other OS.

Operation: Open file location, in windows it is working like this:
open_file_location

Code:

        if self.OS == "winnt": # Windows
            FILEBROWSER_PATH = os.path.join(os.getenv('WINDIR'), 'explorer.exe')
            subprocess.run([FILEBROWSER_PATH, '/select,', os.path.normpath(path)])

Just maybe ask the user what the name of the application is, outside of Windows. That would handle the least technical users (Windows) and provide a way for all Linux systems to work.

If your goal is only to open the directory in default file manager then:
QDesktopServices.openUrl(QUrl.fromLocalFile('PATH TO DIR'))

Otherwise, you can call:
xdg-mime query default inode/directory

That will tell you which is the default file manager on linux to open directories.

2 Likes

When doing a open it will open a image viewer, but it is better than nothing. I will put it until I have something better.

running terminal code sounds like stuff I would need to test alot to make sure it would work but I will try later, I saw some code in python to do that around.

Make sure you provide a path to the directory, not to the file, then maybe it would open the file browser, not the file viewer?

1 Like

oh that is so smart. I did not even think opening an incomplete path would work, but it does :open_mouth:
The file is not highlighted but it is already a massive help for compatibility.

open_file_location_linux

1 Like

The default file manager is a tricky thing on Linux. The default for inode/directory is not necesserily a file manager, a lot of applications like editors and IDEs will register support for it, and sometimes naughtily set themselves as default…

There is DBus interface specification for file management:
https://www.freedesktop.org/wiki/Specifications/file-manager-interface/
It does allow showing the folder and highlighting the file, but then again, only Nautilus (and some forks?) and Dolphin support it. That’s what Firefox and Chrome(ium) use apparently.

1 Like

I would just use special code for Windows and universal for everything else :wink:

1 Like

Well yesterday I released the plugin that has this bit of code. It is simple thing though. the idea is to use it with photobash and not scare it’s users with my out of the box ideas as this does file operations such as renames and I might expand on it considering workflow.

It has a mode called “File Locate” so it you drag an image into it from photobash you can see it on your file manager in windows on others it should open the directory that holds the file, finding it after should be easier.

I made this because as I have been upgrading photobash I have been noticing some images having issues with QImage by various reasons and with this I could reach the location faster as it is always some random file in a random folder with thousands of images inside that then I wanted to locate. I even made a folder with cursed image files only…

So If someone wants to try it out for some reason you can see if it works for you on your system. It is OS sensitive already with self.OS, I just replicated the code for each case.

My idea was by doing file locate I would not need to make it delete files to do more. As Pyqt5 has only remove and not move to trash. So removing bad images from the folder was proving to be annoying without something like this.

1 Like