LINUX.ORG.RU

О пользе хоткеев и межпрограммном взаимодействии

 ,


0

1

@qulinxao3 писал:

однако жаль малоиспользуется sam|acme

и в целом логика исполнения текущей строки редактируемого файла(текстового буфера) тем или иным исполнителем и помещение возвращённого результата (побочный итак в глобальности) в тот или иной текстовый контейнер

ззы: ща на ctrl-\ в сode висит Terminal: Run Selected Text ln Active Terminal который при пустом выделении отрабатывает текущую строку - получается нечто парное vim'овскому :r!вотэтовотвыделение

забавно как пламбер оказался не ко времени всё ещё

Я ему ответил:

Я как-то себе делал приблуду, которая по хоткею берёт выделенный текст как имя файла и открывает его. Если путь к файлу указан не от корня, то она пытается вычленить путь к текущему каталогу из заголовка активного окна. Поскольку обычно у меня активное окно это либо терминал, либо текстовый редактор, и они настроены давать там эту информацию, то всё работает «магически».

Этот обмен репликами заставил меня вернуться к мыслям об организации хоткеев в SDE. И вот хочу показать вам фрагмент черновика на эту тему.

Также дополнительно к сказанному в черновике хочу сказать следующее:

Я многократно говорил, что задача DE – интеграция программ. Мне на это отвечают, что «интеграция программ» создаёт монстров, примеры которых мы можем наблюдать в KDE и вообще везде.

Мой ответ на это: правильная интеграция монстров не создаёт. Программы вообще не должны знать о существовании друг друга. Им не нужно линковаться друг к другу и не обязательно иметь so-шки на пару тысяч символов. Всё, что им нужно – предоставлять о себе немного информации.

Всё, описанное ниже, доступно к реализации даже при помощи несложного bash-скрипта для любой DE или вообще без DE. Но конечно грамотная реализация на Си – предпочтительнее.

Итак, сам текст:


Хоткеи запуска приложений:

Super + Q - Запустить предпочитаемый эмулятор терминала
Super + W - Запустить предпочитаемый текстовый редактор
Super + E - Запустить предпочитаемый файловый менеджер
Super + R - Показать лаунчер для быстрого запуска команд
Super + T - Запустить предпочитаемый web-браузер
Super + Y - Запустить предпочитаемый калькулятор

Как видно, горячие клавиши выбраны так, чтобы располагаться подряд в 1-й буквенной строке клавиатуры (QWERTY) и не имеют мненомического значения. Порядок клавиш выбран в соответствии с тем, какие приложения обычно наиболее часто востребованы при работе с типичной UNIX-like системой: в первую очередь вам потребуется терминал, во вторую текстовый редактор и так далее.

Хоткеи, использующие выделенный текст как путь к документу:

Super + Shift + Q - Запустить предпочитаемый эмулятор терминала в указанном каталоге
Super + Shift + W - Открыть указанный файл в предпочитаемом текстовом редакторе
Super + Shift + E - Показать указанный файл в предпочитаемом файловом менеджере
Super + Alt   + E - Показать контекстное меню для указанного файла
Super + Shift + R - Показать лаунчер для быстрого запуска команд и выполнить команду для указанного пути
Super + Shift + T - Открыть указанный URL в предпочитаемом web-браузере

Каким образом DE понимает, что является «указанным файлом/каталогом»:

Первый вариант — если выделен некоторый текст.

  1. Если выделенный текст выглядит как URL, то он и считается указанным.
  2. Если выделенный текст выглядит как полный путь (начинается с символа /), то он и считается указанным.
  3. В ином случае выделенный текст считается файловым путём относительно текущего каталога. Следовательно, необходимо найти текущий каталог.
    • Для этого DE извлекает путь к документу из текущего окна.
    • Если путь является существующим каталогом, то он и считается текущим каталогом.
    • Если путь является существующим файлом, то берётся путь к его каталогу.
    • Если путь извлечь или проверить не удалось, то домашний каталог пользователя считается текущим.

Второй вариант — если текст не выделен.

В этом случае DE извлекает путь к документу из текущего окна.

  • Если запускаемое приложение требует только путь к каталогу (как в случае с Super + Shift + Q), то путь урезается до пути к каталогу.
  • В ином случае используется полный путь.

Частные примеры действий, которые становятся вам доступны c использованием данных возможностей:

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

Таким образом ваша работа с документами перестаёт быть приложение-центричной и становится документо-центричной. В фокусе вашего внимания то, С ЧЕМ вы работаете, а не то, КАКИМИ ПРИЛОЖЕНИЯМИ вы работаете. Вы легко можете «перекинуть» один и тот же файл/объект/документ в другое приложение просто нажав хоткей. DE видит и понимает контекст вашей работы.

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

При условии, что используемые приложения умеют работать с виртуальными путями GIO, это также прозрачно работает и для смонтированных в GIO архивов, удаленных файловых систем, сетевых шар и т.п.

