marcelhollerbach / verne

A small efl based filemanager
BSD 2-Clause "Simplified" License
10 stars 5 forks source link

GTK3.0 bookmarks not properly displayed #16

Closed JeffHoogland closed 8 years ago

JeffHoogland commented 8 years ago

My ~/.config/gtk-3.0/bookmarks file contains the following data:

file:///media/jeff/Storage/GitHub GitHub
file:///media/jeff/Storage/BuildRoots BuildRoots
file:///media/jeff/Storage Storage
file:///home/jeff/Dropbox/Jeff/Toolbox%20Articles Toolbox Articles
file:///home/jeff/Dropbox/Jeff/Meadery%20Articles Meadery Articles
file:///home/jeff/Dropbox/Jeff/WorkThings WorkThings
file:///home/jeff/ITT%20PDFs ITT PDFs
file:///media/jeff/Storage/CrashTest CrashTest
file:///media/jeff/Storage/MODO%20Vods

This is properly displayed in other applications / file managers. In Jesus it is not displayed properly. Comparison of Jesus alongside PCManFM:

2015-11-23-201108

marcelhollerbach commented 8 years ago

Yep I know the problem, for now I temporarly disabled gtk-3.0 bookmarks until I know how to fix it.

I am currently searching for some kind of spec.

How can I determine if something is a label for the bookmark or part of the path ? Some FM´s are safing paths as unicode and the label seperated with a empty space after that. Other dont. Do you know if there is a funktion in some glib to get the bookmarks parsed by gtk ? So I dont have to deal with inconsistent behaviour ?

JeffHoogland commented 8 years ago

It is based on spaces. The first thing is the full file path with %20 for spaces in the file path. Everything after the first space is the folder name that should be displayed by the file manager.

Here is a python function I use to read in gtk3 bookmarks -> https://github.com/JeffHoogland/python-elm-extensions/blob/master/elmextensions/fileselector.py#L491

marcelhollerbach commented 8 years ago

Sooo its fixed. Had to decode the path, it was encoded according to the freedesktop-uri-spec. Should work now. jesus is NOT supporting labels, I think you should see what you are opening, the only labels I am supporting are the "hard" coded ones.