Комментарии 41
ну нет в Linux нативного проводника
Может нужный диалог всё-таки есть, но просто он встроен в тулкит или графическую оболочку? Ясное дело, один недоступен в KDE, другой в Gnome и XFCE, третий...
А нельзя просто сделать так, чтобы вызывался имеющийся диалог открытия файла из Qt или GTK? Как минимум один из них установлен на подавляющем большинстве Linux десктопах. В Android тоже что-то подобное должно быть.
В условиях корпоративных и можно завязаться на конкретную зависимость.
А нельзя как-то детектировать наличие хотя бы двух тулкитов? Qt и GTK. Они покроют основную часть пользователей. Я бы даже сказал почти всех. Ограниченный набор софта есть только на каких-то конкретных корпоративных системах. Можно ещё через настройки сделать смену или при исключительной ситуации переключаться на стандартный способ.
zenity --file-selection --title="Select a File"
Для этого надо добавлять PyQt/PySide или PyGTK (или как его там) соответственно.
Что тянет за собой соответственно Qt и GTK.
И хоть без Qt жизнь бывает, то страшненький диалог GTK как-то не лучше предлагаемого.
Почему для tcl/tk до сих пор не сделали современную тему оформления виджетов, чтобы она хотя бы не выглядела настолько некрасивой, топорной и устаревшей?
Не понял! В tcl/tk можно сделать любую форму виджета. Пришлите пример вашей приглянувшегося вам виджета и я покажу как он делается на tcl/tk.
Например, последний скриншот в статье чем вас не устраивает?
Дело не в форме, а общем визуальном стиле. Tcl/tk выглядит так, как выглядел интерфейс 25 лет назад, ну вот не хватает ему руки дизайнера.
Поэтому я и спрашиваю, что не так в последнем скриншоте? Это не недостаток Tcl/Tk, а скорее мой как разработчика, вернее как дизайнера. На свой счет это я принимаю, на счет tcl/tk — отвергаю. Тикль — это инструмент и хороший инструмент.
И все же, чтобы вы порекомендовали изменить на последнем скриншоте? Буду очень благодареню
Разве это не трудоёмко — сдвигать каждый элемент чуть-чуть в сторону от подобных, делать разные отступы от рамок в одинаковых полях, создавать кнопки в разных стилях и т.п.? Не проще ли строить интерфейсы из готовых элементов с системными цветами и шрифтами, без «разукрашивания» отдельных объектов? К тому же при использовании системных свойств можно быть уверенным, что при разном DPI экрана ничего не расползётся. Неужели в Tcl/Tk нет что-то типа сетки для выравнивания, библиотеки готовых компонентов или хотя бы пополняемой для переиспользования? Кроме пунктов в поле слева и списка в «окне» выбора файлов, больше двух одинаково оформленных элементов я не вижу, хотя используются не так много разных типов: надписи, поля ввода и кнопки.
Пользуясь случаем, спрошу — скажите пожалуйста, почему в подобном ПО настолько рьяно не соблюдается единообразие?
Это понятно, разработчики думают прежде всего о функционале (кстати, потребители в большинстве своем тоже думают в первую очередь о функционале, тем более таком специфическом как электронная подпись или информационная безопасность).
Как и обещал, высылаю скриншоты с учетом ваших замечаний. Они оказались по делу (хотя мог что-то и опустить).
Как попасть выше по дереву?
Еще раз вернувшись к вашему вопросу, я все решил вы правы и ввести отдельную кнопку "Перейти вверх/Go Up", как это есть в других проводниках. Заодно поправил вывод tooltip-ов.
Я не про формы и функциональность виджетов, а про look and feel. Посмотрите на современные GUI, тот же KDE, Gnome, Material Design от Google. У Google и Apple есть целые руководства, как должны выглядеть и работать графические пользовательские интерфейсы. Современные GUI не должны выглядеть, словно они прямо из времён Motif и Windows 3.11.
Например, последний скриншот в статье чем вас не устраивает?
Я даже не знаю что тут сказать. Вы сами разве не видите, что в этом интерфейсе всё плохо, начиная от компоновки виджетов, единообразия, дизайна (про всё это уже написали в комментариях) и заканчивая usability?
Человек пишет в одно лицо.
Он хороший программист, не не очень хороший дизайнер.
Хотите помочь — как дизайнер — помогите.
"Не учите меня жить, помогите материально" ©
То есть — делом.
Этим и отличаются так называемые дизайнеры от настоящих программистов. Настоящий программист всегда готов прийти на помощь, а дизайнеры — фу у вас тут не по ранжиру.
"Конструктивный" означает плодотворный, то есть творящий какой-то плод (© словарь Ожегова). Создающий что-то. Как говорит моя шефа — "критикуя — предлагай".
А критика в стиле "всё плохо" — это деструктивная позиция. Ничего не добавляющая, но разрушающая.
А так-то да, высказывание своего мнения ни разу не запрещено. Как и другого мнения об этом мнении. У на свободная страна ™.
Всё же не нужно приплетать личность разработчика, подменяя одно другим. Я ничего не пишу о том, что разработчик, который делал этот проект, плохой. Я вообще ничего не пишу об авторе, я даже не знаю кто автор, кто проектировал этот интерфейс. Если я вижу плохой интерфейс, я об этом говорю, почему я не могу об этом говорить? Я не хочу никого задеть или обидеть.
Более того, подавляющее большинство интерфейсов, которые нас окружают, плохие. Это факт, который хорошо разобран в книгах Алана Купера и Джефа Раскина. Потому что сделать хороший интерфейс (GUI, CLI, пульт управления и т.д.) сложно. Реально сложно, этому нужно учиться и набираться опыта так же как в программировании.
Первое, чтобы получить опыт, надо что-то делать и представлять на обзор. Только так можно получить опыт.
Второе, у каждого свое может быть видение и поэтому надо помогать и делиться своим опытом. Один делится как программист, разрабатывая, например, инструментарий. Другой делится опытом как использовать инструментарий.
Все относительно. Но если не делится опытом, не подсказывать, ничего хорошего не будет. И еще:
Более того, подавляющее большинство интерфейсов, которые нас окружают, плохие
Наверное, с вашей точки зрения, так и есть. Но мы живем среди них, пользуемся ими, нашу жизнь сложно представить без этих "плохих" интерфейсов и дальше будем жить. Будем жить и улучшать эти интерфейсы. Что-то хорошее и полезное можно сделать только вместе.
Истина рождается, как говорится, в споре. Чтобы двигаться надо что-то с чем-то сравнивать.
Из списка кросплатформенных Breeze выглядит неплохо на первый взгляд
github.com/MaxPerl/ttk-Breeze
Посмотрите внимательно, в приложении cryptoarmpkcs для PC используется как раз тема Breeze (scrollbar, radio и checkbutton и т.п.):
Можете заглянуть и исходники и найдете ее использование там. Я полностью согласен с вами:
Из списка кросплатформенных Breeze выглядит неплохо
Да, и все темы, ссылку на которые вы прислали (за это спасибо), я, естественно, смотрел и так или иначе задействую.
Все мелкие стрелки налезают на рамки — вообщем печально выглядит.
К вопросу а что не так — взять то же окно выбора стилей КДЕ — меняем стили от винды 95 до последних кед и нигде такого хаоса не наблюдается.
По существу — юзабилити диалога можно улучшить, например добавив закладки и сортировку по дате (чтобы находить самые свежие файлы в Downloads)
В идеале язык вообще дёргать бы из переменных окружения, потому что юзеру встретить настройку языка в таком месте будет, мягко говоря, неожиданно
Возможность удаления файлов диалогом "открыть" или "сохранить как"
Файлы удаляются (как и каталоги) в файловом проводнике, а он может быть открыт с опцией выбора файлов для чтения или для записи, не более того. Расположение кнопок, сделайте как вам удобно.
свою нишу tcl/tk хорошо имеет. сильно «навороченную» gtk/qt не хочется всегда за собой тащить, а tk — пожалуйста.
основным языком программирования для меня он всё же не стал, но использую tcl/tk много где как библиотеку GUI.
Tcl/Tk. Альтернативный файловый проводник для платформ Linux и Android