небольшая ремарка, где я попытаюсь отговорить форумчан использовать этот так называемый тулкит. возможно, тема будет пополняться, как и тема про стим.
итак, в отличие от вменяемых тулкитов которые стараются быть удобны для пользователя, gtk пронизан религиозным культом, имя которому HIG. культ вобрал в себя всё худшее из apple и m$ и в его основе стоят два догмата:
1)программа должна быть написана так, что бы пользоваться ей мог даже клинический идиот.
2)фичи и настройки смущают пользователя, поэтому их надо убрать.
естественно, в результате недолгой эволюции эти догматы мутировали в совсем непотребный вид:
1)желание сделать программы, которыми может пользоваться даже идиот привело к тому, что теперь пользоваться ими может только идиот.
2)желание умерить количество фич и настроек привело к тому, что настройки и фичи выпилили вообще и теперь gtk просто не только неудобен, но и просто не способен делать элементарные вещи.
рассмотрим пример отвратительной эргономики этого тулкита на примере его файлового диалога открытия/сохранения
1)и первое, что мы видим -- это кнопки в полэкрана и офигенно рациональное использование рабочего пространства. обратите внимание на расстояния между файловыми строками -- очевидно, что разработчики gовноtk ненавидят пользователей со слабым зрением, использующих большие шрифты и пользователей нетбуков.
2)скорее всего, вы не храните в одном каталоге файлы только одного типа. среди картинок встречаются как jpg, так и png, tga; среди музыки -- ogg, mp3, flac, среди сырцов -- всё что угодно. хотите отсортировать файлы по суффиксу? разработчики gовноtk говорят вам жирное "НЕТ!", согласно HIGу сортировка по суффиксу не нужна -- ведь это так удобно, когда список файлов выглядит как помойка! обратите внимание, что эта извращённая логика почему то не распространяется на сортировку "по размеру" -- она на месте. кстати, в своё время, был патч исправляющий этот вопиющий недостаток, но аффтары gовноtk его, естественно, забанили. ничем, кроме как спланированной диверсией против пользователей это объяснить нельзя.
3)а это уже просто верх антиэргономичности -- пустое место занимает почти половину диалогового окна.
4)скроллбар без комментариев
и ещё один пример "заботы о пользователях". вы когда ни будь совершали опечатки при сохранении файла, или наверняка пару раз создавали "новую папку" вместо нужного имени? и диалоги mfc и qt позволяют кликнуть на файл/директорию и переименовать её, или удалить, но только не gовноtk! разработчики решили что раз уж в имени файла получилась опечатка, то исправлять её следует только через сосноль или файловый манагер.
ну и внешний вид. qt на венде мимикрирует под системные настройки и весьма удачно, а под гну/линаксом имеет в составе утилиту qtconfig с помощью которой можно настроить комфортную для глаз тему и шрифты. с gовноtk всё не так. под вендой он тормозит и выглядит как говно, и под гну/линаксом он так же тормозит и выглядит как говно. если во времена gtk2 это ещё как то можно было исправить с помощью темы mist compact и сторонней утилиты, то с выходом версии 3 можно только страдать.
ещё один пример контринтуитивности и неудобства. диалог при закрытии программы:
по умолчанию выбран пункт [отмена]. адекватный человек закрывает программу осознанно -- когда всё уже доделано, и, поэтому, логично было бы сделать значением по умолчанию вариант [сохранить и выйти], реже -- когда итоговый результат не понравился, а работа надоела, поэтому кнопка [сохранить] сохранить должна быть рядом, и уж совсем редко, по ошибке, когда закрытие следует [отменить]. даже в такой мелочи разработчики gовноtk постарались усложнить жизнь пользователям и сделать диалог максимально неудобным.
thambs писал: диалоги mfc и qt позволяют кликнуть на файл/директорию и переименовать её, или удалить, но только не gовноtk! разработчики решили что раз уж в имени файла получилась опечатка, то исправлять её следует только через сосноль или файловый манагер
Да, это всегда вымораживало лютым морозом. Между тем даже в блендерном колхозном файловом диалоге можно и переименовать, и удалить.
Цитата:
thambs писал: программа должна быть написана так, что бы пользоваться ей мог даже клинический идиот
Особенно парадоксально, когда так пытаются делать программы, которыми идиот не сможет пользоваться в принципе. Ну то есть просто человек недалёкий сможет, а идиот уже нет. При этом прикрываются заботой о новичках и интуитивностью.
Никогда не пользовался GTK и мне не нравятся программы, написанные с его помощью. Хотя бы уже за то, что под винду они ставят кучу какого-то линукс-мусора. Раньше я кстати не понимал чем же сами гтк-программы у меня вызывают такую неприязнь, теперь понимаю. Так что спасибо за подробный обзор.
Government-Man писал: Хотя бы уже за то, что под винду они ставят кучу какого-то мусора.
Ага, теперь вы понимаете, почему для меня не существует такая вещь, как GTKRadiant и все его форки. И почему я несколько лет мучился с глючным Q3Radiant (который на MFC), а потом плюнул и начал писать джек.
Да, за гигантские кнопки и кучу пустого пространства убивать надо. Кстати именно такой интерфейс имели самые уродские школоло-программы (а иногда к сожалению и не школоло) 90х годов - написаны они были на вижуал бейсике или делфи, и имели гигантские очерченные жырной рамкой кнопки, дурацкие картинки в каждой кнопке и ЖЫРНЫЙ ШРИФТ КАК МОЖНО БОЛЬШЕ ЖЫРНОГО ШРИФТА!!!
//админы, а можно вот такие посты прикреплять к главномупо мере возможностей? дело в том, что уже давно меня это раздражает. хочу собрать и систематизировать весь этот дегенератизм, а когда будет готово, написать письмо rmsу о том, что в команде gtk засели вредители.
Тоже бесит диалог выбора файлов в GTK. И самое плохое, что GTK воспринимается как стандарт гуя на линуксе и, соответственно, используется в несвязанных с гномом программами, например, в гугл-хроме. Там, впрочем, авторы постарались и ужасов GTK не видно, пока дело не доходит до загрузки файлов - а в этом случае, мы как раз снова имеем дело с этим дурацким диалогом.
А что со скроллбаром то?
Цитата:
thambs писал: и из всего этого, только qt вменяем. gовноtk -- отстой*, wx под блядиксом косит под gовноtk.
Не только косит, но и напрямую использует.
Есть ещё Juce, правда вот программ я на нём не видел, и Hello world из примеров у меня где-то две секунды загружается Но выглядит красиво http://www.juce.com/
nemyax
в блендер не использует тулкиты, у него свой велосипед. fire64
а зачем тогда вообще тулкиты? можно как во времена ДОСа каждому своё велосипедить.