КОЛОНКИ · 14 ноября 2014, 14:05 · hide
Реально ленивый серфинг интернета

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

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

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

Кто хочет сразу получить ответ — завязался на движение мыши (включение и выключение лупы по определённому движению мышки с зажатой кнопкой) Ниже ролик, что получилось:

Что использовал:

  • Linux Mint (стоит в качестве домашней операционной системы),
  • easystroke (управление жестами под Linux),
  • небольшой скрипт на python, задача которого включать и выключать лупу (так как она встроена в Cinnamon, то не было возможности просто запускать нужную программу, и приходилось менять настройки в dconf).

Теперь поэтапно:

1. Включение/выключение лупы

В Linux Mint довольно хорошая лупа, причём с дополнительными настройками, поэтому вполне логично использовать хороший инструмент. Но для этого нужно её научиться включать и выключать. Предварительное гугление привело к написанию скрипта в несколько строк:

#!/usr/bin/python
import subprocess

def to_bool(str_var):
    return str_var.lower().startswith('true')

def to_str(bool_var):
    return str(bool_var).lower()

def get_screen_magnifier_enabled():
    command = "gsettings get org.cinnamon.desktop.a11y.applications screen-magnifier-enabled"
    state_str = subprocess.check_output(command, shell=True)
    return to_bool(state_str)

def set_screen_magnifier_enabled(state):
    command = "gsettings set org.cinnamon.desktop.a11y.applications screen-magnifier-enabled %s" % to_str(state)
    subprocess.check_output(command, shell=True)

state = get_screen_magnifier_enabled()
set_screen_magnifier_enabled(not state)

Да, кто-то скажет, что можно было сделать на bash, но я люблю python :)
Данный скрипт при каждом запуске меняет настройку лупы на включено/выключено.

2. Биндинг мыши

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

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

Установка довольно проста:

sudo aptitude install easystroke

Запускаем:

easystroke

Видим примерно такое окно: 

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

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

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

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

Обсуждение

Picture_1259?1356409834
+2

> Как я решил «проблему»

Стал выключать Скайп, когда смотрю фильмы.

Missing-male
+2

Это уход от проблемы )

Missing

> Как я решил «проблему»

Использую для этого планшет)

Missing
anod
– Web developer в Brimit

ленивый способ: "возьмите линукс, напишите скрипт на питоне, куча настроек и всё готово". Нет, ленивый способ это Microsoft Mouse с выделенной кнопки для запуска лупы (из коробки).

Missing

Ты не понял, ленивым можно уже назвать конечный результат, а не процесс )

Missing
+1

лень - двигатель прогресса

если бы человеку было бы не лень бегать за мамонтами, мы бы до сих пор в пещерах сидели :)

Picture_5070?1356409952
+4

А мне статья понравилась. Она написана в хабрахабровском стиле и выделяется на фоне череды рекламных опусов. Так держать!


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси