02.02.13, Иван Комиссаров<abb...@gmail.com> написал(а):
> Во-первых, get_mime(path):mime уже дааавно
> написан http://doc-snapshot.qt-project.org/5.0/qtcore/qmimedatabase.html
у меня нет qt5 и в ближайший год вряд ли появится.
> Во-вторых, API получить апп для миме не работает в WIN и MAC напрямую
эть.. согласен - идея представлена некорректно.
Речь идет только о Linux. Для других платформ нужен совершенно свой велосипед.
Хотя и с таким же (или подобным) API. IMHO.
Вопрос к девелам razorqt и/или сочувствующим (только не надо посылать <s>на</s> читать сырцы - просто пальцем тыкните): как razorqt ловит, что надо перечитать меню приложений? Inotify? DBus? сравнивает дату изменения папок? Qtшный сторож файлов?
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
Т.к. там куча директорий и файлов, вешать на них все хуки слишком жирно. С другой стороны, само построение меню работает быстро, медленно работает подгрузка иконок, поэтому я по запросу перестраиваю меню (без иконок), рассчитываю от него хеш, и сравниваю с хешом от предыдущего.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
Т.е. всё-таки не жирно? ;-)
А может хватит повеситься только на папки?
Или вообще просто проверять mtime папок?
Ну а потом уже mtime/size/md5 *.desktop'ов (ежели кабы что).
Ведь по существу ты вешаешь сервис - типа inotify. Причем сервис, зависимый от razorqt.
вторник, 5 февраля 2013 г., 18:08:16 UTC+4 пользователь Александр Соколов написал:
Обманул я тебя, я уже и сам забыл чего наворотил. Сейчас в коде посмотрел.Значит так, когда в первый раз считывается меню .menu файлы и директории с .desktop файлами добавляются в QFileSystemWatcher. Когда что-то из этого поменялось, запускается таймер с задержкой 3 сек., если во время этих 3 сек. еще что-то поменялось, таймер перезапускается по новой. Т.о. если пакетный менеджер ставит сразу 100 программ, меню не будет перестраиваться 100 раз. А на сробатывании таймера уже перестройка меню. При этом еще и хеш рассчитывается, по нему QMenu дополнительно проверяет а надо ли реально перестраивать себя и перезагружать иконки.Вот такая байда.5 февраля 2013 г., 17:30 пользователь TI_Eugene <ti.e...@gmail.com> написал:
вторник, 5 февраля 2013 г., 17:14:29 UTC+4 пользователь Александр Соколов написал:Ухтыблин... С этого места поподробнее - штоле при _каждом_ обращении к меню ты перечитываешь все /usr/share/applications/*.desktop etc?Т.к. там куча директорий и файлов, вешать на них все хуки слишком жирно. С другой стороны, само построение меню работает быстро, медленно работает подгрузка иконок, поэтому я по запросу перестраиваю меню (без иконок), рассчитываю от него хеш, и сравниваю с хешом от предыдущего.
Что насчет просто для начала читать их mtime?Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
--
Best regards,
Alexander.--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
05.02.13, Александр Соколов<sokol...@gmail.com> написал(а):
> И все же я не до конца догоняю что ты планируешь сделать.Отнюдь.
> То ты говоришь про меню пуск, то про mime ассоциации, а это совершенно разные вещи.
Следите за руками (например - pcmanfm, dolphin работает так же):
1. mime1.png - это правая педаль на файле. "Открыть" - это открывает в
приложении по-умолчанию. НЕ том, которое xdg-mime query default (как
мы знаем - у меня в razor оно показывает gedit, которого нет), а в
реальном (juffed). Чуть ниже мы видим более другие редакторы. А вот
еще ниже мы видим open with. Который...
2. mime2.png - ... _внезапно_ показывает меню приложений.
3. menu3.png - которое на удивление совпадает с меню рейзора.
Я понимаю, что это всё совершенно разные вещи. И что рейзор должен сам
строить меню (по *.desktop), файломанагер - сам своё (там же), потом
еще раз пройтись по тем же файлам (?) и собрать приложения для этого
майма (это ж разные вещи, правильно?), потом еще раз - и найти
приложение по умолчанию.
Потом каждый из них должен прошвырнуться по иконкам да.
Так, что ли? Разные вещи?
Утилита может работать с либой или демоном - не? На питоне или на сях
> То ты планируешь написать утилиты на питоне, то либу на сях для Qt, теперь демон.
- не принципиально. А демон или служба дибас или либа - мы это и
пытаемся выяснить.
Ссылку на бэкпорт можно? А то я уже раз 7 слышал про этот бэкпорт - но
> Mime для питона есть, запуск программ в Qt уже есть, в пятерке
> появилась работа с mime, для четверки есть бэкпорт этого.
ни разу не видел.
> С запуском, на мой взгляд надо бодать freedesktop-овцев чтоб они доводилиууу... проще венду на utf8 пересадить :-)
> до ума xdg-utils, тогда это будет работать у всех.
Что показывает профайлер? QIcon тормозит? Чтение файлов? Щито?
> Про меню пуск, там узкое место не чтение файлов, а иконки. Они и так уже кешируются.
Сейчас в рейзоре самое тормозное меню из всех ДЕ, если честно. И это пичалька.
Вопрос, наверное, новичковый - но каким боком темы к иконам _приложений_?Потому что приложение обязано поставить несколько иконок разного размера в /usr/share/icons/hicolor, но еще оно может поставить в другие поддиректории в /usr/share/icons/ свои иконки стилизованные под темы. Или уже с темой идут иконки для популярных программ.
среда, 6 февраля 2013 г., 13:37:49 UTC+4 пользователь Александр Соколов написал:Вопрос, наверное, новичковый - но каким боком темы к иконам _приложений_?Потому что приложение обязано поставить несколько иконок разного размера в /usr/share/icons/hicolor, но еще оно может поставить в другие поддиректории в /usr/share/icons/ свои иконки стилизованные под темы. Или уже с темой идут иконки для популярных программ.1. Ну, во-первых не обязано, а _может_. Подавляющее большинство из qtdesktop запихивают иконы в pixmaps. Hicolor, конечно, тоже тема, но она пустая.
2. но тащемта да - во всех темах есть apps.
Я предлагаю заменить FromIconTheme на более шустрый вариант: ты грузишь икону определенного размера, а откуда она взялась - вычисляет и кеширует демон.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
06.02.13, Александр Соколов<sokol...@gmail.com> написал(а):
> А чего здесь гадать? В спецификации написано, что должно> *Minimally you should install a 48x48 icon in the hicolor theme.*
>Ну... Мало ли что написано в спецификации...
> http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html#install_icons
>
> А pixmaps так, для совместимости.
Я смотрю по спекам. От силы 10% qt apps толкают в icons.
По стандарту надо тянуть с дефолтное темы.
> ОК, попробуй. Только у меня есть ощущение, что ты смутно представляешь как
> это все должно работать по стандарту. Почитай спецификации.
На практике - по рейзором дефолтная тема не определена.
И вообще - насколько я помню сырцы qt - там тема берется только под гномом.
Даже не под кедами. Я молчу за остальных.
--
Вы получили это сообщение, поскольку подписаны на группу Razor-qt ru.
Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес razor-qt-ru...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.
Ну... Мало ли что написано в спецификации...
Вот поэтому так и живем, что всем на спеки насрать.
Я смотрю по спекам. От силы 10% qt apps толкают в icons.Зато все кдешные используют тему.
По стандарту надо тянуть с дефолтное темы.
На практике - по рейзором дефолтная тема не определена.Не так. QIcon не может сама получить имя темы
, но можно указать ей явно через QIcon::setThemeName, что мы и делаем в разоре.
И вообще - насколько я помню сырцы qt - там тема берется только под гномом.
Даже не под кедами. Я молчу за остальных.Нет, Qt умеет и из гнома береть, и из кде. И ЕМИП из некоторых еще.