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

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

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

Править: "Возможный дублирующийся" вопрос не отвечает на мой вопрос, потому что он в основном просто делает сценарий для того, чтобы сделать более быстрый alt+tab переключатель окна. У меня нет проблемы с помощью alt+tab для переключения окон, я просто предпочел бы не должным быть переключать окна вообще. Я хочу, чтобы моя мышь взаимодействовала с браузером, в то время как моя клавиатура взаимодействует с терминалом.

2
задан 26 August 2016 в 13:09

2 ответа

То, почему это не возможно

, Что Вы спрашиваете, чрезвычайно невозможно. Для создания объяснения простым существует два типа графических рабочих столов: укладка и мозаичное размещение. Единица является примером укладки рабочего стола, где у Вас есть стопка окон (отчасти как стопка лотка кафетерия), где в настоящее время активное окно является лучшим.

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

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

Своего рода обходное решение

можно сделать это: установите прозрачное окно терминала на минимальный размер, установите его как "поверх остальных окон" и нажмите *что-либо вокруг самого окна.

enter image description here В этом снимке экрана Вы видите два подхода к этому: один через щелчок правой кнопкой по умолчанию по границе окна и через wmctrl команда. Последний может допускать сценарии подхода к этому, но основная предпосылка является тем же - необходимо нажать на что-либо вокруг самого teminal.

Возможные альтернативы

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

пример Guake

enter image description here

8
ответ дан 19 November 2019 в 00:43

Встречный вопрос:

Вы хотите "готовое" решение для этого, или Вы планируете записать собственную программу C?

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

, Если бы Вы хотите записать такую программу сами, я попытался бы сделать следующее:

Запись программа с большим окном (покрывающий (почти) весь экран), который имеет 100%-ю прозрачность. (К сожалению, я никогда не работал с прозрачностью, таким образом, я не знаю, работает ли это действительно.)

Пользуются низкоуровневой X11 библиотекой (libX11) и никакой высокоуровневый API (Gnome и т.д.) для этого.

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

Использование XSendEvent () API для эмуляции событий клавиатуры и событий от нажатия мыши в консоли и браузере...

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

1
ответ дан 19 November 2019 в 00:43

Другие вопросы по тегам:

Похожие вопросы: