-
-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GTK интерфейс #10
Comments
Круто выглядит.
В этой. |
Привет! Прототип ls0h@9c6f5d0 вполне работает. Во всяком случае тот функционал, что был в оригинальном приложении. Плюс разделение сервисов на вкладки. Так же я добавил переключатель для выбора создавать ли В планах:
Вопросы:
Как вопрос с кнопкой удаления и вопросы с размещением модулей и файлов P.S.: При запуске есть несколько |
Ты видел какой дизайн GNOME рекомендует: https://developer.gnome.org/hig/stable/patterns.html.en Думаю это будет интересно как можно ближе быть к их рекомендациям. То что я изначально создал было на очень скорую руку и дизайн кривоватый. Еще выбору профиля при создании Instance тоже требуется отдельное окошко. Там будет не удобный длинный список когда количество профилей возрастет.
Особенно если можно запустить без сохранения настроек. Я подумаю как это сделать.
У меня пробелы смотрелись слишком узкими. (как будто там не было пробела) Возможно это была проблемма с PyQt5.
Лучше в мусор. Я напишу код в следующей версии.
Вот так будет выглядить папка со всеми исходниками
Из папки python можно будет запускать скрипты типо как Я опубликовал версию 0.4.2 сегодня. Это будет наверно последняя перед 0.5.0 где будут все изменения. |
Вроде разобрался: ls0h@2266772 Другие вопросы из предыдущего сообщения пока остаются. |
Да в принципе то же самое. Я говорил про расположение элементов и их назначение, а не про тему оформления.
Код для интерфейса на GTK уже есть. Я бы хотел его включить в проект, если ты не против. В принципе я мог бы заниматься его развитием. Многие аспекты UI больше завязаны на взаимодействие (код), чем на внешний вид.
Есть какой-то план? Я мог бы поучаствовать. P.S.: Ты пробовал запускать интерфейс на GTK? Как по удобству взаимодействия? |
Я очень хотел написать GTK интерфейс на C. (даже создал новую D-Bus библиотеку) Если использовать Glade то можно использовать тот же .glade файл для C то и для Python.
Я думаю какой дизайн будет луше всего. Скорее всего каждый сервис будет использовать Мне нужно понять какую мета информация потребуется для графического интерфейса который использует D-Bus для комуникации. |
Необычный подход! Чаще встречается когда основная (вычислительная) часть на C, а интерфейс как раз на Python или другом высокоуровневом языке. Если не секрет, почему интерфейс на C, когда остальные части на Python? Остальные части так же будут переписаны на C? |
Вычесления довольно не значительные. Куда важнее возможность быстрого создания прототипов. Графический интерфейс наоборот очень стабилный.
Нет. |
Она там расположена, чтобы быть рядом с полем поиска по виджетам. Но в большинстве гномо-приложений поле поиска выпадает сверху по шорткату, либо после нажатия на кнопку, которая находится в хедбаре. Да и много элементов управления в хедбаре для bubblejail ни к чему. |
Хорошо. Не уверен, подходящий ли вариант делать кнопку настроек (шестерёнку) на каждой строке. С одной стороны это хорошо, можно быстро на неё нажать, с другой - визуально будет не очень, т.к. они будут стоят достаточно близко и будут образовывать вертикальную линию повторяющихся элементов. Кстати, надо будет для иконки приложения резервировать место, т.к. далеко не у всех instance они есть, если место не резервировать, то название может сдвигаться влево, что помешает выравниванию. А что ты думаешь, если "Instances list" написать в подзаголовок, под основное назание? P.S.: Я тут тоже делаю вариант этого интерфейса. Чуть позже покажу, как доделаю. |
Вот такой вариант: Информационная панель это полезно и удобно по следующим причинам. Может быть много Я осознанно не делаю иконки напротив каждого пункта. На мой взгляд, они будут присутствовать не так уж часто. Почему? Зачем вообще пользователю BubbleJail? Как часто он будет запускать с её помощью приложения из репозитория (которым как правило доверяют, которые уже могут быть ограничены через AppArmor или другие песочницы) и как часто будет запускать приложения просто скачанные откуда-то? Я думаю, в запуске недоверенных приложений из ненадёжных источников и есть смысл. А для них, скорее всего, никакой иконки приложения не будет, либо её невозможно будет найти, т.к. она будет лежать вне Для перехода к редактированию можно выделить пункт списка и нажать Вот рабочий код: ls0h@2f9fc97 |
Я добавил фильтр для быстрого поиска нужного сервиса. |
Сделал.
GNOME самый ванильный.
Наоборот я создавал Bubblejail чтобы запускать программы из репозитория. У AppArmor, SELinux и Firejail конфигурация слишком не комфортная так как приходится прописовать лишком много правил. Сервисы созданы на основе того как flatpak задает параметры. Flatpak не поддерживает программы из репозитория поэтому я создал bubblejail. Профили как раз сушествуют чтобы легко установить приложения из репозитория. (я добавлю код который будет фильторовать профили на основе того установлен ли Desktop Entry) Еще я бы не стал добавлять Command Line в окошко информации. Все Desktop Entries генерируемые при создании Instance из профиля напрямую отправляют аргументы. ( Я планирую находить иконки из Desktop Entry асоциирваного с Instance. Мета данные сохраняются при создании Instance. Я думаю поле поиска должно фокусироваться при запуске исчезать если пользователь кликнул где-то снаружи. Так Geddit делает и мне кажется очень удобно. Еще иконка наверное должна быть в GtkHeaderBar как во всех остальных GNOME программах. Иконка Firefox очень хорошо выглядит. Векторные иконки эот сахар для глаз. Может побольше их? |
Ок. Вероятно я не совсем понял цели проекта. В любом случае, если иконки приложений использовать в списке, то надо придумать, как резервировать место, если иконки нет. Иначе, строка с названием, которая идёт следом за иконкой будет сдвигаться и это будет некрасиво. Можно задать минимальный размер для
Можно убрать. Однако, опять же, если это
Именно так сейчас это и работает в моей версии GTK интерфейса.
Не совсем понял, о чём ты говоришь. Что значит "побольше их"? Иконка приложения берётся из темы оформления по имени, которое указывается в
Я сделал так, что поле поиска сервисов фокусируется при нажатии на кнопку
С этим не совсем согласен. Смотри. Пользователь нажал кнопку Я ещё хочу, чтобы поле поиска отображалось при нажатии
Можно попробовать. Вообще так не во всех, я именно поэтому и приводил выше скриншот Glade. Там поиск виджетов находится под |
ls0h@8305882
На мой взгляд лучше, чтобы кнопка
Я думаю, придерживаться HIG хорошо. Однако иногда от него можно отходить, когда это логично. P.S.: Проблему с |
Можно использовать какую нибудь стандартную иконку. Например system-run-symbolic
У меня появилась идея добавить иконку к каждуму сервису рядом с названием. В Adwaita есть куча иконок которые вполне могли подойти к сервисам. Но это на потом.
У Ubuntu стоит расширение добавляющее Maximize, Minimize кнопки которых в ванильном GNOME нет. Ещё текущее окошко довольно узкое. GNOME рекомендует минимум ширину 640 пикселей а сейчас стартовая ширина 500. Мне еще не нравится что при использовании поиска пропадает возможность переключить между списком Available/Enabled. Например пользователь может набрать "audio" и попробовать переключаться между списками чтобы увидеть какие аудио настройки доступны. |
Да, хорошая мысль. Я попробую.
Интересная мысль, можно попробовать. Правда сомневаюсь, что для всего найдутся в едином стиле.
Это хорошо. Мне нравится сворачивать окна!. 😄
Думаю, список будет смотреться слишком пустым.
Ок. Попробую фильтровать сразу по обеим группам. |
Тогда можно добавить шестеренку. Мне не кажется что повторяющеюся элементы будут не уместны. Туда же и мусорное ведро отправится. |
Ок, я попробую это реализовать. Мне надо разобраться как эффективно создавать свои виджеты, чтобы можно было их добавлять из Glade. Либо, как использовать композитные шаблоны (glade composite widget template) из Python. Пока у меня добавление виджетов делается своим способом. |
Немного поработал над списком |
ls0h@6581e8a |
Хорошо выглядит |
Привет!
В продолжении разговора в теме про AppImage #8 (comment) , а именно вот этого предложения:
Я начал работу над интерфейсом на GTK (https://github.com/ls0h/bubblejail/tree/feature/gtk). Предложенную идею про разделение на две вкладки я почти реализовал. Пока интерфейс находится в разработке. Опции сервисов (так же сохранение, создание нового сервиса, ...) ещё не реализованы. Зато сервисы можно сворачивать. А прототип можно запустить и попробовать.
P.S.: Пока для простоты разработки
bubblejail_gtk.py
находится в корне проекта. Потом будет перенесён в пакетbubblejail
.P.S.: Дальнейшее обсуждение интерфейса можно вести в этой теме или на каждую идею/доработку открывать отдельную?
The text was updated successfully, but these errors were encountered: