Как Перетаскивание работает в Linux?

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

6
08.02.2015, 08:49
1 ответ

Все они эффективны. Один не резко лучше, чем другой, но я предпочитаю:

export PATH=$PATH:/usr/local/bin

Это заботится о экспорте и настройке пути в одну строку. Я также склонен не ставить новый путь до существующего $ PATH , но есть случаи, когда они могут быть необходимы для загрузки более новых самоконесенных библиотек до старых системных систем.


Если вы пытаетесь экспортировать переменные, то да, вы хотите процитировать их, например:

export myservers="server1 server2 server3"

Теперь, когда вы ECHO $ ​​MyServers Вы увидите:

[user]# echo $myservers
server1 server2 server3

, но поскольку этот вопрос относится к $ Путь и не переменные оболочки, то мой оригинальный пост все еще стоит, поскольку никогда не будет времени, где вы печатаете «Hello World» в ваш системный путь.

[user]# echo $PATH  ## Something you shouldn't be doing
/usr/local/bin:HELLO WORLD/sbin:/bin:/usr/sbin:WHY AM I DOING THIS?/usr/bin:/root/bin
-121--209991-

Перетаскивание N 'DROP API реализуются в библиотеках виджета GUI, которые построены поверх чего-то еще (на Linux, XLIB ).

нацеливается на QT (KDE), GTK (GNOME) и XFC (XFCE)?

QT и GTK являются различными библиотеками графических интерфейсов. Если вы пишете приложение GUI (который является единственным контекстом, в котором есть падение DRAST NATE), вы выбираете библиотеку , не два или три из них. Я никогда не слышал ни о том, что кто-то создает и поддерживает версию QT, так и GTK, потому что будет очень мало точки: они портативны к тому же набору платформ. Если у вас есть версию GTK, она, вероятно, будет работать на системах, которые запускают QT, и наоборот.

Приложения QT и GTK оба будут работать без проблем при любом Linux de. Они не ограничены Gnome и KDE. Если вы используете KDE, у вас, вероятно, есть несколько приложений GTK на рабочем столе. Если вы используете Gnome, у вас может быть несколько QT. Это Как работает программный стек .

Хотя можно написать приложения GUI, используя только XLib, это довольно необычно 1 по ряду причин; Он неотрямо, он поражает цель модульных иерархий в проектировании программного обеспечения и т. Д.

Часть пункта более портативных, библиотеки более высокого уровня (GTK, QT) они абстрактны в нижнем уровне, более конкретные такие, такие как Клей

Если в первую очередь узнать реализацию буфера обмена

, я сомневаюсь, что буфер обмена XLIB имеет отношение к ним, но в любом случае, опять же, не нужно много учиться о XLib, если вы хотите написать приложения GUI для Linux. Вы начинаете с одного из библиотек более высокого уровня.

Если вы хотите введение в API перетаскивания N 'DROP PROP для GTK, с быстрым кильком на объекты XLib его построен (на системах, которые используют XLIB), посмотрите здесь .


Вы сказали, что вы заинтересованы в универсализации такой функции, как «перетаскивание на панель задач, чтобы восстановить окно перед падением». Такое поведение действительно является царством диспетчера De или Window (WM - все de требует WM , но WM не требует от de), тогда как фактический механизм DND ниже. Это поведение, которое только включает в себя конкретный вид случая использования для механизма. Однако, потому что он находится в более высоком царстве DE, он находится вне царства индивидуального применения . Если вы пишете приложение GUI, это не что-то, что вы должны быть связаны вообще.

Linux в отличие от Windows в том, что его интерфейсы на рабочем столе гетерогены; Часть того, что это означает, что универсализация поведения высокого уровня вроде такое , проблематично . Не более целесообразно быть беспокоиться о гетерогенной оконной механике на уровне приложения, чем он должен быть обеспокоен тем, как выглядит границы и заголовок; DE / WM позаботится об этом, чтобы создать интегрированный вид и чувствовать , который настроен пользователем для всего рабочего стола. Это не подходит или удобно для отдельных приложений для отдельных приложений, чтобы попытаться бороться с этим контролем от конечного пользователя и для того, чтобы вести себя так, как вы хотите увидеть работу Windows на Ваше Выбор рабочего стола. Потому что я хочу использовать ваше приложение, не означает, что я также хочу жить по поведению окна WRT. Приложения не должны участвовать в этом, и по большей части не должны. Нет никаких веских причин восстанавливать против этой модели; Это может быть неприятно, но это предположительно оценивается пользователями операционной системы, которую вы пытаетесь нацелиться. Пользователи Apple будут подвергать бы программистам приложений, пытаясь сделать свой рабочий стол, как Windows, пользователи Windows, вероятно, не оценят программисты приложений, пытаясь сделать свой рабочий стол, как KDE и т. Д.

, которые сказали, что нет ничего плохого в каком-то дополнении Библиотека «Жесты» - Хотя опять же, это похоже на что-то более подходящее для реализации в рамках DE, а некоторые из них имеют настраиваемые жесты. Вы можете быть заинтересованы в Расширенные подсказки оконного менеджера ,Что представляет собой попытку создать универсальный протокол высокого уровня для оказания помощи приложениям при вызове определенных видов поведения (всеобщий протокол будет необходим только к , идентифицирующему . Обратите внимание, что соответствие EWMH, конечно, является добровольно и будет варьироваться от WM к WM.


1. Также можно написать приложения GUI, начиная с голого металла - вы создаете свою собственную операционную систему и отправляетесь оттуда. Но опять же, это не православный подход.

5
27.01.2020, 20:28

Теги

Похожие вопросы