[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: о кривости esd (was Re:ALSA)



On Tue, 25 Jul 2000, Victor Wagner wrote:

> On Tue, 25 Jul 2000, Vlad Harchev wrote:
> 
> > > >   Хмм, я думал что они просто не должны были запускаться - насчет глюков я не
> > > > в курсе - я их не юзаю.
> > > 
> > > Кто не должны? acroread? Он запускается но все гиперссылки почему-то едут.
> > 
> >   Тогда я не знаю - может acroread 4 (или 3) следует попробовать? 
> 
> И тот и другой пробовал. Четвертый вообще segfault-ится.
  
 Странно. Прямо сразу при запуске или на определенной странице? Может у тебя
бетта? Может есть другой бьюилд?
  
> > > Категорически не согласен. GUI, нарисованное в gui-билдере получается
> > > негибким. Оно имеет привычку разъезжаться при смене надписей на кнопках
> > > или дефолтных шрифтов, но даже если это побороть, (ну например SpecTcl
> > > прекрасно с этим справляетя) изменения структуры нижележащей базы данных
> > 
> >   Ты говоришь это, совершенно не имея компетенции. Вообще, gtk основан на
> Имею я компетенцию, имею. 
> 
> Кстати, по моему мнению в Tk pack geometry manager( тот самый который
> эмулируется данным gtk-шным кодом) obsolete. grid - гораздо мощнее и
> гибче. Но в любом случае задачи динамического изменения содержания окна
> (скажем в зависимости от изменений в структуре базы, или от статуса
> пользоватлеля) GUI-билдер не решает.

  Да, но может это уже задача программера? В gtk есть table - может это тоже
что и grid?

> > понятии контейнер (первичные table, hbox, vbox, fixed_positions и пр.) Как раз
> > там вообще не сохраняется информации о положении виджета, присвоенного ему gui
> > билдером. Посмотри как-нить код, использующий gtk - там программа, создающая
> > диалог "Hеllo, World" c двумя кнопками Ok, Cancel имеет вид (это программа на
> > С++ - как С ее не скопилишь из-за коментариев и обяхвлений переменных не в
> > начале):
> 
> И этими словами ты пытаешься доказать преимущества gtk?

 Ты сказал, что якобы весь gui разлезется при изменении размера шрифта/темы.
Этим кодом я показал, что никакие размеры/смещения не используются - gtk
автоматически располагает виджеты с учетом мин. размера нужного им.

> И ты мне предлагаешь пользоваться GUI-билдером, который даже синтаксически
> корректный код на всех языках поддерживаемых тулкитом сгенерить не в
> состоянии?   

  На для какого языка он генерит синтаксически неправильный код? Для python?
  Или ты подумал, что кусок кода был сделан на билдере? Нет, тот кусок кода я
ручками навскидку написал.

>  
> >  Как видишь, размер и смещение виджетов здесь не разу не было указано.
> > Попробуй изменить размер окна мышкой - все будет растягиваться (включая
> > кнопки).
> 
> Присланный пример переводится на Tcl/Tk один к одному и получается
> раз в пять компактнее за счет необязательности указания лишних параметров
> и отсутствия необходимости вызова _init, создания главного окна и явного
> входа в цикл обработkи событий. 
 
 То ж Tk, а это C. На perlGtk код можно использовать вот такой код (он
строит окно с кнопкой внутри):
$window = new Gtk::Widget       "GtkWindow",
                GtkWindow::type                 =>      -toplevel,
                GtkWindow::title                =>      "hello world",
                GtkWindow::allow_grow           =>      0,
                GtkWindow::allow_shrink         =>      0,
                GtkContainer::border_width      =>      10;

$button = new_child $window "GtkButton",
                GtkButton::label                =>      "hello world",
                GtkObject::signal::clicked      =>      "hello",
                GtkWidget::visible              =>      1;
 Немного похоже на Tk..
 

> >  А из gui билдеров я использую glade - там мышкой вставляшь эти коробки друг в
> > друга и виджеты в них, меняешь свойства, и он генерит код (для C, С++, perl,
> > питона, ады, эйфеля) подобный этому. Я в последнее время склоняюсь к perl.
> 
> 
> >   Не понял словосочетание "PCMCIA-схем" - каждое слово в отдельности знаю,
> > а вместе нет.
> 
> man cardctl
> 
> Это набор конфигурационных параметров, который можно переключить вручную
> как единое целое, например при втыкании ноутбука в другую сетку.
> Например, если у меня дома коаксиал, а на работе витая пара, и дома нет
> DHCP, я могу завести две схемы и при втыкании одной и той же сетевой
> карточки она поднимется либо с коаксиальным трансивером и статическим
> адресом, либо с трансивером TP и dhcp-клиентом, в зависимости от выбранной
> схемы.

  Хитро.
  
>  
> > всех уже запущенных приложений. Или эту адаптацию может делать
> > автоматически какая-либо (еще не написанная) софтина.
>                             ^^^^^^^^^^^^^^^^^
> Вот, вот. И в этом основной принцип GNOME и KDE. Давайте выкинем все,
> что наработано с 1985 года и сделаем по своему. Неважно, что работать с
> этим можно будет не раньше чем через 15 лет. Зато мы круче.
> 
> Поэтому кстати, и esd, а не nas.

  Возможно. 
 
>  
> > > Из всех чисто C-шных тулкитов меня устраивал только XView.
> > 
> >  Ты gtk полностью не знаешь. А для gtk полно bindings для др. языков- он
> > специально проектировался для легкой реализации bindings.
> 
>   
> > > Проблема заключается в том, что любой видгет имеет несколько десятков
> > > свойств, которые иногда хочется задать. Но обычно хочется задать не более
> > > десятка таких свойств.
> > 
> >   Если ты используешь glade, то этот вопрос отпадает. Если используешь API,
> 
> То есть "если ты не используешь нашу визуальную примочку, то хрен
> напишешь что либо полезное". Прям Borland какой-то получается.

  Никто не заставляет его использовать. Но тот-же диалог на Tk на С писать
примерно также геморойно, как и используя gtk с С.
 
> Правда, использование XML в качестве языка описания GUI это слегка
> компенсирует. Но все равно XML это не скриптовый язык.

 Зато можно cut-n-paste этого xml можно делать для быстрого редактирования
диалогов.

> > то свойства все свойства виджета для конструктора не указываются. Эти свойства 
> > (если не устраивают дефолтные значения) меняют с помощью доп. ф-й.
> 
> Что еше хуже. Поскольку вместо одной строчки - вызова конструктора, тебе
> потребуется десять. 
 
 Не велик геморрой и с вызовом функций писать, и таких строчек как правило
0-1-2 для каждого виджета.

> > 
> > >  Xview и Tk позволяют в одном вызове конструктора видгета указать ровно
> > > те свойства, которые тебе нужны, а остальные получат некоторые дефолтные
> > > значения (заметим, зависящие от текущих значений ресурсов) сами.
> > > 
> > > В gtk с этим гораздо сложнее. 
> > 
> >   Ты в нем не разобрался.
> 
> Разобрался настолько, чтобы понять, что мне лениво писать на нем без
> билдеров, а билдеров я не перевариваю, считая что они, как и любые
> костыли, только мешают ходить.

  Тебе просто разбираться с билдером и gtk лениво. Лучше потратить время на
изучение билдера, чем ручками все делать.
   
> > > > Производителям коммерческого софта хочется использовать компилируемые языки
> > > 
> > > В данном случае (хотя в этом же треде я яростно отстаивал их интересы
> > > против АЕН) - на них плевать. У них есть Motif, пускай пишут на нем.
> > 
> > > На мой взгляд, самым вредным в GNOME и KDE является принцип "все программы
> > > должны использовать только наш тулкит".
> > 
> >   Ну, не очень уж это и вредит. Это их проблемы и их время - пускай делают что
> > хотят.
> 
> Это и наши проблемы, постольку поскольку появляются программы, которые
> были бы полезными, если бы могли нормально жить в среде XWindow в отрыве
> от всяких KDE и GNOME, на которые откровенно жалко ресурсов.

  Подавляющему большинству таких программ не обязательно наличие
установленного (и тем более запущенного) десктопа - надо чтобы только
присутствовали gnome-libs или kde-libs (ну и может online-help-viewer) - а на 
них можно мега по 3 отдать.

> -- 
> Victor Wagner			vitus@ice.ru
> Programmer			Office:7-(095)-785-09-72
> Communiware.Net 		Home: 7-(095)-135-46-61
> http://www.communiware.net      http://www.ice.ru/~vitus
> 
> 

 Best regards,
  -Vlad

Reply to: