LINUX.ORG.RU
ФорумTalks

KDE ждёт быстрая смерть?


0

0

GNOME и GTK развиваются плавно, без революций, но верно.

Qt в каждом мажорном релизе ломает API/ABI, и каждый раз приходится переписывать под новую версию весь KDE. Между KDE2 и KDE3 прошло полтора года, а ещё через шесть лет всё выкинули вновь.

Сомневаюсь, что KDE4 успеют догнать Гном до выхода Qt5... а вы что думаете?

★★★
Ответ на: комментарий от gaa

>Ладно-ладно, сказанное относится только к pango.

в Qt емнип входит поддержка gobject в целом и g_main_loop в частности.

geek ★★★
()
Ответ на: комментарий от gaa

>Товарищ не в курсе, что _любая_ смена используемых библиотек требует повторения полного цикла тестирования?

товарищ видимо не в курсе, что для отладки плагинов не обязательно пересобирать приложение

>Дороговато для банальной проги выйдет GtkFileChooser...

чем дороговато-то? Развей мысль

geek ★★★
()
Ответ на: комментарий от alex_custov

> когда KIO появился, FUSE ещё не было в ядре, чтобы любая user space реализация гарантированно работала.

Древность костыля не оправдывает его наличия сейчас. Теперь-то можно уж и переписать назад. Например, протолкнуть под шумок с kde4.

gaa ★★
()
Ответ на: комментарий от gaa

>geek машет велосипедом :)

да? в каком месте велосипед и где можно глянуть на альтернативные реализации?

geek ★★★
()
Ответ на: комментарий от geek

>> Ладно-ладно, сказанное относится только к pango.

> в Qt емнип входит поддержка gobject в целом и g_main_loop в частности.

Вау! И мне таких грибочков! Ну или номер строчки и файл в коде qt.

gaa ★★
()
Ответ на: комментарий от gaa

>Древность костыля не оправдывает его наличия сейчас. Теперь-то можно уж и переписать назад. Например, протолкнуть под шумок с kde4.

увы, NIH-синдром не позволяет :)

ну и ещё маленькое замечание - fuse не кроссплатформенная весчь

geek ★★★
()
Ответ на: комментарий от geek

>>всем.

> не аргумент, увы

аргумент, увы. В третий раз предлагать написать программу для GNOME и для KDE я уже боюсь...

>>а для чистых Qt-приложений vfs никак, да? =) упс.

минимальный набор там есть - по localhost/HTTP/FTP ходит.

>>/me машет флагом GIO/GVFS

которую тут же окрестили KIO аналогом ? :)

alex_custov ★★★★★
()
Ответ на: комментарий от geek

>> Товарищ не в курсе, что _любая_ смена используемых библиотек требует повторения полного цикла тестирования?

> товарищ видимо не в курсе, что для отладки плагинов не обязательно пересобирать приложение

Если плагин внутри моей программы, то я им кручу как хочу. Тут же обсуждались внешние навески на glib/gtk.

>> Дороговато для банальной проги выйдет GtkFileChooser...

> чем дороговато-то? Развей мысль

самый быстрый способ взять имя файла из диалога открытия: puts [ tk_getOpenFile ] . Остальное -- уже сложности. предлагаю для примера привести то же самое на gtk.

gaa ★★
()
Ответ на: комментарий от geek

> ну и ещё маленькое замечание - fuse не кроссплатформенная весчь

А кто-то ещё использует быдловиндовую платформу? Под линухом, соляркой и макосью fuse или fuse-подобные вещи уже есть.

gaa ★★
()
Ответ на: комментарий от gaa

>Вау! И мне таких грибочков! Ну или номер строчки и файл в коде qt.

To enable closer integration with the GNOME deskop environment and tools, Qt 4.2 now contains support for the Glib eventloop. This makes it possible for Qt applications to use plugins made using other Glib-based frameworks, and even enables Qt plugins to be created for use with non-Qt applications.

все грибочки на trolltech.com :)

geek ★★★
()
Ответ на: комментарий от geek

>> Древность костыля не оправдывает его наличия сейчас. Теперь-то можно уж и переписать назад. Например, протолкнуть под шумок с kde4.

> увы, NIH-синдром не позволяет :)

Как ни странно, но тут я согласен.

gaa ★★
()
Ответ на: комментарий от geek

>> Вау! И мне таких грибочков! Ну или номер строчки и файл в коде qt.

> To enable closer integration with the GNOME deskop environment and tools, Qt 4.2 now contains support for the Glib eventloop. This makes it possible for Qt applications to use plugins made using other Glib-based frameworks, and even enables Qt plugins to be created for use with non-Qt applications.

> все грибочки на trolltech.com :)

Про GObject я всё равно не нашёл.

gaa ★★
()
Ответ на: комментарий от gaa

>>Древность костыля не оправдывает его наличия сейчас. Теперь-то можно уж и переписать назад. Например, протолкнуть под шумок с kde4.

KIO весьма большая библиотека. Подсистемы KIO/slaves, KIO/Job* и Sheduler придётся переписывать практически с нуля. Я уже не говорю о самих slaves, которых весьма приличное количество.

alex_custov ★★★★★
()
Ответ на: комментарий от gaa

>Если плагин внутри моей программы, то я им кручу как хочу. Тут же обсуждались внешние навески на glib/gtk.

так я про внешние и говорю

>самый быстрый способ взять имя файла из диалога открытия: puts [ tk_getOpenFile ] . Остальное -- уже сложности. предлагаю для примера привести то же самое на gtk.

заверни создание диалога и получение имени файла в функцию - получишь тоже самое. В чем принципиальная разница?

я тоже могу попросить тебя аналог следующего кода показать - без разницы, на tk ли, на qt ли =)

-- cut -- from dogtail import tree gcalctool = tree.root.application('gcalctool') gcacltool.dump() -- end --

geek ★★★
()
Ответ на: комментарий от alex_custov

> KIO весьма большая библиотека. Подсистемы KIO/slaves, KIO/Job* и Sheduler придётся переписывать практически с нуля. Я уже не говорю о самих slaves, которых весьма приличное количество.

Но ведь результат того стоит! Например, зайти конкверором на ftp://porn.de, открыть там zip-архив с фотографиями и запустить прям оттуда GIMP, который фотку отредактирует и назад в архив запакует. Ради этого что угодно переписать можно.

gaa ★★
()
Ответ на: комментарий от gaa

>( Куда строку ввода в диалоге открытия дели? Каким грязным хаком её вернуть на место? )
Ctrl+L
А вообще поиск в диалоге рулит.

Вот вопрос А как в QT приложениях обстjят дела с виртуальными ФС? Их поддержку надо реализовывать в приложении или они автоматом добавятся при написании плуга к QT?

BeerSeller ★★★★
()
Ответ на: комментарий от geek

>> Если плагин внутри моей программы, то я им кручу как хочу. Тут же обсуждались внешние навески на glib/gtk.

> так я про внешние и говорю

Любая внешняя навеска потребует полного перетестирования всего продукта.

>> самый быстрый способ взять имя файла из диалога открытия: puts [ tk_getOpenFile ] . Остальное -- уже сложности. предлагаю для примера привести то же самое на gtk.

> заверни создание диалога и получение имени файла в функцию - получишь тоже самое. В чем принципиальная разница?

"В том, что этот "оборот" надо писать. А по ходу развития проекта выяснится, что ещё много для чего надо писать оборот".

> я тоже могу попросить тебя аналог следующего кода показать - без разницы, на tk ли, на qt ли =)

> -- cut -- from dogtail import tree gcalctool = tree.root.application('gcalctool') gcacltool.dump() -- end --

И что оно делает? Буковки незнакомые. Если решил напугать рефлексией -- то в tcl она "искаропки".

gaa ★★
()
Ответ на: комментарий от alex_custov

>> зайти конкверором на ftp://porn.de, открыть там zip-архив с фотографиями

> KIO не поддерживает вложенные протоколы

Вот! Есть куда расти! Вот когда можно будет сделать описанные вещи, тогда я смогу считать реализацию vfs в kde более-менее полноценной.

gaa ★★
()
Ответ на: комментарий от BeerSeller

>>( Куда строку ввода в диалоге открытия дели? Каким грязным хаком её вернуть на место? ) Ctrl+L А вообще поиск в диалоге рулит.

А если я всегда хочу её видеть без дополнительных телодвижений?

> Вот вопрос А как в QT приложениях обстjят дела с виртуальными ФС? Их поддержку надо реализовывать в приложении или они автоматом добавятся при написании плуга к QT?

В qt искаропки вроде только http,ftp. Остальное -- через kio.

gaa ★★
()
Ответ на: комментарий от geek

>> Про GObject я всё равно не нашёл.

> а gobject там необязателен. модульность, ага :)

И как же обойдётся без GObject
Программа, которая требует pango,
Который требует Glib,
Который построен на GObject?
(В доме, который построил Джек)

gaa ★★
()
Ответ на: комментарий от gaa

>Любая внешняя навеска потребует полного перетестирования всего продукта.

думаешь, когда выходит новая версия libc - разработчики тестируют _весь_ существующий софт? =)

>"В том, что этот "оборот" надо писать.

так тебе прямая дорога в Delphi - там и писать практически не надо.

>И что оно делает? Буковки незнакомые. Если решил напугать рефлексией -- то в tcl она "искаропки".

о да. покажи мне в tcl рефлексию для внешних приложений, которые ещё к тому же неизвестно на каком языке написаны. Хоть и юзают tk =)

geek ★★★
()
Ответ на: комментарий от gaa

>И как же обойдётся без GObject

а никак, будет юзать GObject. Проблема-то в чем? Нужен - подгружаем и используем, не нужен - не подгружаем.

geek ★★★
()
Ответ на: комментарий от alex_custov

>которую тут же окрестили KIO аналогом ? :)

окрестили придурки из стана KDE, которых похожесть названия обрадовала

>минимальный набор там есть - по localhost/HTTP/FTP ходит.

и возможностей расширить этот набор нет. читд

=)

зы, а этот минимальный набор позволит не-qt приложениям ходить по vfs? =)

geek ★★★
()
Ответ на: комментарий от gaa

>Если решил напугать рефлексией -- то в tcl она "искаропки".

забыл сказать, что dogtail - не рефлексия, а манипулирование приложением из скрипта. Позиционируется как инструмент для тестирования гуйни =)

geek ★★★
()
Ответ на: комментарий от geek

>> Любая внешняя навеска потребует полного перетестирования всего продукта.

> думаешь, когда выходит новая версия libc - разработчики тестируют _весь_ существующий софт? =)

Да. Иначе надёжность никто не гарантирует. Смотри, например, Debian.

>> "В том, что этот "оборот" надо писать.

> так тебе прямая дорога в Delphi - там и писать практически не надо.

Тебя в детстве принуждали дельфибыдлокодить? Или били тапками дельфикодеры? Откуда такая ненависть к delphi и чему-то, что хоть чем-то тебе её напоминает?

Кстати, tcl много удобнее любых дельфи/жаб/сишарпов, так что уходить не собираюсь. А чтобы не натравить на себя гнев лисперов, скажу "Tcl is LISP on drugs" :)

>> И что оно делает? Буковки незнакомые. Если решил напугать рефлексией -- то в tcl она "искаропки".

> о да. покажи мне в tcl рефлексию для внешних приложений, которые ещё к тому же неизвестно на каком языке написаны. Хоть и юзают tk =)

Гика, ты показываешь незнание предмета. Tcl - язык со встроенной рефлексией и конструкция "set b puts; $b hello" выведет именно hello без всяких извращений, которые пришлось бы сделать в C.

gaa ★★
()
Ответ на: комментарий от geek

>> И как же обойдётся без GObject

> а никак, будет юзать GObject. Проблема-то в чем? Нужен - подгружаем и используем, не нужен - не подгружаем.

А если понадобится обратиться к его свойствам, получаем жопу, так как биндинга GObject - QObject нет. А поддерживать его в актуальном состоянии -- пардон, но задача неприподъёмная.

gaa ★★
()
Ответ на: комментарий от gaa

>А если понадобится обратиться к его свойствам, получаем жопу, так как биндинга GObject - QObject нет. А поддерживать его в актуальном состоянии -- пардон, но задача неприподъёмная.

к каким свойствам? Зачем тебе изображать из GObject QObject? Работай с ним, как с GObject'ом и всего делов.

geek ★★★
()
Ответ на: комментарий от geek

>> А если понадобится обратиться к его свойствам, получаем жопу, так как биндинга GObject - QObject нет. А поддерживать его в актуальном состоянии -- пардон, но задача неприподъёмная.

> к каким свойствам? Зачем тебе изображать из GObject QObject? Работай с ним, как с GObject'ом и всего делов.

Затем, чтобы общаться со всеми объектами единообразно. Просто потому, что это позволяет снизить количество ошибок, улучшить читаемость кода и реаизовывать одни и те же алгоритмы на различных объектах.

gaa ★★
()
Ответ на: комментарий от gaa

>Да. Иначе надёжность никто не гарантирует. Смотри, например, Debian.

бгг. Ты удивишься, но в репах дебиана не весь существующий в мире софт =)

>Откуда такая ненависть к delphi и чему-то, что хоть чем-то тебе её напоминает?

много результата видел.

>Гика, ты показываешь незнание предмета. Tcl - язык со встроенной рефлексией и конструкция "set b puts; $b hello" выведет именно hello без всяких извращений, которые пришлось бы сделать в C.

причем здесь tk? Ты же вроде за Qt тут болеешь =)

geek ★★★
()
Ответ на: комментарий от geek

> tk и console apps - only. И то насчет tk у меня сомнения.

Оно есть, не сомневайся. Ну что, я показал тебе аналог (dogtail-а для gtk) -- (expectk для tk). Ещё вопросы?

gaa ★★
()
Ответ на: комментарий от gaa

>Ну что, я показал тебе аналог (dogtail-а для gtk) -- (expectk для tk). Ещё вопросы?

есть. c tkpython и tkperl будет работать?

geek ★★★
()
Ответ на: комментарий от geek

>> Да. Иначе надёжность никто не гарантирует. Смотри, например, Debian.

> бгг. Ты удивишься, но в репах дебиана не весь существующий в мире софт =)

Да, тестеры из-за стенки тестируют то, чего в дебиановском репе нет :)

>> Откуда такая ненависть к delphi и чему-то, что хоть чем-то тебе её напоминает?

> много результата видел.

Мсье не видел быдло-gtk, быдло-qt и быдло-tk? Мсье не гурман :)

>> Гика, ты показываешь незнание предмета. Tcl - язык со встроенной рефлексией и конструкция "set b puts; $b hello" выведет именно hello без всяких извращений, которые пришлось бы сделать в C.

> причем здесь tk? Ты же вроде за Qt тут болеешь =)

Просто флеймов типа Gtk vs Tk или Qt vs Tk нету, потому приходится устраивать Tk vs (Qt vs Gtk) :)

gaa ★★
()
Ответ на: комментарий от geek

>> Ну что, я показал тебе аналог (dogtail-а для gtk) -- (expectk для tk). Ещё вопросы?

> есть. c tkpython и tkperl будет работать?

Интересный вопрос. По идее, пользует Tk-шную команду send для отправки сообщений... А вот подхватит или нет -- хз.

gaa ★★
()
Ответ на: комментарий от gaa

> Просто флеймов типа Gtk vs Tk или Qt vs Tk нету, потому приходится устраивать Tk vs (Qt vs Gtk) :)

Хотя субъективно: писать гуйки надо по принципу "чем проще -- тем лучше" и gtk тут не товарищ. Потому Tk > Qt > Gtk.

gaa ★★
()
Ответ на: комментарий от gaa

>Интересный вопрос. По идее, пользует Tk-шную команду send для отправки сообщений... А вот подхватит или нет -- хз.

tk посылает команды over X11? :)

geek ★★★
()
Ответ на: комментарий от gaa

>Мсье не видел быдло-gtk, быдло-qt и быдло-tk? Мсье не гурман :)

видел конечно. Другое дело, что хорошего софта, написанного на дельфях - не видел воообще. Даже на Qt видел =)

>Просто флеймов типа Gtk vs Tk или Qt vs Tk нету, потому приходится устраивать Tk vs (Qt vs Gtk) :)

я боюсь, у Tk такие же проблемы, как и Qt - а именно - архитектурные ограничения :)

geek ★★★
()
Ответ на: комментарий от gaa

>Хотя субъективно: писать гуйки надо по принципу "чем проще -- тем лучше" и gtk тут не товарищ. Потому Tk > Qt > Gtk.

куда уж проще питона + glade =)

для копрофаг^W гурманов есть http://tcl-gtk.sourceforge.net/tcl-gtk.html

=)

geek ★★★
()
Ответ на: комментарий от geek

> tk посылает команды over X11? :)

Да.

> я боюсь, у Tk такие же проблемы, как и Qt - а именно - архитектурные ограничения :)

У тикля нет архитектурных ограничений. Кстати, команда rename может подменить любую подпрограмму(хоть даже и рисовалку виджета).

> для копрофаг^W гурманов есть http://tcl-gtk.sourceforge.net/tcl-gtk.html

Нет, именно копрофагов :)

gaa ★★
()
Ответ на: комментарий от geek

> хорошего софта, написанного на дельфях - не видел воообще

qip приличный(по крайней мере, автор знает про layout). Больше ничего вспомнить не могу :)

gaa ★★
()
Ответ на: комментарий от alex_custov

>кстати, сколько протоколов поддерживает правильный GnomeVFS ? Не мог бы ты показать код, как например cкачать файл http://site.com/1.jpg в ~ ?

gnome_vfs_open && gnome_vfs_read && gnome_vfs_write


для ленивых:

$gnomevfs-copy http://site.com/1.jpg ~/
Failed to copy http://site.com/1.jpg to /home/geek
Reason: File not found

:)


geek ★★★
()
Ответ на: комментарий от gaa

>У тикля нет архитектурных ограничений. Кстати, команда rename может подменить любую подпрограмму(хоть даже и рисовалку виджета).

ну давай. Подмени из перла отрисувку кнопки в проге на питоне

:)

geek ★★★
()
Ответ на: комментарий от gaa

>Больше ничего вспомнить не могу :)

ндя..

geek ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.