Linux - сложен контрол на прозореца и мишката - Maddot IT - FOSS

прозореца

Днес ще ви разкажа за две полезни помощни програми, които понякога ми помагат в най-неочакваните ситуации. Това са комунални услуги - wmctrl и xdotool. Те ви позволяват да контролирате размера и позицията на прозорците и поведението на мишката през терминала, съответно те са полезни при писане на собствени скриптове.

Например в една от предишните статии използвах помощната програма xdotool за да емулирате двойно щракване с левия бутон на мишката (за допълнителен ключ, който не се поддържа по подразбиране в Linux). Можете да измислите различни приложения за тези помощни програми, но за да ги използвате в ежедневната работа, първо трябва да знаете за тяхното съществуване.

Всяка помощна програма има своя собствена помощ - аз съм защитник, че потребителите никога не пренебрегват вградените помощни страници и страници с ръководства, но съм изписал отделни команди за всяка помощна програма, които намирам за най-полезни и полезни в реалния живот. Но не забравяйте за: "man xdotool" и "man wmctrl" .

Избройте всички налични в момента прозорци

Активирайте посочения прозорец. Освен това, името на прозореца не трябва да бъде изписано изцяло, например за прозорец с името „Терминал - login @ pc:

/ котка /„Просто напиши:“wmctrl -a Термин"

Затворете посочения прозорец. Освен това, името на прозореца не трябва да бъде изписано изцяло, например за прозорец с името „Терминал - login @ pc:

/ котка /„Просто напиши:“wmctrl -a Термин"

Преместете посочения прозорец и го преоразмерете.
G Изчертаване на прозореца до краищата на екрана (0 - както е конфигурирано в системата)
х Координати на прозореца по оста X (от левия край на прозореца) [-1 - не се променя]
Y. Координати на прозореца по оста Y (от горния ръб на прозореца) [-1 - не се променя]
W Височина на прозореца в пиксели [-1 - не се променя]
З. Ширина на прозореца в пиксели [-1 - не се променя]
Например: wmctrl -r Срок -e 0,1,1,600,600 ще премести терминалния прозорец в горния ляв ъгъл и размерът на прозореца ще бъде 600x600px (прозорецът ще бъде квадрат).

Връща текущата разделителна способност на монитора в пиксели

Връща текущата позиция на курсора на мишката

Щракнете КЛЮЧ с бутон на мишката БРОЙ веднъж
КЛЮЧ: 1 - ляв бутон, 2 - среден, 3 - десен, 4 - колело нагоре, 5 - колело надолу.

Преместете курсора на мишката в позицията X и Y (в пиксели)

Вземете идентификатора на активния прозорец

Въз основа на горното, за практика, нека напишем прост скрипт, който ще свие активния прозорец в малък правоъгълник в горния ляв ъгъл на екрана и ако един прозорец вече е минимизиран в него, той ще замени текущия прозорец (като направи малък) и разгънете вече минимизирания прозорец:

Параметърът "-i" в командата wmctrl означава, че ще се позоваваме на прозореца не по име, а по id.
Сега нека запазим този скрипт и да го прикачим към всяка комбинация от горещи клавиши.
И накрая, повтарям, тази статия не показва всички функции на помощните програми xdotool и wmctrl, вижте пълния списък с клавиша "-help" или на страниците "man".