Gtkのブックマークを階層化したい

ファイルマネージャで使われるブックマークですが、基本的にGTKでは $XDG_CONFIG_HOME/gtk-3.0/bookmarks を使うようです。
これはGTKのファイルですが、Qt系のファイルマネージャでも見ているように思います。

Freedesktop.orgのdesktop-bookmark-spec$XDG_USER_DATA/shortcuts.xbel が定義されているので、こちらを使うほうが妥当に見えますが、全然使われていなさそうです。履歴のほうは $XDG_USER_DATA/recently-used.xbel が使われているのですが……

さて、xbelも階層化できるかというとかなり怪しいですが、GTKのbookmarksは

URL Name

という形式なので、階層化する余地が全くなく、各所で要望は出ているようですが実際希望はなさそうなところ。

で整理する方法としては、

file:///home/foo ----- Mount Point -----

みたいな感じでセパレータらしきブックマークエントリを追加するか、もしくはリンクファームを作ってリンクファームをブックマークすれば2階層でアクセスできる、ぐらいしかありません。

じゃあリンクファームをブックマークしたらどうなるのか。

まずファイルのオープンは問題ありません。普通に辿って開けます。

ただし、オープンした結果ファイルパスを記録するタイプのアプリケーションだと、リンクファームを経由するパスになるため、問題を生じるかもしれません。
これは zenity --file-selection で簡単に確認できます。

NemoでOpen in Terminalした場合、シンボリックリンクは解決されるためこのケースでは全く問題ありません。
どちらかというと、オブジェクトストレージ的に本体を置いてリンクファームで整理するような方法を取っているときにこの仕様が不便に感じられます。

リンク先に ../ を含む相対リンクがある場合、相対リンク自体がリンクを展開した先を基準に解釈されるので問題は生じません。

VSCodeのようにファイルパスごとに設定などを保持するようになっている場合は、リンクファームを経由したかどうかで別物として認識されます。

結果的にはそこそこ実用的に使えるかなという感じでした。
もっとも、この方法はエントリがディレクトリである場合しか使えませんが。