★★

Последнее исправление: wandrien (всего исправлений: 2)

Вот это действительно правильная интеграция (хоть мне и не нравится выбор хоткеев и набора софта, но это конкретика, не имеющая отношения к самой идее как таковой). Сейчас достигается настройкой используемого софта «под себя» по возможности. Но было бы весьма неплохо сделать это неким стандартом. И да, именно DE в современном представлении для этого не нужно.

CrX ★★★★★
()

Все это здорово, но востребовано только у гиков. Обычному пользователю от ДЕ нужны только иконки приложений в быстром запуске на панели и иногда поиск, чтобы искать документы и фотки, сохраненные где попало. В остальном чем проще, чем меньше возможностей, тем лучше. Экономия кликов и пробега мыши, новые уровни абстракции, дополнительные возможности в управлении и настройке в реальности всегда оказываются переусложненным говном и запутывают пользователя, вызывают отторжение. Интересно бы было увидеть статистику, сколько пользователей Виндоуз знают про виртуальные рабочие столы и как часто организовывают работу с их помощью, я уверен, там статпогрешность. И со всякими хоткеями так же. Вы не о том думаете. Будьте проще, дайте людям стабильный и насколько возможно быстрый и легковесный клон гуя из Виндоуз 95, который будет стабильно работать на разношерстных многомониторных конфигурациях, с поиском по категориям. 100 ДЕ в Линуксе, ни одного нормального, сплошной тормозящий багодром.

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

Фокус на этого «обычного пользователя» и является одной из основной проблем в современном интерфейсостроении. Для него, этого абстрактного, но такого важного юзера, сделано уже столько всего, что и не перечесть. Есть целые DE сделанные для Его Величества. Какой-нибудь Firefox «поломали» ради него, тем самым растеряв даже ту долю, которая была. Во всех дискуссиях он всплывает.

Я не против софта «для обычного пользователя» — пусть будет. Но пора уже снова начать думать и о «гиках» тоже. А то мы так в гномовском HIG и утонем.

Неважно, сколько нас в процентах, этих «гиков», «нердов», «красноглазых», и прочих пренебрежительных эпитетов для advanced user. Нас достаточно много, чтобы принимать в рассчёт.

Да и доля «обычного пользователя» обычно преувеличивается. Даже среди пользователей ПК вообще, не говоря уж о пользователях линукса. Этот самый «обычный пользователь» во многом пересел на мобилку с Android или iOS в качестве основного девайса, а многие этого и не заметили. И процесс этого пересаживания продолжается. Если раньше у многих был и комп для чего-то серьёзного, но 90% времени проводилось за мобилой, то теперь я всё чаще встречаю людей, у которых десктопа/лаптопа нет вообще — «а зачем, мне мобилы хватает».

Десктоп всё больше и больше становится уделом либо энтузиастов («гиков» и иже с ними) либо профессионалов, которым полноценный компьютер со стандартными интерфейсами всё ещё нужен. Ни тем ни другим не требуется это гномье максимальное упрощение. Нужно удобство работы в том числе с клавиатуры, чтобы все действия совершались легко и быстро, не обязательно «интуитивно» (хотя сама по себе интуитивность хороша, если не мешает остальному).

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Super + E - Запустить предпочитаемый файловый менеджер

ха и у меня так же, но это лишь потому что файловый менеджер позирционируется в меню как explorer и это нужно что бы не запутаться, соответсвенно запуск терминала это Super + t, а браузера Super + w.

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

У меня несколько иначе сейчас — на эти хоткеи WM-овские переключалки разные, а запуск софта в основном на Super+F*: Super+F1 — терминал, Super+F2 — браузер, Super+F3 — GIMP, Super+F4 — муз.плеер, и т. д.

Вообще терминал у меня Super+Enter, ибо чаще всего нужен, поэтому Super+F1 я реально не пользуюсь, как оказалось. Может переназначу на что-то ещё.

А вот с остальным перечисленным интересно. Файловым менеджером я пользуюсь редко, а если пользуюсь, то он в терминале. Текстовый редактор — nvim, тоже в терминале. Калькулятор — вообще странная вещь, чтобы иметь не в терминале, а в гуе с кнопками — неужели кто-то по ним действительно кликает? Я обычно пользуюсь Python в качестве калькулятора, честно говоря. Удобно. И история есть, и при надобности можно переменные задать, и если вдруг раз в год понадобятся синусы с косинусами или ещё что-то посложнее, чем банальная арифметика — оно тоже под рукой. Кстати, хоткей Super+P для запуска терминала с питоном у меня имеется.

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

Я не понимаю, что вы пишете. У Фаерфокса сейчас гораздо более сложный и запутанный интерфейс, чем был, скажем, во времена 3 ветки.

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

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

Я не понимаю, что вы пишете. У Фаерфокса сейчас гораздо более сложный и запутанный интерфейс, чем был, скажем, во времена 3 ветки.

Не сказал бы. Но в контексте фаерфокса я про выпиливание «ненужной» функциональности в первую очередь. Фаерфокс был хорош именно широкой поддержкой расширений, позволяющих менять что угодно в браузере. Из-за этого его многие и выбирали. Теперь же эту поддержку урезали, и многие, кто раньше пользовался фоксом, теперь не видят смысла, ведь того же, чего теперь можно в нём добиться, можно добиться и в хроме. Кто-то пересел на форки старых версий, но это тупиковый путь.

и только после стабилизации основных возможностей

Я здесь полностью согласен. В первую очередь нужно сделать так, чтобы программа выполняла свои основные функции безупречно, уже потом можно думать об удобстве.

Вы же сделаете очередного монстра наподобие кед

Нет-нет. Я за противоположный подход — маленькие программы, не зависящие друг от друга, не берущие на себя сразу множество функций, но свои функции (в идеале свою одну функцию) выполняющие на отлично, и при этом, весьма желательно, интегрируемые между собой. Не в рамках одного набора, а с любыми взаимозаменяемыми компонентами. Что, собственно, и предлагает ТС.

Вообще саму по себе концепцию DE, в его нынешнем значении, как набора посредственных программ, идущих в комплекте друг с другом и типа-вроде-как-интегрированных (на деле это ограничивается «рюшечками, как правило), я считаю ущербной и прямо вредной. Поэтому и «ни одного нормального», потому что оно не нужно. Зачем нужен бандл из посредственного ФМ, хренового эмулятора терминала, убогого текстового редактора и средненького оконного менеджера, если можно взять отдельно хороший терминал, хороший редактор, хороший WM, и т.д.? И «хороший» здесь не моё личное экспертное мнение, а выбор самого пользователя — наиболее подходящее под каждую задачу.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)

Super + W - Запустить предпочитаемый текстовый редактор
Super + T - Запустить предпочитаемый web-браузер

Почему не наоборот?
T - текст
W - веб

в первую очередь вам потребуется терминал

Нет, первым браузер, вторым текстовый редактор, и только потом терминал, может быть (не всегда)

Shushundr ★★★★
()
Последнее исправление: Shushundr (всего исправлений: 1)

просто оставлю это здесь

кстати, еще хорошо бы иметь функцию типа run-or-raise, чтобы не запоминать на каком виртуальном столе твое приложение, нажал хоткей и оно либо открылось где надо, либо переключило фокус, удобно

anonymous
()

«интеграция программ» создаёт монстров, примеры которых мы можем наблюдать в KDE и вообще везде.

Абсолютно полностью согласен. Излишняя интеграция приводит к непредсказуемости для пользователя влияния программ одна на другую. «Я что-то нажал и всё сломалось» - это вот как раз оно. А когда пользователь не может предсказать результат своих действий - работа превращается в «метод тыка» что мы нередко и видим в виндах и виндовом софте.

Мой ответ на это: правильная интеграция монстров не создаёт.

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

Порядок клавиш выбран в соответствии с тем, какие приложения обычно наиболее часто востребованы при работе

Назначение часто запускаемых программ на хоткеи - однозначно и полностью поддерживаю.Сам этим пользуюсь. Разумеется,выбор кнопок может быть любым удобным пользователю,лишь бы с хоткеями в самих программах не пересекался. Если будет принято какое-то более-менее общее соглашение по используемым кнопкам - я не против на него переучиться со своих кастомных. По мне так любые кнопкосочетания лучше чем для запуска программы снимать руку с клавиатуры и хвататься за мышь. Даже что-то довольно экзотическое типа ctrl+shift+T для запуска терминала. У меня на любимой клаве Chicony KB-5311 нет виндовых кнопок,поэтому так. А если icewm будет перехватывать для таких целей кнопки с одиночными модификаторами (допустим Ctrl+T) то они не дойдут до программ,а там они бывают нужны.

Каким образом DE понимает, что является «указанным файлом/каталогом»: Первый вариант — если выделен некоторый текст.

Вот тут не уверен в полезности этого подхода. Допустим работал я с текстом в редакторе и остался у меня там выделенным какой-нибудь «begin»,а мне надо погоду в браузере посмотреть и я его запускаю. И что - браузер сходу попытается мне открыть http://begin.html ?

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

А вот это могло бы быть полезным,согласен. Но сразу возникают вопросы: какой каталог открывать в файловом менеджере если терминалов запущено два? А это весьма частое явление так как в одном отдаются команды,а в другом смотрится отладочный вывод программы. Или один терминал локальный,а второй через ssh на другой машине. Вопрос второй - как заставить одну программу «отдать» другой программе путь к файлу с которым она работает? Хотя наверно это возможно - показывает же lsof открытые файлы. Но опять же - случай когда в редакторе открыто сразу несколько файлов это скорее правило чем исключение. И они вполне могут быть из разных каталогов. Например я так люблю «воровать» куски исходников из каталога с какими-нибудь примерами. И имею привычку сохранять попавшиеся на глаза удачные примеры чтобы потом было из чего воровать (обычно это относится к исходникам для микроконтроллеров).

Исходя из изложенного в предидущем абзаце - придется наделить обсуждаемый «интегратор» некоторым интеллектом. Например чтобы терминал он открывал в каталоге где находится последний файл который редактировался. Или файловый менеджер открывался там же где терминал в котором последний раз вводились команды. Или еще какие-то соглашения,которые должны быть не черезмерно сложными чтобы быть предсказуемыми для меня. А не так что нажал «открыть терминал» и не знаешь какой каталог в нем сейчас будет текущим. Уж лучше тогда «всегда домашний» как у меня сейчас,чем непредсказуемость.

Таким образом ваша работа с документами перестаёт быть приложение-центричной и становится документо-центричной.

Не уверен в осмысленности этого. Опять же по причине множественности документов, используемых в процессе работы программиста. В самом общем случае исходник который пишем и документация на основе которой пишем. Уже два «документа», открываемых в разных программах (текстовый редактор и просмотрщик pdf например). В большинстве же случаев к этим двум добавится еще лог с отладочным выводом, вышеупомянутый файл с примером откуда что-то заимствуем,возможно какие-то файлы данных которые программа обрабатывает. Уже и так понятно что выбрать из этого «центральный документ» не получится. Даже если текст на форум пишем и то часто бывает нужно свериться с первоисточниками на которые ссылаешься и это отдельные документы (как локальные так и ссылки в интернет).

Вы легко можете «перекинуть» один и тот же файл/объект/документ в другое приложение просто нажав хоткей. DE видит и понимает контекст вашей работы.

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

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

А вот это неплохое усовершенствование. Ибо сейчас программы пихают в заголовок что угодно. Особенно бесит браузер,который на некоторых сайтах пихает туда очень длинные строки,еще и из национальных символов,далеко не всегда правильно отображаемых. Я бы предпочел стандартизовать это до «имя программы + путь к открытому в активном ее окне документу». Хотя в случае с браузером надо думать что делать с длиннейшими url на некоторых сайтах (алиэкспресс как пример,но там хотябы очевидно что можно отрезать). Я тут как-то уже пытался найти можно ли сказать браузеру vivaldi которым пользуюсь чтобы он вообще не пихал в заголовок своего окна ничего кроме собственного имени. Не нашел.

watchcat382
()
Ответ на: комментарий от CrX

Файловым менеджером я пользуюсь редко, а если пользуюсь, то он в терминале.

Смысл файлового менеджера в том, что это хаб, соединяющий файловые объекты и возможные операции над ними.

Например, юзер редактировал файл, и ему потребовалось поменять права доступа. Он нажимает хоткей и «магически» попадает сразу в файловое меню для данного файла. В чём именно он редактировал файл, при этом не важно. А из меню двумя нажатиями сразу в диалог правки прав доступа.

Таким образом всё выполняется с клавы, не трогая мышь и не теряя контекст.

Или он правил файл, и ему далее ему нужно этот файл вместе с другими в каталоге отправить архивом про email. Он нажимает хоткей, попадает в файловый менеджер сразу в нужный каталог. Нажимает Backspace, чтобы выйти уровнем выше. Далее Shift + F10 для вызова меню на каталоге и выбирает архивирование.

При минимальной практике такая работа с клавиатуры превращается в автоматический навык.

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

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

Все это здорово, но востребовано только у гиков.

Так мы тут про гиков и говорим. Нам,гикам,тоже нужные удобные для нас удобства. И наши убобства в абсолютном большинстве случаев не совпадают с удобствами чайников. Хотябы даже потому что мы стучим по клаве с пулеметной скоростью,а типичный чайник мучительно ищет буквы двумя пальцами.

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

А мне иконки вообще не нужны. Мне нужны хоткеи для часто запускаемого (того что выше перечислили плюс кое-что свое добавить) и текстовое меню вызываемое по кнопке для выбора из него того что запускается редко.

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

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

Квалифицированные специалисты в любой области,умеющие эффективно организовать свою работу - это всегда «статпогрешность» к сожалению. Большинство людей даже быт свой рационально организовать не могут - в вечном бардаке живут(как в вещах так и в организации времени),а вы про работу на компе. Но также как для любителей порядка продаются всякие шкафчики-полочки-коробочки,так и для любителей эффективной работы на компе тоже должны быть доступны средства организации этой работы,вот те же виртуальные рабочие пространства(я бы не стал называть их «столами» ибо вне бумажно-офисной деятельности это противоречит логике).

Будьте проще, дайте людям стабильный и насколько возможно быстрый и легковесный клон гуя из Виндоуз 95

Имитации Win95 в линуксе и так уже есть и даже не одна. Например для icewm есть тема оформления «под винды». Желающие могут пользоваться.

Но например мне не нравится меню внизу экрана. Я как-то привык что во всех программах меню открывается вверху.Да и вообще пишем мы слева направо и сверху вниз. А не из нижнего угла листа бумаги вверх. Ну и icewm я перенастроил. Теперь у него меню программ в левом верхнем углу и панелька с запущенными программами вверху. Она как бы верхний уровень меню над меню конкретной запущенной программы. Судя по тому что в icewm все предпочитаемые мной настройки есть - я далеко не один с такими предпочтениями.

watchcat382
()
Ответ на: комментарий от CrX

Фокус на этого «обычного пользователя» и является одной из основной проблем в современном интерфейсостроении.

Целиком и полностью согласен с написанным вами! Сам тоже всегда и везде объясняю, что я не «обычный пользователь», я - энтузиаст компьютеров и электроники с многодесятилетним стажем. И мои методы и навыки работы с компом очень отличаются от навыков типичного «чайника». Один только быстрый набор на клавиатуре уже делает нас с ним абсолютно несовместимыми по личным предпочтениями. Для меня использование хоткеев это такое же рефлекторное действие как для пианиста нажатие клавиши для извлечения нужной ему ноты. У пианистов даже кнопки на клавиатуре не подписаны как у настоящих гиков,покупающих клавы без надписей :) А «обычный пользователь» мучительно ищет каждую букву одним-двумя пальцами. Понятно что ему проще тыкать в экран,причем даже не мышкой,а прямо пальцем - что для него и сделано в андроиде.

Десктоп всё больше и больше становится уделом либо энтузиастов («гиков» и иже с ними) либо профессионалов, которым полноценный компьютер со стандартными интерфейсами всё ещё нужен. Ни тем ни другим не требуется это гномье максимальное упрощение. Нужно удобство работы в том числе с клавиатуры, чтобы все действия совершались легко и быстро, не обязательно «интуитивно»

Однозначно и безуслровно ДА! Это надо «отлить в граните» :)

watchcat382
()
Ответ на: комментарий от CrX

При чем под мышь предложенная мной идея так же масштабируется.

Поскольку в иксах возможно создание окон, которые не получают автоматического фокуса ввода при клике, то достаточно на такой панели разместить кнопки вызова таких же действий, что описаны в ОП.

Будет всё то же самое, что по хоткею, только мышкой.

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

что не понятно? можно навертеть какую угодно функцию, выделил файл в терминале и по хоткею открыл в любимом редакторе, как простой пример

anonymous
()
Ответ на: комментарий от watchcat382

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

Это потому, что существующая сейчас в Линуксе парадигма как одного, так и другого является унаследованной. Командная строка унаследована от Unix, а GUI унаследована от Windows.

Хотя парадигму Windows нельзя назвать однозначно плохой, но она решала свой отдельный круг задач, и в числе главных было – предоставить «достаточно понятный» для широкого круга офисных сотрудников интерфейс, который при этом еще и работал на 4 МБ оперативной памяти.

А проектирование GUI так, чтобы результат раскрывал потенциал работы с компьютером, а не просто позволял пользователю жмакать на кнопки – такие попытки были, но результат ни в одной мейнстримной ОС и DE не прижился.

KDE концептуально повторяет винду, а GNOME вообще ставит целью опустить взаимодействие с компьютером до уровня идиотов.

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

Калькулятор — вообще странная вещь, чтобы иметь не в терминале, а в гуе с кнопками — неужели кто-то по ним действительно кликает?

Неквалифицированные пользователи не только на калькулятор кликают,но и цифры в бухгалтерской программе набирают тыкая мышкой в выезжающую из поля ввода «клавиатурку». Лично видел. Эффективность работы - соответствующая.

Сам когда-то перебрал несколько команднострочных калькуляторов,остановился на wcalc(есть в дебиане). Тогда,лет 25 назад, Питон еще не был особо известен,а то может и его бы выбрал для калькуляторных целей. Для меня естественно написание математических выражений в той форме как они обычно в языках программирования пишутся.

понадобятся синусы с косинусами или ещё что-то посложнее, чем банальная арифметика — оно тоже под рукой.

В wcalc тригонометрия и логарифмы тоже есть в вполне интуитивном для программиста виде. А что-то еще более экзотическое требуется совсем не часто. Там уже man почитать придется.

Если же вычисления становятся достаточно сложными (например требуют повторения каких-то операций и подстановки их результатов в другие) то логично уже будет написать их в виде программы на любом знакомом языке.

watchcat382
()
Ответ на: комментарий от vbcnthfkmnth123

Ну не совсем. Насколько я знаю, тот же KDE и XFCE были попытками копирования CDE.

В какой-то степени да, но идеи брали все и отовсюду. Напомню, что и сама CDE появилась в 1993, когда уже не просто существовала Windows (с 1990), а уже даже 3.1 успела выйти.

Но так-то они все от Xerox начало берут.

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

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

У нас - линукс,он по определению модульный. Это не винды где один интерфейс для всех. Интерфейсы для «обычных пользователей» в линуксе уже есть. Так что претензии к ним пожалуйста(с их несовершенством я согласен).

А тут обсуждается интерфейс, который будут устанавливать себе только гики. И они вправе создать для себя то что удобно им. И написать на входе «только для квалифицированного персонала»,как иногда в реальном мире пишут. Никого же не смущает то,что обычному пользователю бытовых электроприборов возбраняется даже входить на электроподстанцию,а чтобы там что-то делать вообще зачёты надо сдавать. А ведь комп устроен намного сложнее чем трансформаторная будка во дворе. И неквалифицированное его использование часто может привести к куда большим убыткам чем вся эта будка стоит.

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

Я сначала пытался отвечать на ваш комментарий по пунктам, но потом бросил. У вас в голове какая-то каша из стереотипов. То вам не то, это не это, все вокруг тупые и не знают, как ПРАВИЛЬНО(с) использовать свой пк. Только вы один все знаете и справки выдаете.

Имитации Win95 в линуксе и так уже есть и даже не одна.

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

anonymous
()
Ответ на: комментарий от CrX

Неа. CDE был основан на VUE от HP.

HP is one of four sponsor companies that contributed key technologies and helped to develop CDE (Common Desktop Environment). CDE's consistent look and feel is based on HP's proven and accepted HP VUE technology

https://en.wikipedia.org/wiki/Visual_User_Environment

vbcnthfkmnth123 ★★★★★
()
Последнее исправление: vbcnthfkmnth123 (всего исправлений: 1)
Ответ на: комментарий от wandrien

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

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

anonymous
()
Ответ на: комментарий от vbcnthfkmnth123

Ну да, на нём. А он слизал основные идеи у Xerox, как и ябло с мелкомягкими.

Да и опять же, основанность на VUE никак не помешала брать какие-то идеи из других окружений, как для CDE, так и для его потомков.

Они это тогда пытались и в стандарт оформить.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от vbcnthfkmnth123

Ну не совсем. Насколько я знаю, тот же KDE и XFCE были попытками копирования CDE.

Всё это в целом одно и то же.

Как нарисованы панели, и какой кнопкой мыши куда нажимать, это всё не концептуальные отличия.

Как пример попытки изменить подход на уровне парадигмы можно привести Unity.

Когда Unity реализовала «глобальное меню», многие решили, что это такое заигрывание на маководами.

Но делать в Unity глобальное меню «как в OS X» нет никаокго смысла, поскольку модель окон и приложений в Unity не как в OS X.

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

И этот перечень стал доступен оболочке.

А это означает, что можно нажать хоткей, набрать часть названия команды, и оболочка подставит нужное. Не нужно шариться по меню внутри приложения, всё работает через автодополнение.

В KDE, кстати, реализовали аналог уже не на уровне DE, а локально на уровне приложений. Открывается хоткеем Ctrl + Alt + I.

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

тут обсуждается интерфейс, который будут устанавливать себе только гики

Тут обсуждается очередной сферический конь в вакууме, который никогда не будет реализован. Лет 10 или чуть больше читаю лор, все это время ТС фонтанирует подобными идеями. Много он реализовал?

anonymous
()
Ответ на: комментарий от CrX

Но в контексте фаерфокса я про выпиливание «ненужной» функциональности в первую очередь.

Согласен с вами и тут. Опять же потому что работа профессионала с браузером сильно отличается от того как браузером пользуется «чайник». И должен быть браузер для профессионалов,позволяющий настроить его для эффективного решения разных задач и добавить нужную функциональность расширениями. Глядя на объемы кода современных браузеров мне вообще что-то кажется что развитие веба завернуло куда-то не туда и вообще движется в сторону ругаемых за «сетевую прозрачность» Иксов :) От чего ушли к тому и практически пришли.

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

Независимость программ - поддерживаю. Излишняя интеграция - зло.

Зачем нужен бандл из посредственного ФМ, хренового эмулятора терминала, убогого текстового редактора и средненького оконного менеджера, если можно взять отдельно хороший терминал, хороший редактор, хороший WM, и т.д.? И «хороший» здесь не моё личное экспертное мнение, а выбор самого пользователя — наиболее подходящее под каждую задачу.

Опять согласен. Особенно учитывая что в качестве пользователя мы тут рассматриваем профессионала,который по определению способен подобрать наиболее подходящие компоненты под решаемую задачу. И для меня очевидно,что интерфейс рабочего компа у например веб-мастера будет существенно отличаться от интерфейса у программиста микроконтроллеров. И оба будут совсем не похожи на интерфейс компа для допустим создания аудиовизуального контента,который должен бы имитировать микшерский пульт,а не стол офисного клерка.

watchcat382
()
Ответ на: комментарий от anonymous

Тут обсуждается очередной сферический конь в вакууме, который никогда не будет реализован. Лет 10 или чуть больше читаю лор, все это время ТС фонтанирует подобными идеями. Много он реализовал?

О, так ты мой поклонник.

Все эти 10 лет ТС пользуется программами, которые собственно 10+ лет назад и написал.

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

Почему не наоборот? T - текст W - веб

Я тоже для запуска использую обычно сокращения по каким-то мнемоническим признакам. Но для разных людей мнемоничность может быть существенно разной,поэтому хоткеи обычно и делаются настраиваемыми,а не прибитыми гвоздями. У меня например ctrl-alt-T это Терминал. А мой знакомый программист работающий в виндах всегда назначает ctrl-alt-F на запуск Far. Кстати, вот это «ctrl+atl» я у него когда-то и позаимствовал.

watchcat382
()
Ответ на: комментарий от wandrien

Когда Unity реализовала «глобальное меню»,

Это что такое? Вроде меню по правой клавише по заголовку окна? У меня в CDE такое есть, если я вас правильно понял. Могу там например окно переместить на другой рабочий стол или переименовать. Идея не новая, совсем.

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

О, так ты мой поклонник.

Конечно. Здесь много ваших поклонников.

Все эти 10 лет ТС пользуется программами, которые собственно 10+ лет назад и написал.

Разве это не форки с некоторыми доработками? Ничего интересного и принципиально нового вы не сделали, увы. Но мечтать не вредно, за это не осуждаю.

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

кстати, еще хорошо бы иметь функцию типа run-or-raise, чтобы не запоминать на каком виртуальном столе твое приложение, нажал хоткей и оно либо открылось где надо, либо переключило фокус, удобно

Согласен,но с уточнениям - надо как-то решить что делать если на разных виртуальных столах (предпочитаю называть виртуальными экранами) запущено одно и тоже. Самый частый пример - несколько xterm. Что будем делать - запускать еще один на текущем экране или открывать какой-то из запущенных(какой)? Надо подумать.

watchcat382
()
Ответ на: комментарий от vbcnthfkmnth123

Это что такое?

Это когда строка меню находится не внутри окна приложения, а вынесена на верхнюю панель.

wandrien ★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

У меня на Super+Fx переключение рабочих столов.

А я ctrl-alt-[1…6] использую. Не требует наличия на клаве кнопок свыше обычных ctrl и alt,и в то же время ни с чем мне известным не пересекается. То есть я могу сказать icewm использовать эти сочетания для переключения и ни в какой запущенной программе ничего не перестанет работать.

watchcat382
()
Ответ на: комментарий от anonymous

Разве это не форки с некоторыми доработками? Ничего интересного и принципиально нового вы не сделали, увы. Но мечтать не вредно, за это не осуждаю.

Я и в этой теме ничего «принципиально нового» не написал.

Ни xprop, ни xclip не являются принципиально новыми.

Однако вот прототип, который был написан за полвечера:

$ cat ~/.bin/open-selection 
#!/bin/sh


is_command_present()
{
    which "$1" >/dev/null 2>/dev/null
}

unquote()
{
    # FIXME: pretty incomplete impl lol
    sed 's/[\]\(['\''"]\)/\1/g'
}

get_window_title()
{
    if is_command_present xdotool ; then
        xdotool getactivewindow getwindowname
        return
    fi

    if is_command_present xprop ; then
        local wid="`
            xprop -root _NET_ACTIVE_WINDOW | grep -o '# 0x.*' | grep -o '0x.*'
        `"
        xprop -id "$wid" _NET_WM_NAME | sed 's/.* = "\(.*\)"$/\1/' | unquote
        return
    fi
}

get_selection()
{
    if is_command_present xclip ; then
        xclip -o -selection
        return
    fi

    if is_command_present xsel ; then
        xsel -o --primary
        return
    fi

}

extract_path()
{
    local path="`echo "$1" | grep -o '\(/\|~/\).*'`"

    case "$path" in
        '~/'*)
            path="${path/\~/$HOME}"
        ;;
    esac

    while test -n "$path" -a "x$path" != "/" ; do
        if test -d "$path" ; then
            break
        fi
        #path="`dirname "$path"`"
        path="`echo "$path" | sed 's!\(.*\)[-:/ ][^-:/ ]*!\1!'`"
    done

    echo "$path"
}

window_title="`get_window_title`"
work_dir="`extract_path "$window_title"`"

selection="`get_selection`"

qk "$work_dir/$selection"
wandrien ★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

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

Пожалуй соглашусь с этой вашей идеей в концептуальном плане,как с материалом для размышлений.

watchcat382
()
Ответ на: комментарий от wandrien

Хотя парадигму Windows нельзя назвать однозначно плохой, но она решала свой отдельный круг задач, и в числе главных было – предоставить «достаточно понятный» для широкого круга офисных сотрудников интерфейс

Вот именно что для «широкого круга». Причем в те времена когда типичный офисный сотрудник смотрел на комп как баран на новые ворота по большей части. А баран потому что НЕ ХОТЕЛ УЧИТЬСЯ. Офисным сотрудникам в очень большом числе случаев выгодны неэффективные методы работы. Ибо имитация бурной трудовой деятельности - явление давно известное из докомпьютерных еще времен.

А проектирование GUI так, чтобы результат раскрывал потенциал работы с компьютером, а не просто позволял пользователю жмакать на кнопки – такие попытки были, но результат ни в одной мейнстримной ОС и DE не прижился.

Потому и не прижился что мейнстрим в те времена был ориентирован на чайников. И только сейчас очень постепенно и медленно ситуация начинает меняться - я думаю что благодаря увеличению доли «продвинутых пользователей».

watchcat382
()
Ответ на: комментарий от vbcnthfkmnth123

GUI унаследована от Windows

Ну не совсем. Насколько я знаю, тот же KDE и XFCE были попытками копирования CDE.

А всё это было копированием идей того дядьки из фирмы Xerox которую саму концепцию отождествления экрана со столом придумал,а каталогов файловой системы с бумажными папками. Можно найти в гугле ту историю - ему поставили задачу внедрить компы в каком-то офисе где народ вообще про них ни ухом ни рылом,зато мастерски бумажки перекладывал. Ну он им и сделал привычную среду.

Что интересно - в научно-фантастических фильмах мне попадались компьютерные интерфейсы вообще нифига никак не похожие на «столы»,а скорее на пульт управления чем-нибудь. Столы там как раз редкость и мышкой в папки никто не тыкает.

И лично мне интерфейс как пульт управления компом как-то ментально ближе чем интерфейс как имитация стола с бумагами. Может потому что я на электронщика учился?

watchcat382
()
Ответ на: комментарий от anonymous

У вас в голове какая-то каша из стереотипов.

Не «каша из стереотипов»,а набор лучших практик со времен еще больших ЭВМ.

То вам не то, это не это

Как можете видеть в этой теме - далеко не только мне.

все вокруг тупые и не знают, как ПРАВИЛЬНО(с) использовать свой пк.

Так ведь действительно не знаю. И хуже того - не хотят УЧИТЬСЯ. Даже быстрому набору на клавиатуре учиться не хотят,не говоря уже об изучении хоткеев в программах. Хотя настоящие профессионалы есть,но их мало. Даже профессиональные дизайнеры в фотошопе хоткеи знают и активно применяют. Потому что это эффективно.

Только вы один все знаете и справки выдаете.

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

watchcat382
()
Ответ на: комментарий от anonymous

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

Для тех кто ничего не хочет изучать - давно уже интерфейсов понаделано. Апофигеозом были компы от Эппла у которых мышка имела ОДНУ кнопку. Сейчас для таких людей сделаны планшеты и смартфоны с пальцетыкательным интерфейсом и они к счастью всё больше уходят с десктопов туда.

А обсуждаем мы тут гуй для тех,кто таки ХОЧЕТ и изучать и настраивать. Представьте себе - такие люди есть. И как правло это хорошие профессионалы, заинтересованные в эффективности используемых инструментов.

watchcat382
()
Ответ на: комментарий от anonymous

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

Это тред, совершенно очевидно, о том, что в вашей терминологии является маргинальной поделкой. Зачем было вообще вступать в диалог, ежели подобное вам совершенно не интересно?

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

Имитаций навалом, а нормального ДЕ нет и никогда не было.

Нормальность - она существенно разная для разных людей. Для меня (и как видим не только для меня),абсолютно ненормален интерфейс,вынуждающий снимать руку с клавиатуры и хвататься за мышь там, где это не связано с черчением,рисованием или иными подобными задачами. Копировать файл таская его иконку мышкой по экрану - для меня выглядит костылем который мог бы быть актуальным только для дремучих чайников лет тридцать назад когда Гейтс его в винды и внедрял.

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

Здесь вообще-то не айсвм обсуждается,а идеи построения интерфейса для профессионалов,предпочитающих эффективные приемы работы. В частности - удобное управление компом с клавиатуры. И если где-то о клавиатурном управлении уже было в какой-то степени подумано - то и в пример это привести вполне можно.

watchcat382
()
Ответ на: комментарий от CrX

Калькулятор — вообще странная вещь, чтобы иметь не в терминале, а в гуе с кнопками — неужели кто-то по ним действительно кликает?

Удобнее DEC/HEX конвертировать, чем в терминале.

GUI калькуляторы так-то с клавы управляются.

wandrien ★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)