Linux: file picker problems

I’m using KDE Plasma and whenever I use a sampler (Squinky’s SFZ, NYSTHI’s samplers) and try to load a sample I am not taken to the last used location so I have to navigate each time which is really tedious and time consuming when trying out lots of different samples. There is a recently used list but there seems to be no way to get to the directory these files are located in, and there is no drop down location list.

Does anyone know of a way to fix this? It’s driving me crazy and puts me off even bothering using samples. As you can see I have set up some favourite places but even this is means a lot of manual navigation when there are lots of sub folders.

Same here and it driving me crazy, too.

I think, it’s a unsharpness with the Plasma desktop system, but I’m not sure. Every file dialog has the same annoying effect. So far, I haven’t figured out where the shoe pinches.

1 Like

It looks like there is probably a way for a module (like SFZ Player) to remember the last location rather than rely on the OS to do that. Will investigate

2 Likes

I must clarify my statement about “every file dialog”.

As an example, I opened LibreOffice Writer and used the File Open Dialog. As long I have 1 Writer open, the File Open Dialog always use the last opened one. Only when I close all Writer objects and start it again, the game begins with the configured document folder.

So, I think from my point of view that it isn’t a KDE Plasma unsharpness.

The question is: Are there different ways to use the File Open Dialog ? Maybe it depends on the parameters in the code.

1 Like

Yeah I can confirm that it isn’t a KDE thing, at least I think. I booted into a live session of Xubuntu (I was amazed how quick and snappy it was) and installed Rack, the result was exactly the same. So I can only imagine that Rack is not using the KDE file dialog?

The window that Kwrite uses looks like this, note that it does have the recents drop down address bar.

The firefox window looks the same as Rack’s and has no drop down address bar:

So I am wondering if Rack is using the GTK dialog. I know there is a way to make firefox use the KDE dialog (with the variable GTK_USE_PORTAL=1) but this doesn’t seem to do anything for Rack. Apparently if you use install xdg-desktop-portal-kde then some programs will use the KDE picker.

I managed to get Zenity to use the KDE file picker but again this doesn’t work with Rack for some reason.

I think Rack is hard coded to use the built in file picker rather than using the system one, the previous link hints at this, unless Rack is GTK2.

I found something in Rack’s code that refers to osdialog.h which seems to point to this. This mentions GTK2/GTK3 on Linux so I guess that rules out the GTK2 theory above.

I’m stuck at this point though, I don’t understand the code or what is being used where.

2 Likes

AFAIK this issue isn’t related to linux, the modules need to handle remembering the last path on their own. For example Canard from Bidoo opens the dialog at the last location (see source).

1 Like

That’s interesting to hear. I think there are actually two issues here, one with the location not being remembered but also the fact that it forces the GTK file picker. I would love to see both fixed but one or the other would be a huge improvement.

I was thinking about trying to make a change in the code and compile rack but it looks far from simple.

VCV, and most VCV plugins that load/save files use a cross platform toolkit for file open dialogs, it’s called osdialog

It was written by @Vortico , but lives in its own repo, apart from VCV. Is lives here: GitHub - AndrewBelt/osdialog: A cross platform wrapper for OS dialogs like file save, open, message boxes, inputs, color picking, etc..

The readme says “Currently supports MacOS, Windows, and GTK2/GTK3 on Linux.”

The API optionally lets the caller manage starting folder. Here is a part of the documentation for the file picker: "path is the default folder the file dialog will attempt to open in, or NULL for the OS’s default."

Looking around at various plugins I have, I see that some do use this parameter. @unlessgames mentioned that Bidoo plugins do this, and I have seen that in their code.

My plugins do not use this. Clearly the “OS default” is something not too annoying on windows, and something terrible on Linux. In any event, the fix would seem to be for the module author (me, in this case) to add some code to make linux behave itself. I had been completely unaware of this issue until this post came along.

PS: It is quite appropriate to log a bug for something like this. As others have mentioned, it’s fine to talk about bugs/feature requests here, but they are less likely to be forgotten if you put them in a place where they won’t be forgotten: Issues · squinkylabs/SquinkyVCV · GitHub

3 Likes

For me, the default is a “recent items” view on linux, wouldn’t say it is terrible but not always useful. The problem I guess is that sometimes you do want to use the same folder and other times you don’t. So I’m not sure there is a solution that satisfies all or most cases. I’m happy with having pinned folders on the side of the file window for quick access, but I’m not really picking samples that much, mostly just use a few longer samples where the browsing happens inside the sample, not the folder.

But in the case of choosing samples for like drum hits where you would want to go through many in a short time, I think the module in use should have some “cycle samples in folder” option (I’ve used PicoDrums and Radio Music for this sort of need), because even if the file browser opens at the last location, it is still a hassle to do right-click, select open, remember the last file you’ve tested, scroll to it, pick the next.