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)

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

Но вот как найти если гугл не выдает ссылок?

Ух, это целый навык, про который можно хоть отдельный тред заводить.

Если что, я не утверждаю, что отлично им владею. Но знаю людей, кто вполне.

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

Ты достаточно умный, чтобы самостоятельно понять свою логическую ошибку

Будь добр, объясни.

А то, что ты хочешь, напрямую отсылает нас к объектно-ориентированным программным средам, среди которых единственной успешной реализацией является OLE

В линуксе объектное решение невозможно в связи с отсутствием аналога COM

У экосистемы линукса нет роскоши «flag day» и архитектурного отдела размером с две компании, в которых ты работаешь, который пять лет тужится, выплёвывает OLE и COM, а потом платформа принуждает всех это использовать.

Всё, что есть у линуксового десктопа, эволюционировало из говна и палок. То, что предлагаю я, имеет более-менее очевидный эволюционный путь вперёд. То, что описал ты — нет.

А в каком пространстве имён это «релевантные» задачи?

Я несколько неточно использовал терминологию, чтобы мой поинт получше кристаллизовался. Ты достаточно умный, чтобы самостоятельно это понять (c)

Короче, мне ещё вчера надоело спорить со стенкой, и сегодня желания особо не прибавилось.

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

Вот упомянутый syncthing в пределах наличия сети между устройствами создаёт иллюзию бесшовной интеграции файлов

Да ни хрена он не создаёт. Ты им пользоваться пробовал для более требовательных задач, чем «закинул, через день открыл с другого компа»?

Точно такой же костыль, как и всё остальное упомянутое в этом треде (ладно, нет — твой костыль из шапки на пару порядков отвратительнее).

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

Будь добр, объясни.

X11 не занимается вопросами буфера обмена. В X11 предоставлен универсальный механизм обмена данными, когда один клиент может сказать «хэй! у меня есть ШТУКА!». А другие клиенты могут спросить «что за ШТУКА? покажи мне!».

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

Всё это область действия протоколов уровня приложения.

X11 не больше поддерживает правила управления окнами или работу буфера обмена, чем ssh поддерживает исполнение команды ls.

Всё, что есть у линуксового десктопа, эволюционировало из говна и палок. То, что предлагаю я, имеет более-менее очевидный эволюционный путь вперёд. То, что описал ты — нет.

Не, ты предлагаешь решать другую задачу.

Моя задача предполагает, что я могу выделить имя файла в выводе grep, и файл «магически» откроется. Или что я могу в куске документации а ля «конфиг этой программы лежит в ~/.config/program/defaults.conf» выделить имя файла, и файл магически откроется. (Вот кстати парсинг тильды тоже надо добавить, как раз код для этого пишу.)

Это нацелено, чтобы машине был понятен произвольный текст как файловый путь в любом месте, а не только в специальных местах типа командной оболочки или диалога Open/Save.

Короче, мне ещё вчера надоело спорить со стенкой, и сегодня желания особо не прибавилось.

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

Кстати насчёт того, что ты вчера приводил в пример про скриншотилку и gimp. Не полностью имеет отношение к этому, но по аналогии вот глаза зацепились за:

The Direct Save Protocol, abbreviated XDS (for X Window Direct Save Protocol), is a software protocol that supports saving files by dragging them to file manager windows. XDS is built on top of the XDND protocol.

В ROX Desktop способ «перетащить файл из приложения в окно ФМ» был основным способом сохранять файлы.

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

А у нас, как ты верно заметил:

Всё, что есть у линуксового десктопа, эволюционировало из говна и палок.

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

Ты им пользоваться пробовал для более требовательных задач, чем «закинул, через день открыл с другого компа»?

Я в нём с полгода назад 20+ гигов перемолотил:

Будущее личных вычислительных систем (комментарий)

Точно такой же костыль, как и всё остальное упомянутое в этом треде (ладно, нет — твой костыль из шапки на пару порядков отвратительнее).

Это твоё личное мнение, которое тебе нечем подкрепить на уровне аргументов.

Лучше конечно «мышкой навигировать» по файловой системе каждый раз как дурак.

И лучше конечно работать с одними данными с разных машин… при помощи чего? Где альтернатива?

такой же костыль

Ровно такой же костыль, как Google Drive, который установлен буквально в каждом телефоне. Вот ровно такой же. Не слишком сильно?

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

Всё, что есть у линуксового десктопа, эволюционировало из говна и палок. То, что предлагаю я, имеет более-менее очевидный эволюционный путь вперёд. То, что описал ты — нет.

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

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

десктопу хакеров которые в сообществе правят бал.

Это те хакеры, которые 25 лет не могут избавить наутилус от тормозов, или те хакеры, которые 15 лет делают вейланд из говна и палок? Или которые в 4-й раз переписывают блокнот на новый тулкит?

Или в «сообществе» «правят» еще какие-то хакеры? Эти хакеры сейчас с тобой в одной комнате?

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

Это те хакеры, которые 25 лет не могут избавить наутилус от тормозов, или те хакеры, которые 15 лет делают вейланд из говна и палок? Или которые в 4-й раз переписывают блокнот на новый тулкит?

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

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

В «сообществе» давно правят левачки с повесточкой и приложениями в стиле трёх кнопок. Пока ты кичился своей мнимой элитарностью, пропустил всё, что происходит.

Да, сейчас их со мной в одной комнате как минимум трое.

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

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

i3… единственный настоящий десктоп

Кек. Элита в треде.

хакеры пишут софт который решает реальные задачи

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

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

В связи с тем, что под иксами невозможно отличить выделенный текст от текста, который БЫЛ выделен (выделение снято), я немного пересмотрел подход.

У нас может быть три варианта, как мы можем прочитать путь к файлу из контекста:

  • Путь, открытый в текущем окне.
  • Текст, находящийся в буфере PRIMARY (выделенный текст) + опора на путь в текущем окне.
  • Текст, находящийся в буфере CLIPBOARD + опора на путь в текущем окне.

Соответственно у нас три хоткея для каждого из этих случаев.

Каждый хоткей берёт соответствующий путь и открывает для указанного файла файловое меню.

Когда файловое меню открыто, по его пунктам навигация осуществляется одноклавишными ускорителями.

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

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

Какой к механизму будет интерфейс, пока не определился.

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

Я не тот анон, но ты на уровне детсада. И этот анон прав по теме, что мерило у тебя очень и очень ограниченное.

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

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

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

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

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

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

Я не тот анон, но ты на уровне детсада.

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

Писать кому-то, что он на уровне детсада, и одновременно оперировать «пацанскими» категориями – это рофл.

А пацаны пользуются смартфонами с «бесконечной» прокруткой и страницей фокуса, разработанной Джефом Раскиным.

Между Раскиным и «пацанами» разница примерно как между Буддой и буддистами. Умный поймёт.

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

/.config/program/defaults.conf» выделить имя файла, и файл магически откроется.

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

В ROX Desktop способ «перетащить файл из приложения в окно ФМ» был основным способом сохранять файлы.Не скажу, что это было удобно,

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

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

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

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

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

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

Я соглашусь что с теоретической точки зрения это может быть даже и правильно. Но вот лично мне пользоваться этим будет лень. Потому что в большинстве случаев я не вижу простого и удобного мне способа совершить действие «выделить».

А что будет не лень? Какой вариант проще и удобнее?

Я сейчас смотрю https://www.youtube.com/watch?v=7RNbIEJvjUA , и там юзер открывает файлы в текстовом редакторе просто кликая по ним мышкой в терминале. Кажется, мы просрали все полимеры.

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

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

А способ сочленения этих единиц с точки зрения UI может быть более удобным, да.

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

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

Я вот не вижу никакого смысла выкладывать куда-либо то,что сделано мной для «реальных задач». Например управление контроллером моей домашней солнечной электростанции - ну кому и зачем оно надо,если оно делалось под мою конфигурацию оборудования, под мои настройки и под мой профиль потребления энергии? Естественно там есть например столь нелюбимые истинными программистами «магические константы»,забитые в коде в виде дефайнов. Я и так знаю что за это мой код будут критиковать господа теоретики. Ну и за всякие прочие «местные особенности», облегчающие жизнь мне но абсолютно не актуальные кому-либо еще. Так я и не ставил перед собой задачи сделать универсальный софт на все случаи жизни и продвигать его в массы. Разница примерно как между изготовлением тумбочки/табуретки себе домой или созданием аналога ikea.

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

Текст, находящийся в буфере PRIMARY Текст, находящийся в буфере CLIPBOARD

Не знаю кого как,а меня всегда раздражало наличие в иксах нескольких буферов(их там кстати больше двух) - потому что не всегда легко бывает предсказать из какого вставится здесь и сейчас. Поэтому я когда-то нашел способ объединить эти буферы в один с помощью autocutsel. Еще неприятная особенность иксового буфера обмена - склонность затираться еще до нажатия Ctrl-Ins на которое у меня назначено действие «скопировать выделенное в буфер»(хоткей позаимствован из OS/2). Кстати, это еще один повод выделять с клавиатуры (обычно через shift-стрелки так как других способов обычно не предусмотрено в программе кроме текстового редактора). Потому что при выделении мышью шансы на то что буфер будет затерт до нажатия ctrl-ins выше.

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

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

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

Поэтому я когда-то нашел способ объединить эти буферы в один с помощью autocutsel.

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

Еще неприятная особенность иксового буфера обмена - склонность затираться еще до нажатия Ctrl-Ins на которое у меня назначено действие «скопировать выделенное в буфер»(хоткей позаимствован из OS/2).

Непонятно, о каком «копировании» может идти речь, если буферы и так объединены.

(их там кстати больше двух)

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

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

Прогресс выглядит так))

Вот еще на днях вышла статья про глюки клавиатуры в KDE

https://habr.com/ru/articles/810829/

Я попытался повторить описанные баги у себя - не получилось. Вероятно в случае IceWM они не проявляются,видимо это особенность KDE.

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

watchcat382
()
Ответ на: комментарий от watchcat382
1. (для всех окружений) Если ставить привычные CTRL-Shift на переключение языков, то в программах тупо не работают комбинации клавиш CTRL-Shift+буква (например, в Файрфоксе CTRL-Shift-T - открыть ранее закрытую вкладку). Для ALT-Shift проблема та же, но уже с комбинациями с ALT.

Объясняется это тем, что система не дожидается нажатия буквы, а отрабатывает сразу сочетание CTRL-Shift (переключение языка) и ждёт новых команд. Это де стандарт такой…

Вот тут я завёл ошибку: https://github.com/xkbcommon/libxkbcommon/issues/420 - прошу вашей поддержки, чтобы показать, что проблема затрагивает многих пользователей, поставьте там нравку, пожалуйста.

Наивный новый юзер Линукса! Сколько нечудесных открытий его ждёт.

Этому багу столько лет, сколько существуют Иксы.

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

В этом смысле я абсолютно нечувствителен к причитаниям разрабов иксов «код иксов говно… мы не можем его поддерживать…»

А кто последние 25 лет писал этот код? Кто, я спрашиваю! https://ibb.co/ypDz4gK

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

А что будет не лень? Какой вариант проще и удобнее?

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

Текстовый редактор умеет редактировать текстовые длкументы, файловый менеджер умеет работать с файлами. Не «запихать всё в одно», а разбить на самостоятельные единицы.

С этим постулатом безусловно и однозначно согласен.

А способ сочленения этих единиц с точки зрения UI может быть более удобным, да.

Вот например в MC очень удобного (для меня) сделано. Редактор вызывается нажатием одной кнопки F4 прямо на том файле который выделен в файловом менеджере. И выделение файла удобно.

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

Если мне нужно залезть в какой-то конфиг

Однако до файла надо как-то добраться.

Что касается навигации по содержимому внутри объектов, которые не являются редактируемыми документами, то на этот счёт есть как существующие решения, так и можно придумывать новые.

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

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

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

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

выделенный текст

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

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

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

Без него еще хуже. В одной программе выделил,нажал ctrl-ins - а в другой вообще вставлять по shift-ins не хочет потому что выделенное попало не в тот буфер и shift-ins на него не действует.

нажатия Ctrl-Ins на которое у меня назначено действие «скопировать выделенное в буфер»(хоткей позаимствован из OS/2).

Непонятно, о каком «копировании» может идти речь, если буферы и так объединены.

Что тут непонятно? Выделил что-то на экране (shift-стрелки или даже мышью если например в браузере,где стрелками не всегда получится выделить),нажал ctrl-ins. Ожидаю что выделенное скопируется в буфер чтобы потом сделать вставку по shift-ins где-то в другом месте. Обычно как раз из браузера в текстовый редактор так копируется найденное в интернете. При этом если на экране несколько окон (не только браузер) и в них было выделено что-то еще - то вставкой можно получить в редакторе совсем не то что ожидалось. А если выделял в просмотрщике xpdf - то из него обычно по ctrl-ins вообще не копируется(возможно виновата какая-нибудь «защита от авторских прав» на pdf-файлах?). Пришлось заменить просмотрщик на evince,хотя он существенно более медленный если надо листать страницы.

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

Если ставить привычные CTRL-Shift на переключение языков, то в программах тупо не работают комбинации клавиш CTRL-Shift+буква (например, в Файрфоксе CTRL-Shift-T - открыть ранее закрытую вкладку).

Не могу толком это у себя повторить. У меня переключение языка ctrl-shift (тридцатилетняя привычка давить правый ctrl и правый shift). Браузер Vivaldi, у него по ctrl-shift-t исправно открывается новая вкладка. Да, действие назначено другое,но оно обрабатывается. Кстати, в Иксах можно назначить переключение именно на ПРАВЫЙ ctrl-shift,а не «просто ctrl-shift» когда переключение срабатывает по обоим парам кнопок. Тогда скорее всего по левому ctrl-shift-буква и в KDE действия работать будут. У меня нет KDE,проверить не могу. Тут конечно опять сказываются мои привычки - я всегда переключаю язык правой парой кнопок и никогда левой. Ну и с точки зрения теоретической эргономики разумно назначить переключение на CapsLock так как он всё равно нигде не используется. Мне конечно уже поздно привычки менять,а для более молодых пользователей вполне подходящий вариант. Тогда и конфликта хоткеев с переключателем раскладок не будет.

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

Однако до файла надо как-то добраться.

Конфиги типично лежат в /etc,а там не тысячи файлов чтобы добраться было проблемой. Тем более что МС умеет позиционировать свой «курсор» посредством нажатия Alt-S и первых букв имени файла. Позиционирование имеет некоторые не описанные в хелпе особенности,так что надо один раз поэкспериментировать как оно работает и потом можно вполне удобно пользоваться. Во всяком случае у меня трудностей не возникает.

Кроме того, в МС есть командная строка и в ней работает автодополнение почти как в bash,только вместо Tab надо нажимать Alt-Tab. И если хочется «автодополнять» в текущем каталоге то надо его принудительно указывать в начале имени файла ./<имя>

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

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

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

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

И в терминале (ещё запущен screen).

По поводу screen ничего не скажу - он вроде как больше для дистанционной работы на случай обрывов связи,а я последние годы обычно с локальной машиной работаю. А в xterm что-то у меня shift-стрелки не работают. Может в xterm что-то не настроено и это возможно настроить? Но и сам этот способ выделения чего-либо я бы не назвал сильно удобным. Удобнее было бы поставить маркер начала выделяемого блока и маркер конца,по установке концевого маркета - всё что между ними становится выделенным. У меня текстовый редактор так может (в числе прочих способов).

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

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

. Удобнее было бы поставить маркер начала выделяемого блока и маркер конца,по установке концевого маркета - всё что между ними становится выделенным

именно так screen и работает.

ugoday ★★★★★
()