LINUX.ORG.RU
ФорумTalks

«Свобода выбора» и свобода от интеграции - оптимальное сочетание


0

1

Когда говорят о линуксе очень часто упоминают «свободу выбора» применительно в графическим средам, не хочешь то-то юзай то-то. Проблема заключается в том, что есть самые широко употребительные программы типа офисов и браузеров, которые никак не интегрируются в эти среды (firefox, open и libre офисы итп итд), но которые тем не менее являются базовыми для большинства пользователей. Их неинтегрированность во многом объясняется как раз наличием множества графических сред, под каждую из которых у разработчиков этих прог нет никакого желания интегрировать в нее свою прогу, и их вполне можно понять. Вопрос стоит следующим образом - как можно интегрировать в эти графические среды такие проги, учитывая как нежелание их разработчиков делать такую интеграцию под каждую из графических сред так и все таки желательность такой интеграции. Возможен ли выход в создании какой то единой для всех сред прослойки для интеграции сторонних приложений, причем к этой прослойке будут обращаться свои механизмы интеграции каждой конкретной графической среды ?

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

Дык, я так подозреваю, что он просто запоминает параметры окна, где ты сделал ЛКМ и отдает их окну, где ты отпустил кнопку. Все равно нужно обработать это как-то.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Serg5Markov

И тут до тебя доходит убогость идеи драгндропа?

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

Вот, например, вполне симпатично.

А почему у тебя тема gtk и qt (или что это у тебя на переднем плане?) отличаются? Скролл-бары, например.

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

Да я хреновый пример привел: у QCad'а какая-то своя особо вырвиглазная тема оформления. Я просто не могу вспомнить, что у меня есть на Qt4.

Eddy_Em ☆☆☆☆☆
()
Ответ на: Просвещайся от geekless

Таб в офисе на контакт в копате Можешь даже не пробовать :-)

Serg5Markov
() автор топика
Ответ на: комментарий от Eddy_Em

Приложение, где началось претаскивание, формирует данные для претаскивания в некотором MIME-формате, захватывает мышь и следит за ней. Любое окно, оказавшееся под мышью проверяется на предмет поддержки перетаскивания, и ему шлётся запрос «юзер тащит по тебе вот такой MIME-тип, хочешь принять?» Хочет оно или нет, индицируется формой указателя мыши. Когда юзер отпускает кнопку, следом шлётся «юзер отпустил кнопку, принимай данные». Всё просто как 2 пальца.

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

Ты вот чушь какую-то несешь!

Сам бы внимательно посмотрел, как реализуется взаимодействие тех же четверокедовых или третьегномовых приложений.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Еще разик, это отдельные колеса для кед и гнома У их авторов есть резон в ней копаться, у авторов сторонних прог нет никакого

Serg5Markov
() автор топика
Ответ на: комментарий от geekless

Ну дык я о том же.

Кстати, у меня одного огнелис 13.0.1 периодически убивается, если я случайно двину мышкой с зажатой левой кнопкой? Курсор принимает форму, как при перетаскивании, но при этом на мышу и основные клавосочетания система не реагирует. Хорошо хоть, остается возможность в консольку прыгнуть и кильнуть огнелиса.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Serg5Markov

И не работает для перетаскивания прог из кед в проги гнома

запустил лису, запсутил kile. Выделил в лисе кусок текста, перетащил в kile. Все сработало. ЧЯДНТ?

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

Тьфу ты Ё Не копаются в них именно потому что эти колеса по разному построены в кедах и гноме, чего тут блин непонятного ? И у авторов сторонних прог нет никакого желания писать интеграция для каждого их колес. Должно быть одно колесо, единая надстройка, тогда авторы сторонних прог и будут писать интеграцию Блин, как учебник логики разжевываю

Serg5Markov
() автор топика
Ответ на: комментарий от Serg5Markov

УМВР

И не работает для перетаскивания прог из кед в проги гнома

Только что отправил файл перетаскиванием из Dolphin в Pidgin. ЧЯДНТ?

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

Должно быть одно колесо, единая надстройка

Тебе уже 100500 раз сказали: есть это «одно колесо». dbus называется.

Eddy_Em ☆☆☆☆☆
()

Серега, отвлекись .

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

Eclipse juno запускаю, компиляю .

Окно Problems - 27 штук проблемс, остались от предыдущего сеанса, тот проект сейчас закрыт, работаю с другим нафика мне это окно и эти проблемы ?

Ну ладно, есть окно Сonsole
Error makefile 96: Command syntax error
Думаешь по щелчку открылся этот файл ? Подсветилась ошибочная строка ? Фик уж с тем что подсветка синтаксиса только что была и уже нет.
Строка 96 вообще пустая, а ты гришь интеграция. Каждое первое приложение Г, с большой буквы, смысла интегрировать нет.

Не хочешь поговорить о этом ? :)

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

Запусти лису, перетащи таб в claws или любой другой почтовик Ты взялмя доказывать что такая полная интеграция уже есть ? Ну в бог в помощь :-)

Serg5Markov
() автор топика
Ответ на: комментарий от Serg5Markov

именно потому что такая писанина для каждого DE со своей интеграцией

Бог ты мой, какой же ты всё-таки дебил...

Тебе уже задолбались повторять - нет нужды поддерживать «для каждого DE», надо просто задействовать поддержку со стороны того тулкита, который используется программой. Если содержимое является представителем какого-либо типа MIME, то если отпраитель и получатель знают об этом, то вся схема вырождается в тривиальную.

ОтправительA->ToolkitA->DBus->ToolkitA->ПолучательA

ОтправительB->ToolkitB->DBus->ToolkitA->ПолучательA

ОтправительA->ToolkitA->DBus->ToolkitB->ПолучательB

ОтправительB->ToolkitB->DBus->ToolkitB->ПолучательB

Отправитель, который использует ToolkitA, всегда использует его и только его для отправки. И не важно кому он отправляет, поскольку отправляет он всегда своими методам. Так же, как и ПолучательB получает посылки только с использованием своего ToolkitB, и ему не важно кто и как послал это.

такая писанина для каждого DE

Нет никакой дополнительной «писанины для каждого DE». И реализацию оптравки/приемки надо всё равно написать в точности ОДИН РАЗ. И писать ли её вполне естественно с использованием средств тулкита, поскольку программа и так УЖЕ задействовала его средства.

no-dashi ★★★★★
()
Ответ на: комментарий от Serg5Markov

Запусти лису, перетащи таб в claws или любой другой почтовик

и что по твоему должен claws принять? Текст? Картинки? Зазиповынный html?

dikiy ★★☆☆☆
()
Ответ на: комментарий от no-dashi

«Ты не понял» :-) Нет сейчас такого, ну нет в природе :-) Нет единого механизма обмена через d-bus между прогами кед и гнома, и догадайся почему :-)

Serg5Markov
() автор топика
Ответ на: комментарий от dikiy

Послать по почет этот контакт :-) Послушай, если ты на все будешь говорить «не нужно у меня есть консоль» ну прекрасно, но я ей пользуюсь только тогда, когда в ней есть необходимость :-)

Serg5Markov
() автор топика

Можно написать расширения, как для appmenu для firefox и libreoffice.

Еще можно интегрировать и отправить патч автор(у|ам).

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

Послать по почет этот контакт :-)

выдели этот контакт мышкой, и перетащи.

Ибо наче можно придумать кучу вариантов действий. От послать по почте контакт до послать по почте историю этого контакта. Должна быть однозначность.

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

Я же тебе не предлагаю из скайпа перетащить :-) Не пользуешься, твои проблемы, другие пользуются и подчас весьма активно

Serg5Markov
() автор топика
Ответ на: комментарий от Serg5Markov

Или вложение или как док

ну и откуда программа должна знать что конкретно ты хочешь из всех вариантов. У объекта перетаскивания должен быть однозначно определяемый mime-тип. Иначе все не имеет смысла. А какой mime-тип у вкладки в браузере?

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

Это не контакт а текст

Да. У тебя есть другие идеи определить в данном случае однозначность объекта?

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

У такого перетаскивания должна быть цель :-) - перетащить содержимое из окна одного приложения в другое , независимо от DE, тулкита или настроения черта лысого с рогами :-). Остальное вторично.

Serg5Markov
() автор топика
Ответ на: комментарий от dikiy

У меня есть идея что этим должна заниматься надстройка :-), которой приложение вместе с запросом шлет свой тип

Serg5Markov
() автор топика
Ответ на: комментарий от Serg5Markov

У такого перетаскивания должна быть цель :-) - перетащить содержимое из окна одного приложения в другое , независимо от DE, тулкита или настроения черта лысого с рогами :-). Остальное вторично.

Для этого надо встроить libastral. Иначе ничего работать не будет. У алгоритма должна быть однозначность. Без нее все бесполезно. mime-типы эту однозначность обеспечивают. Я понятно объяснил?

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

Нет сейчас такого, ну нет в природе :-) Нет единого механизма обмена через d-bus между прогами кед и гнома, и догадайся почему :-)

Ой батюшки... А как же так получается, что я перетаскиваю файл из наутилуса (GNOME) в Okular (KDE), и - о, чудо! - он открывается в Okular. Претаскиваю PDF'ку из konqueror (KDE) в Evince(GNOME) - и опять таки чудо, вижу эту PDF'ку в Evince, беру файл из Konqueror, тащу его на окно нового сообщения Evolution - и файл приаттачивается к письму.

P.S.: Firefoxe интерпретирует перетаскивание вкладки как «Отделить вкладку в новое (или другое) окно». И это замысел разработчиков FF.

no-dashi ★★★★★
()
Ответ на: комментарий от Serg5Markov

У меня есть идея что этим должна заниматься надстройка :-), которой приложение вместе с запросом шлет свой тип

и как она этот тип определит, если даже ты сам определить не можешь?

тут только libastral, никак иначе.

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

У алгоритма должна быть цель требуемое сделать :-) Пока ни один из имеющихся механизмов эту цель или не решает или решает таким образом что разрабы ее не используют из-за трудоемкости.

Serg5Markov
() автор топика
Ответ на: комментарий от no-dashi

Firefoxe интерпретирует перетаскивание вкладки как «Отделить вкладку в новое (или другое) окно». И это замысел разработчиков FF.

и это правильно.

А если надо чел хочет картинку из вкладки, или кусок текста - перетаскивай хоть в kpaint (или как там его). Все работает.

dikiy ★★☆☆☆
()

Диагноз: ГСМ

Лечение: биореактор.

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

У алгоритма должна быть цель требуемое сделать :-)

В твоем случае он не может знать, что от него требуется. вот если kopete при перетаскивании контакта из него будет назначать ему mime-тип mime/text, то все будет работать. Но kopete же этого не делает :)

Пока ни один из имеющихся механизмов эту цель или не решает или решает таким образом что разрабы ее не используют из-за трудоемкости.

пока что все решает на ура.

PS

спасибо этому треду - теперь я знаю, как что работает.

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