История изменений
Исправление intelfx, (текущая версия) :
Изнутри песочницы вызывается org.freedesktop.portal.FileChooser.OpenFile(), там есть опция directory.
Допустим. Ну если потом каталог можно открыть и передать fd в document portal и это сработает, тогда хорошо. Ну как «хорошо»: удачи переписать ядро digikam, чтобы абстрагировать его от реальных путей к файлам и заставить код БД думать, что /run/user/1000/foobar/bazquux
— это то же самое, что /mnt/data/path/to/bazquux
. Мне кажется, что это случится примерно никогда.
Вот что мешало монтировать FUSE прямо в то место, где лежит затребованный файл? Или просто bind-монтировать файл/каталог с хоста в песочницу вместо всей свистопляски с виртуальными путями и «документами»?
Алсо, UX у этого дела просто восхитительный. Я так и вижу, как юзер запускает digikam во флатпаке (до этого пользовавшись нативным), открывает свою БД и digikam такой говорит: сейчас вам будет четыре раза подряд показан диалог открытия каталога, выберите в первом /foo
, во втором /bar
, в третьем /baz
и в четвёртом /quux
. Не перепутайте и не ошибитесь, потому что реальных путей нам отсюда не видно.
Наркомания.
Внутренняя БД, скорее всего, лежит где-нибудь в $XDG_DATA_HOME, а не в произвольном месте, которое надо выбрать юзеру.
Нет.
Исправление intelfx, :
Изнутри песочницы вызывается org.freedesktop.portal.FileChooser.OpenFile(), там есть опция directory.
Допустим. Ну если потом каталог можно открыть и передать fd в document portal и это сработает, тогда хорошо. Ну как «хорошо»: удачи переписать ядро digikam, чтобы абстрагировать его от реальных путей к файлам и заставить код БД думать, что /run/user/1000/foobar/bazquux
— это то же самое, что /mnt/data/path/to/bazquux
. Мне кажется, что это случится примерно никогда.
Вот что мешало монтировать FUSE прямо в то место, где лежит затребованный файл? Или просто bind-монтировать файл/каталог с хоста в песочницу вместо всей свистопляски с виртуальными путями и «документами»?
Внутренняя БД, скорее всего, лежит где-нибудь в $XDG_DATA_HOME, а не в произвольном месте, которое надо выбрать юзеру.
Нет.
Исправление intelfx, :
Изнутри песочницы вызывается org.freedesktop.portal.FileChooser.OpenFile(), там есть опция directory.
Допустим. Ну если потом каталог можно открыть и передать fd в document portal и это сработает, тогда хорошо. Ну как «хорошо»: удачи переписать ядро digikam, чтобы абстрагировать его от реальных путей к файлам и заставить код БД думать, что /run/user/1000/foobar/bazquux
— это то же самое, что /mnt/data/path/to/bazquux
. Мне кажется, что это случится примерно никогда.
Вот что мешало монтировать FUSE прямо в то место, где лежит затребованный файл? Или просто bind-монтировать файл/каталог с хоста в песочницу?
Внутренняя БД, скорее всего, лежит где-нибудь в $XDG_DATA_HOME, а не в произвольном месте, которое надо выбрать юзеру.
Нет.
Исправление intelfx, :
Изнутри песочницы вызывается org.freedesktop.portal.FileChooser.OpenFile(), там есть опция directory.
Допустим. Ну если потом каталог можно открыть и передать fd в document portal и это сработает, тогда хорошо. Ну как «хорошо»: удачи переписать ядро digikam, чтобы абстрагировать его от реальных путей к файлам и заставить код БД думать, что /run/user/1000/foobar/bazquux
— это то же самое, что /mnt/data/path/to/bazquux
. Мне кажется, что это случится примерно никогда. Вот что мешало монтировать FUSE прямо в то место, где лежит затребованный файл? Или просто bind-монтировать файл/каталог с хоста в песочницу?
Внутренняя БД, скорее всего, лежит где-нибудь в $XDG_DATA_HOME, а не в произвольном месте, которое надо выбрать юзеру.
Нет.
Исправление intelfx, :
Изнутри песочницы вызывается org.freedesktop.portal.FileChooser.OpenFile(), там есть опция directory.
Допустим. Ну если потом каталог можно открыть и передать fd в document portal и это сработает, тогда хорошо. Ну как «хорошо»: удачи переписать ядро digikam, чтобы абстрагировать его от реальных путей к файлам и заставить код БД думать, что /run/user/1000/foobar/bazquux
— это то же самое, что /mnt/data/path/to/bazquux
.
Внутренняя БД, скорее всего, лежит где-нибудь в $XDG_DATA_HOME, а не в произвольном месте, которое надо выбрать юзеру.
Нет.
Исходная версия intelfx, :
Изнутри песочницы вызывается org.freedesktop.portal.FileChooser.OpenFile(), там есть опция directory.
Допустим. Ну если потом каталог можно открыть и передать fd в document portal и это сработает, тогда хорошо.
Внутренняя БД, скорее всего, лежит где-нибудь в $XDG_DATA_HOME, а не в произвольном месте, которое надо выбрать юзеру.
Нет.