<
  • Главная
Статьи

без миші

  1. Матеріал з Xgu.ru Дана сторінка знаходиться в розробці . Ця сторінка ще не закінчена. Інформація,...
  2. [ правити ] Консольні додатки
  3. [ правити ] Графічні додатки з текстовим інтерфейсом
  4. [ правити ] Зовсім без миші
  5. [ правити ] Програмне управління становищем миші
  6. [ правити ] Відключення курсора
  7. [ правити ] Запуск X Window без миші
  8. [ правити ] Мишачий одометр
  9. [ правити ] Основи
  10. [ правити ] Буфер обміну і X11-forwarding
  11. [ правити ] Буфер обміну і XMPP
  12. [ правити ] Vim
  13. [ правити ] Vimperator
  14. [ правити ] Додаткова інформація
  15. [ правити ] Матеріали по інтерфейсу користувача на Xgu.ru

Матеріал з Xgu.ru Дана сторінка знаходиться в розробці

.
Ця сторінка ще не закінчена. Інформація, представлена ​​тут, може виявитися неповною або неправильною.

Якщо ви вважаєте, що її варто було б доопрацювати якомога швидше, будь ласка, скажіть про це .

Короткий URL: mouseless

Тут розглядаються програми і техніки, які можуть допомогти обійтися без миші або мінімізувати її використання при роботі в UNIX / Linux-системі.


Більшість операцій, які виконуються за допомогою миші, можуть бути зроблені і без неї, часто навіть швидше і простіше, за допомогою спеціальних комбінацій клавіш або з використанням спеціальних програм і технік.

Перший спосіб зазвичай простіше - досить вивчити клавіатурні комбінації (keyboard shortcuts). Другий більш радикальний і більш трудомісткий, але може бути і більш ефективним.

[ правити ] Віконні менеджери

  • xmonad - тайловий віконний менеджер для X Window System, орієнтований на використання клавіатури.
  • wmii - віконний менеджер для X Window System, орієнтований на використання клавіатури.
  • GNU Screen - текстовий віконний менеджер.
  • ratpoison - віконний менеджер, створений на базі GNU Screen, який не потребує миші.
  • Quicksilver (Mac OS X) - інструмент, який перетворює клавіатуру в надпотужний пульт управління системою.
  • Katapult і подібні - їм далеко до Quicksilver, але вони працюють під Linux і інші Unix, а не тільки Mac OS X

[ правити ] Консольні додатки

  • Консольні програми.

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

День без X:

  • a day without x (Англ.) - стаття, де автор намагається прожити один день без X-сервера. Якщо не звертати уваги на те, що для нього подвиг то, що для багатьох багаторічна звичка, то що скріншоти зроблені з-під іксів, а також те, що постинг написаний за допомогою браузера Firefox з-під Windows, він зробив непогану роботу. У будь-якому випадку, список наведених їм додатків гідний уважного вивчення.

У коментарях до статті багато цікавого:

[ правити ] Графічні додатки з текстовим інтерфейсом

Деякі програми, які на перший погляд, використовувати без миші неможливо, можуть бути виправлені так, що миша виявляється в них зовсім непотрібною. При цьому програми повністю зберігають свою функціональність.

  • Vimperator - браузер Firefox (Iceweasel) з інтерфейсом Vim;
  • Conkeror - браузер Firefox (Iceweasel) з інтерфейсом Emacs;
  • Muttator - поштовий клієнт Thundebrid з інтерфейсом Mutt.

[ правити ] Зовсім без миші

У більшості випадків, коли ви використовуєте правильні програми, такі як wmii , Vimperator , GNU Screen , mutt , freetalk і їм подібні, ви можете чудово обходитися без миші, але є деякі ситуації, коли зовсім без миші все ж складно.

Особливо, це стосується роботи з графічними додатками, такими наприклад як GIMP.

Як можна було б вирішити зазначену проблему? Потрібна програма, яка розмічають б екран сіткою і привласнювала кожному квадрату координату, що позначається символом.

Координати можуть бути присвоєні, наприклад, так:

+ ----- + ----- + ----- + ----- + | 1 | 2 | 3 | 4 | + ----- + ----- + ----- + ----- + | q | w | e | r | + ----- + ----- + ----- + ----- + | a | s | d | f | + ----- + ----- + ----- + ----- + | z | x | c | v | + ----- + ----- + ----- + ----- +

Потім, коли натискається перший символ, розмічається наступний квадрат і так далі, поки миша не буде позиційований як треба.

Якщо припустити, що на екрані все 1280x1024 точок, і при кожній ітерації він розбивається на 12 секцій, то виходить, що буде потрібно не більше ln (1280x1024) / ln (12) = 5.66 натискань, для того щоб точно спозиционировать миша. А якщо на 20, то для екрану такого розміру досить і 4.7 натискань. Насправді, така точність позиціонування потрібна рідко, а для того щоб спозиционировать з точністю до прямокутника 20x20 буде досить і 3х.

При відносному позиціонуванні, тобто, зсуві, натискань може бути ще менше.

Існує програма keynav, яка вміє працювати з такою сіткою. За умовчанням вона розбиває екран сіткою з чотирьох частин, що не дуже зручно.

Ось конфігураційний файл для розбиття екрану на кожній ітерації на 16 частин з прив'язкою клавіш, зазначеної вище:

ctrl + semicolon start, grid 4x4 1 cell-select 1x1 2 cell-select 2x1 3 cell-select 3x1 4 cell-select 4x1 q cell-select 1x2 w cell-select 2x2 e cell-select 3x2 r cell-select 4x2 a cell- select 1x3 s cell-select 2x3 d cell-select 3x3 f cell-select 4x3 z cell-select 1x4 x cell-select 2x4 c cell-select 3x4 v cell-select 4x4

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

Що можна було б в нього додати?

  • Відносне позиціонування (тобто курсор переміщається не в абсолютну точку, а щодо його поточної позиції). Іноді потрібно миша пересунути трохи вправо або трохи вліво, і теоретично повинно вистачити однієї клавіші, а тут треба заново йти і позиціонувати миша;
  • Позиціонування в межах поточного вікна. Часто буває потрібно просто кликнути мишею в якусь точку, яка знаходиться в поточному вікні. Тоді позиціонування по всьому екрану великій кількості.
  • Скасування вибору області. При виконанні абсолютного позиціонування, якщо ви швидко вибираєте потрібний квадрат, то ви можете легко помилитися (особливо, в першу чергу, коли ви тільки звикаєте до такого способу управління), і тоді непогано було б зробити скасування і повернутися на крок назад.

[ правити ] Програмне управління становищем миші

Для того щоб програмно перемістити мишу в довільну точку, можна використовувати інструмент xdotool.

Перемістити мишу в точку з координатами (100,200):

% $ Xdotool mousemove 100 200

Цей скрипт крутить мишкою по колу (сплюснутий):

~ / bin / xcircle

#! / Usr / bin / perl use Time :: HiRes (usleep); $ X = 1440; $ Y = 900; $ R = 400; $ Step = 2; $ Sleep = 10000 * $ step; while (1) {$ x = $ X / 2 + $ R * cos ($ a / 180 * 3.1415); $ Y = $ Y / 2 + $ R * sin ($ a / 180 * 3.1415); system ( "xdotool mousemove $ x $ y"); usleep ($ sleep); $ A + = $ step; $ A% = 360; }

Це якщо вам не буде вистачати руху на екрані.

Цей скрипт малює на екрані слово "Linux" написаний для використання на http://chatroulette.com/

#! / Bin / bash #l xdotool mousemove 400 200; sleep 0.09 xdotool mousedown 1 xdotool mousemove 400 300; sleep 0.09 xdotool mousemove 450 300; sleep 0.09 xdotool mouseup 1 #i xdotool mousemove 500 200; sleep 0.09 xdotool click 1 xdotool mousemove 500 220; sleep 0.09 xdotool mousedown 1 xdotool mousemove 500 300; sleep 0.09 xdotool mouseup 1 #n xdotool mousemove 550 300; sleep 0.09 xdotool mousedown 1 xdotool mousemove 550 200; sleep 0.09 xdotool mousemove 600 200; sleep 0.09 xdotool mousemove 600 300; sleep 0.09 xdotool mouseup 1 #u xdotool mousemove 650 200; sleep 0.09 xdotool mousedown 1 xdotool mousemove 650 300; sleep 0.09 xdotool mousemove 700 300; sleep 0.09 xdotool mousemove 700 200; sleep 0.09 xdotool mouseup 1 #x xdotool mousemove 750 200; sleep 0.09 xdotool mousedown 1 xdotool mousemove 800 300; sleep 0.09 xdotool mouseup 1 xdotool mousemove 800 200; sleep 0.09 xdotool mousedown 1 xdotool mousemove 750 300; sleep 0.09 xdotool mouseup 1

[ правити ] Відключення курсора

Якщо ви все одно не використовуєте миша, навіщо вам потрібен її курсор?

Програма unclutter приховує курсор миші, якщо їм не рухати протягом 5 секунд.

Величину інтервалу неактивності можна регулювати за допомогою опцій програми.

[ правити ] Запуск X Window без миші

Якщо X Window System не хоче працювати биз миші, можна додати в конфігураційний файл:

Section "ServerFlags" Option "AllowMouseOpenFail" EndSection

[ правити ] Мишачий одометр

Мишачий одометр може допомогти контролювати себе і оцінити, наскільки добре вдається уникати використання миші.

Мишачий одометр це програма, яка підраховує, скільки кілометрів наїздила миша по столу за певний інтервал часу (наприклад, з моменту запуску програми, але не обов'язково).

Популярні мишачі одометри:

  • xodo
  • kodo (KDE)
  • Gnome-Odometer (Gnome)

Буфер обміну - одне з найважливіших пристосувань для обміну інформацією між додатками, з якими працює користувач. Вміти володіти мистецтвом занесення і добування інформації з буфера обміну без миші дуже важливо, оскільки це помітно скорочує випадки використання снаряда і істотно прискорює процес роботи.

[ правити ] Основи

З мишею текст, скопійований в буфер обміну X Window System (насправді в X Window System немає ніякого буфера обміну, а є скоріше механізм обміну, який координує X-сервер; коли говорять "буфер обміну в X Window", як правило, мається на увазі цей механізм), вставляється за допомогою натискання середньої кнопки миші, коліщатка миші або двох кнопок натиснутих одночасно.

Вставити текст без миші можна за допомогою комбінації Shift - Insert.

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

У desktop-менеджерах є свої власні інструменти для доступу до буфера обміну. Наприклад, в KDE:

% $ Dcop klipper klipper getClipboardContents

У Mac OS X аналогічна задача вирішується за допомогою програм pbcopy і pbpaste.

Можна копіювати в буфер обміну текст з консолі, якщо ви сидите в screen (а сидіти в ньому має сенс), за методом, описаним в [1] . Коротко, ідея полягає в тому, щоб дублювати буфер обміну screen в буфері обміну X Window через прив'язку відповідних дій до відповідними кнопками виклику.

[ правити ] Буфер обміну і X11-forwarding

Копіювання не завжди може відбуватися локально. Ви можете працювати у віддаленій системі, і вам може знадобитися скопіювати в буфер обміну текст з тієї системи.

Це можна зробити навіть за допомогою xsel , Але для того щоб такий метод працював, необхідний X11-forwarding.

host1% $ ssh -X host2 host2% $ echo privet host1 | xsel -i

Після цього в буфері обміну хоста host1 буде повідомлення privet host1, незважаючи на те, що команда була виконана на хості host2.

Для зв'язку з X-сервером, що працює на клієнтському комп'ютері, використовуються змінні оточення, які автоматично встановлюються при вході на віддалений хост.

Якщо ж після з'єднання передачі даних і підключення до screen, змінні губляться, і для того щоб передавати дані віддаленого X-сервера, їх потрібно відновити (це, до речі, стосується і ситуації, коли ви не підключаєтеся віддалено, а підключаєтеся локально до сеансу screen, який запускався на віртуальному терміналі або в X'ах, але він пережив X-сервер, під яким ви його запускали).

Скрипт ~ / bin / sx, який можна використовувати для підключення до сеансу GNU Screen:

#! / Bin / sh export | egrep "(SSH_AUTH_SOCK | SSH_CLIENT | SSH_CONNECTION | SSH_TTY | DISPLAY) ="> ~ / .sx screen -x

Після цього в файлі ~ / .sx знаходяться потрібні нам змінні оточення. Їх можна використовувати тоді, коли ми хочемо передати дані X-сервера.

Наприклад, скрипт ~ / bin / url передає в буфер обміну останній URL, який був надісланий в freetalk . Скрипт використовує файл ~ / .sx, якщо може прочитати його, для того щоб знати параметри SSH-з'єднання:

#! / Bin / sh [-r ~ / .sx] &&. ~ / .Sx for i in ~ / .freetalk / history / * / * do tail $ i | grep http: // done | sort -n | tail -1 | sed "s @. * http: // @ http: // @" | xsel -i

Останній URL скопіюється з історії freetalk в буфер обміну, якщо викликати команду url.

[ правити ] Буфер обміну і XMPP

Інший спосіб передачі даних в буфер обміну по мережі - використання XMPP.

Створюється JID, який є точкою входу в ваш буфер обміну. Дані, надіслані за цією адресою, автоматично потрапляють в локальний буфер обміну.

Ось простий приклад такого скрипта, написаного на Ruby і використовує бібліотеку xmpp4r.

xmpp2clip.rb

#! / Usr / bin / ruby ​​# written by Igor Chubin in 2009 based on the echo.rb example $ :. unshift '../../../../../lib' require 'xmpp4r / client 'include Jabber if ARGV.length! = 2 puts "Run with ./xmpp2clip.rb user @ server / resource password" exit 1 end myJID = JID.new (ARGV [0]) myPassword = ARGV [1] cl = Client. new (myJID) cl.connect cl.auth (myPassword) cl.send (Presence.new) puts "Connected! send messages to # {myJID.strip.to_s}." mainthread = Thread.current cl.add_message_callback do | m | if m.type! =: error f = IO.popen ( "xsel -i", "r +") f.puts (m.body) f.close () message = "The message <# {m.body}> was copied to the clipboard "m2 = Message.new (m.from, message.chomp) m2.type = m.type cl.send (m2) if m.body == 'exit' m2 = Message.new (m. from, "Exiting ...") m2.type = m.type cl.send (m2) mainthread.wakeup end end end Thread.stop cl.close

Цей скрипт можна запускати при старті X-сервера, наприклад, додавши в ~ / .xinitrc рядок:

nohup xmpp2clip.rb [email protected] password

Замість [email protected] вказується JID, що є точкою входу в буфер обміну, а замість password - пароль для підключення.

Відправляти текст з віддаленої системи можна, наприклад, за допомогою sendxmpp або іншим способом.

[ правити ] Vim

З редактора Vim можна копіювати текст в буфер обміну X Window System без використання миші. І навпаки, текст, що знаходиться в буфері обміну X Window System, можна вставляти в Vim операціями вклейки [2] .

Буфер обміну X Window відбитий на буфер * або + редактора Vim. Для звернення до певної регістру в Vim необхідно натиснути символ "і назва цього регістра.

Наприклад, скопіювати рядок в буфер обміну X Window можна командою:

"* Yy

(Лапки, зірочка, два рази y).

Якщо ви вже знаходитеся в режимі вставки, то ctrl-r * (але якщо не включити set paste, текст в цьому випадку буде вставлено драбинкою).

Для того щоб все це працювало, vim повинен бути зібраний з підтримкою xterm_clipboard:

% $ Vim --version | grep + xterm_clipboard

Вклеювати текст можна і традиційним shift-insert, але при цьому треба робити безліч зайвих операцій:

  • : Set paste
  • i для переходу в режим вставки
  • shift-insert
  • Esc для виходу з режиму вставки
  • : Set nopaste

Звичайно, це не може зрівнятися з натисканням "* p.

[ правити ] Vimperator

URL, що знаходиться в буфері обміну, можна вклеїти безпосередньо в Vimperator буквою P. Він відкриється в новому Табі.

  • Foot Mouse (Footime) - ножна миша. Управління відбувається за допомогою ніг
  • Griffin Technology PowerMate - багато речей, які ви звикли робити за допомогою миші, набагато зручніше і швидше робити за допомогою цього девайса
  • VIM - жорстокий і нещадний (Рус.) - жорстоке пристрій для перемикання режиму роботи Vim ногою

[ правити ] Додаткова інформація

[ правити ] RSI через мишу

Що таке RSI і як з ним боротися:

[ правити ] Матеріали по інтерфейсу користувача на Xgu.ru

  • Synaptics - настройка і використання тачпада (touchpad)
  • Без миші - майже як день без X'ов, тільки все життя і без миші
Як можна було б вирішити зазначену проблему?
Що можна було б в нього додати?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

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

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью