LINUX.ORG.RU
ФорумTalks

Несколько функций на одной клавише


0

0

Есть такая программа для просмотра изображений — IrfanView. Закрытая, бесплатная, довольно популярная. Под вайном работает. У неё достаточно необычно реализовано управление с клавиатуры. Одна и та же клавиша может применяться и для прокручивания изображения, если оно не влазит в окно, и для перехода на следующий рисунок, если крутить некуда.

Вопросы. Как по-вашему, насколько это удобно? Можете ли назвать другие примеры, когда назначение клавиши варьируется в зависимости от обстановки? Ни в KDE, ни в гноме, ни в XFCE глобальные настройки не позволяют назначать одну клавишу на несколько действий, с уществует ли среда или тулкит, который позволяет?

★★★★★

>Как по-вашему, насколько это удобно?
Неудобно совершенно.
Листал-листал изображения, хоп, какое-то не влезло, и всё, на следующее уже не перелистнёшь без раздумий, а какой же кнопкой это теперь делать.

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

>Неудобно совершенно.

Плюсую, всегда раздражало.

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

> Eye of Gnome же. PgUp, PgDown

Только эти 2? А если влево-вправо? А стрелки задействованы?

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

Нет. Если нужно листать без прокрутки, на это есть специальная клавиша. Можно с самого начала жать на пробел или BkSp.

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

Т.е. стаёт вопрос топикстартера, о том, что…

Deleted
()

Блендер. Одни и те же клавиши выполняют схожие или дентичные действия, в зависимости от режима. Жутко удобно. Но нужно привыкать. За неделю(даже безвылазного сидения) новичёк всё не осилит.

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

> Жутко удобно. Но нужно привыкать.

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

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

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

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

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

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

>А к чему ты это?

Разные действия в разных режимах для одного хоткея - явление повсеместно используемое. ТС спрашивал (насколько я понял) о другом - разные действия в одном режиме в зависимости от других обстоятельств.

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

А что такое «обстоятельства»? В Блендере, который я и привёл в пример, все условия можно отнести к различным режимам.

Ближе к конкретике.

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

Какие-то свойства входных данных. Ну, например, так: Если моделька в блендере круглая - клавиша «s» увеличивает масштаб, если квадратная - уменьшает, если треугольная - вращает против часовой стрелки.

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

А если многоугольная, то хаотично меняет координаты вершин? :) Слишком неочевидно и неудобно.

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

Мне нравится такое: я думаю что делать, а она - как. Да, не везде так можно. Но это ускоряет процесс. А разминку для мозгов я сам устрою когда захочу ;)

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

> Разные действия в разных режимах для одного хоткея - явление повсеместно используемое. ТС спрашивал (насколько я понял) о другом - разные действия в одном режиме в зависимости от других обстоятельств.

Vi/vim — несколько не то. Там есть явное переключение между режимами. Я же имел в виду несколько иное — программа сама определяет как трактовать клавишу в данных обстоятельствах (по жёстко заданным однозначным правилам). Я плохо помню, что было в блендере — давно им не пользовался.

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

>Я же имел в виду несколько иное — программа сама определяет как трактовать клавишу в данных обстоятельствах (по жёстко заданным однозначным правилам).

Ты имеешь ввиду: удобно ли это? Я думаю что да. Но лучше перебраться к конкретике. Потому как десяток хоткеев для 90% действий запомнить не сложно, как бы не казалось обратное. Так что за софт?

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

А первоначальный вопрос был о том, какие контекстно-чувствительные команды стоило бы реализовать глобально во всём DE или тулките.

Только через несколько часов сам понял, что спросить хотел.

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

> Так что за софт?

В глобальных настройках КДЕ (например) на каждое действие можно назначить не более 2 клавиш (или сочетаний), а одно и то же сочетание клавиш нельзя назначить более чем на одно действие.

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

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

Сперва стоило бы привести большую часть операций к единому виду.

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

Но кто возьмётся руководить этим? Я готов помочь.

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

Не более двух скорее всего из-за возможного недостатка хоткеев(вот не хочу 3-4-5-ти буквенные - мне неудобно). А второе - для однозначности трактовки. У тебя же Ctrl+V везде(почти) одинаково работает? Потому что он всегда выполняет одно и то же.

А что бы ты хотел делать одним и тем же хоткеем?

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

> Не более двух скорее всего из-за возможного недостатка хоткеев

Большая часть всё равно пуста. Имхо, никто не хочет с этим заморачиваться, поэтому отвели в массиве всего 2 поля.

У тебя же Ctrl+V везде(почти) одинаково работает?

И я им почти не пользуюсь :)

Вот для него-то 2 и не хватает. Иногда удобнее Ctr/Shift-Ins. Иногда — Ctr/Shift-KP_Ins. А иногда программа принципиально не принимает ничего кроме Ctrl-C/V. Но у Ctrl-C в консоли совсем другая функция.

А что бы ты хотел делать одним и тем же хоткеем?

Хороший вопрос.

Наверное, хотел бы скреститить навигацию в IrfanView и Adobe Reader и перенести её на всё, что можно читать, листать и что может не влезать на один экран. Вверх-вниз-влево-вправо — на строку-три вверх-вниз или на равное расстояние вбок. Когда доходит почти до края страницы, последнее нажатие только выводит на край, но не дальше. А следующее нажатие переводит на следующую/предыдущую страницу. Сделать для HTML-страниц стандартные линки наподобие Next и Prev и переходить по ним. Очень удобно для чтения многостраничных мануалов. Похоже сделали навигацию в info, и на мой взгляд, это — его единственное достоинство.

Аналогично для PgUp-PgDn-Home-End. Только пролистывать не на строку, а на 80% экрана вверх-вниз-влево-вправо. С таким же переходом на предыдущую и следующую страницы. Конечно, Home и End традиционно переводят в начало и конец, но ведь ещё остались Ctrl/Alt/Shift-Home/End.

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

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

А как быть с другим софтом? Например, с просмотрщиками изображений?.

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

> какие контекстно-чувствительные команды стоило бы реализовать глобально во всём DE или тулките

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

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

Меня больше всего порадовал прикол, что если назначить в четвёртокедах аккорд Alt+Shift на переключение (ух какие срачи шли в своё время за этот ВИНДУЗЯЧИЙ аккорд, как гномосеки и прочие линукс-задроты рвали жопы, чтобы именно этот акорд переключал им раскладку), то становится невозможным переключиться на предыдущее окно по Alt+Shift+Tab. Да-да, Alt+Shift становится заблокированной, она же уже делает что-то.

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

Одну клавишу можно случайно задеть. Мне так неудобно.

Ну а Ctrl+Shift часто используется для переключения в полноэкранный режим, что для меня важнее просмотра предыдущего окна. Потому Alt+Shift. Привык, удобно.

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

> Одну клавишу можно случайно задеть

Тремор? Так пить меньше надо! Надо меньше пить! Ты часто задеваешь не те клавиши? Я вот - не упомню таких случаев, а я с компьютерами дело имею дольше, чем ты на свете живёшь. Запулим опрос - «Часто лы вы случайно задеваете клавиши, которые в данный момент не хотели нажимать?»

что для меня важнее просмотра предыдущего окна

Ну я этой возможностью пользуюсь очень редко, но всё равно неприятно, когда вдруг понадобится, а она - йок. Вспоминаешь о ней как раз тогда, когда окон оказывается слишком много, и перебирать альт-табом слишком муторно. Потому переключаю Menu, привык, удобно. Само контекстное меню, ещё со времён Win95 и клавиатур без вин-клавиш, привык вызывать по Alt+F10. Нужно КРАЙНЕ редко.

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

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

Не, часто пишу в темноте в четыре утра. Часто делаю опечатки, потому как не смотрю. Так что нафиг мне такое счастье.

Стандартизировать бы управление... вот только возможности быстро развиваются)

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

> пишу в темноте в четыре утра

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

Стандартизировать бы управление... вот только возможности быстро развиваются)

Угумсь, стандартное оправдание говнянного бреда про стэйбл апи. Ну, дорогуша, КАКИЕ такие возможности появились в процессе этого бурного развития, каких нету в более консервативных системах? Чтоб р-р-р-революционные, и, обязательно, чтобы в консервативных системах их было невозможно реализовать. Пока всё строго наоборот же.

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

Сравни возможности KDE-4.4 и Win XP, а потом заново напиши вопрос. Если он возникнет.

А то мне твои полубредовые провокационные вопросы слабо интересны.

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

> Сравни возможности KDE-4.4 и Win XP

Сравнивал. Не нашл НИЧЕГО такого, что есть в кедах, и чего нельзя было бы реализовать, и уже реализованно в экспе. Ну, разве что резиновые окна не встречал, но и то, не уверен, что никто не сделал такое в винде. Заметь, я про принципиальную невозможность реализации, а не про наличие искаропки. Например, композитные эффекты, кубик рабочего стола у меня в экспе есть, работает на порядок, как минимум, шустрее иксового композита, хоть компиза, хоть квина.

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

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

У тебя есть возможность реализовать все KWin'овские возможности в XP? Верно, нет. Тогда о чём речь?

Я сказал о привязке всех возможный действий к хоткеям. В винде действий меньше.

Сейчас только XP, на которую портирую софтину, потому о ней и речь. Слабо верю что в семёрке все возможности по управлению виджетами из кед _реализованы_.

Так чтож ты стандартизировать собрался, «дядя»?

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

> У тебя есть возможность реализовать все KWin'овские возможности в XP?

Почти все. Да, разными костылями и припарками, но есть. А я говорю именно о том, что наплевательство на совместимость под бредовым лозунгом таки не даёт реальных плюшек, таки не позволило создать ничего такого, чего НЕЛЬЗЯ было бы реализовать в консервативной системе.

Я сказал о привязке всех возможный действий к хоткеям. В винде действий меньше

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

Сейчас только XP, на которую портирую софтину, потому о ней и речь

Чудо, что, под экспю нету Qt? Ты же бредишь, иди выспись. У виндового оконного менеджера возможностей практически столько же, сколько у квина и других вменяемых иксовых wm. Другое дело, что они крайне редко используются, документацию изучать надо.

Слабо верю что в семёрке все возможности по управлению виджетами из кед _реализованы_.

На винду портируют плазму. Там изначально есть кутя. Там даже кедовские либы теперь есть. Чего тебе не хватает? Умения? Я тут тебе не помощник. Опять - я про то, что консервативная система позволяет делать всё то же самое, что и постоянно ломающая совместимость под бредовыми лозунгами. Так ради чего тогда отравлять жизнь пользователям и сторонним разрабам?

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

Ты идиот ;)

Свою софтину портирую, а не Qt.

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

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

> Свою софтину портирую, а не Qt

Ты так страдал по поводу кед, ага.

Лучше расскажи как ты настраиваешь рабочее место для повышения производительности

Под винду, или под иксы? Под винду - включение стандартной темы оформления и, главное, использование утилиты True Launch Bar. (Старой версии, которая была, как ФАР когда-то, бесплатна для русскоязычных. Там ваще забавно - если в момент инсталляции языком интерфейса был русский, шароварка отменяла сама все ограничения, и не требовала оплаты. Опять же, чем хорош стабильный апи - версия старая, но я использую её не напрягаясь. Попробуй в линуксе заюзать версию на два релиза ниже текущего.) А, ещё VirtuaWin - переключалку рабочих столов. Пытался использовать xmouse для таскания окна за любое место и добавления мышиного буфера, но плюнул, с играми оно глючит, а на домашней машине я почти не работаю. Ещё - старый добрый Switch It для переключения раскладок по контролу, перекодировки набранного не на той раскладке, и в трее флажки вместо букв на индикаторе раскладки.

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

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

Ясно, ничего необычного, или использующего педали :)

Интересно, любое ли приложение можно переделать под полноэкранный режим?.. Особенно интересно как это сделать для всяческих IM.

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

(gobject:g-signal-connect button «clicked» (lambda (w) (declare (ignore w)) (if (условие) (zoom-in) (zoom-out))))

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

> Ясно, ничего необычного, или использующего педали :)

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

Интересно, любое ли приложение можно переделать под полноэкранный режим?

Переделать? Переделать - любое. Насильно, средствами wm переключить - а смысл? Если прога изначально заточена под фиксированный размер, то разворачивание на весь экран ничего хорошего не даст.

для всяческих IM

Хм. А в чём проблема? Список контактов? Мелочь, нужен редко, можно наплевать, тем более, что в высоту он растягивается, а в ширину - бесполезно. Окно чата же и так максимизируется стандартно.

Кста, про тру ланч бар слышал, видел? Мегаудобная штука. Особенно мне нравится возможность вызова меню вообще без клика. Навёл мышу, меню открылось, увёл в сторону, короткая пауза, закрылось. Так бы и выкинул меню Пуск. К тому же, позволяет кастомизировать каждое подменю, где большие значки, где маленькие, где с прокруткой, где в несколько рядов. Плюс аддоны есть, полезные. Например, системный монитор, визуализирующий загрузку проца и память. Часы, различные индикаторы, регуляторы. Аддон управления питанием добавляет кнопку ухода в спящий режим. Вопщем, именно эта утилитка позволяет мне в винде себя чувствовать не слишком дискомфортно по сравнению с кедами. А кое в чём даже удобнее.

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

Я имею ввиду другое: существует ли такой тип информации, полноэкранное приложение для которого будет неудобно? Скорее всего нет, но я могу что-то упускать.

А кое в чём даже удобнее.

Интересная идея - открывать после задержки.

Когда уже набор добровольцев на новое ДЕ начнётся?.. :D

wyldrodney
()

IrfanView. Закрытая, бесплатная, довольно популярная.

Shareware с архаично-уродливым интерфейсом. А эта Killer-фича присутствует практически в любом современном вьювере.

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

> Не всё кажется удобным, так что лучше бы это настраивалось.

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

А как быть с другим софтом? Например, с просмотрщиками изображений?

Как раз их я и имел в виду в первую очередь.

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

> Переключение раскладок ... контрол ... Alt+Shift

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

Про консоль не выяснял, а в иксах всё очень просто и очень сложно :) Удобнее было бы, чтобы переключение раскладок происходило не при нажатии, а при отпускании. Но этого не позволяет существуюцая архитектура соответствующей части иксов — XKB(?). Баг: https://bugs.freedesktop.org/show_bug.cgi?id=865

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

> вызова меню вообще без клика. Навёл мышу, меню открылось, увёл в сторону, короткая пауза, закрылось.

Дело вкуса. По горячей клавише открывается вообще без пауз. А мышиный курсор у меня при активной печати всё время норовит куда-нибудь укатиться, приходится всплывающие подсказки отключать, чтобы не выскакивали всё время :)

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

> XKB

Угу. Ещё лучше, чтобы отслеживалось и нажатие, и отпускание. Вот тогда можно реализовать грамотные и удобные алгоритмы поведения переключалок и хоткеев. И, чсх, это реализовать ну никак не сложнее, чем прикручивать-откручивать HAL или DRI, скажем. Но опенсурс же, никому не интересно, и некому по рогам настучать и застсавить.

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

> Дело вкуса.

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

По горячей клавише открывается вообще без пауз

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

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

> существует ли такой тип информации, полноэкранное приложение для которого будет неудобно?

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

Интересная идея - открывать после задержки

Задержка есть, но минимальная - в районе одной десятой секунды. Примерно столько же времени занимает остановить мышку и кликнуть. То есть провести курсор над кнопкой можно, незапланированно меню не откроется. Вот закрывается с задержкой в несколько десятых. Чтобы и не ждать слишком долго, когда оно тебе перестало быть нужным, но и не схлопывалось внезапно, если курсор, дёрнувшись случайно, за пределы меню выскочил. Гы, подумалось: было бы суперкруто, если бы среда отслеживала состояние юзера, и, если он начинает тормозить с недосыпу, например, увеличивать эту задержку. В кедах - бегунком и хитрым алгоритмом, учитывающим время реакции и количество ошибок юзера, а в гнуме - тупо в зависимости от времени суток. По гринвичу. :)

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

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

Уже придумал как решить проблему) Вот бы кто начал ДЕ писать...

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