Приложение Ubuntu Desktop, позволяющее перемещаться по файлам с помощью клавиш со стрелками

Я не могу найти правильную терминологию для формулировки вопроса, поэтому, пожалуйста, отредактируйте.

В программе Eye of Gnome, а также в большинстве приложений для просмотра изображений, если у меня есть каталог изображений (image_1.png, ....image_n.png), то при нажатии на изображение в этом каталоге я увижу его предварительный просмотр. Затем, когда изображение будет открыто, если я нажму на стрелки влево/вправо на клавиатуре, оно заменит содержимое просмотрщика на предыдущее/последующее изображение в этом каталоге. Я не понимаю, как Eye of Gnome (или другие программы просмотра изображений) получают имя следующего файла, когда я нажимаю на стрелку влево/вправо. Какой механизм получения имени следующего файла?

Я спрашиваю, потому что мне нужен "просмотрщик" для другого типа файлов, и мне бы хотелось иметь такую же функциональность.

Я уже создал файл Desktop и поместил его в /usr/share/приложения. Это означает, что когда я дважды щелкаю по этому пользовательскому типу файла, он корректно открывается в программе, которую я создал. Но я не понимаю, как включить обработку стрелок влево/вправо ни в файле .desktop, ни в C++ приложении самостоятельно. Для справки, вот файл .desktop:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=gnome-panel-launcher
Name[en_US]=Custom Viewer
Exec=/home/bob/Desktop/custom_viewer/bin/custom_viewer %F
Name=Custom Viewer
Icon=gnome-panel-launcher
1
задан 6 October 2020 в 18:11

1 ответ

Действительно, функция просмотра различных файлов предоставляется не операционной системой, а самим приложением eog.

В вашем приложении C++ вам нужно будет реализовать это самостоятельно. Вам нужно будет написать код, который заставит вашу программу читать содержимое папки, в которой находится открытый файл. Затем вам нужно реализовать сочетания клавиш, которые заставят ваше приложение загружать следующий или предыдущий файл в списке.

1
ответ дан 6 October 2020 в 16:01

Другие вопросы по тегам:

Похожие вопросы: