창에는 다양한 키 조합을 사용하여 창을 특정 미리 정의 된 크기로 조정하거나 화면의 특정 영역 (또는 둘 다)으로 이동할 수 있는 몇 가지 AutoHotkey 스크립트 가 있습니다. 우분투 (그놈)에서 어떻게 이것을 달성 할 수 있는지 궁금합니다.
Linux 버전의 autohotkey에 대한 대부분의 검색은 간단한 키보드 단축키 (키 콤보 X가 앱 Y를 시작하는 등)를 설정하는 것의 중심에있는 것처럼 보였습니다. 스크립팅 창 크기와 최대화 / 최소화 이외의 배치에 대해서는 아무것도 보지 못했습니다.
답변
쉘 스크립트에서 wmctrl (우분투에서는 기본적으로 설치되지 않지만 패키지 관리자를 사용하여 설치할 수 있음)을 사용하여 창을 이동하고 크기를 조정할 수 있습니다.
다음 스크립트는 현재 창의 크기를 화면 너비와 높이의 90 %로 조정합니다.
#!/bin/sh
set -- $(xwininfo -root| awk -F '[ :]+' '/ (Width|Height):/ { print $3 }')
width=$1
height=$2
wmctrl -r :ACTIVE: -e 0,-1,-1,$((width*90/100)),$((height*90/100))
이것은 Xubuntu에서도 작동합니다.
답변
@Florian의 답변을 승인하기 위해 …
#!/bin/bash
$(xwininfo -root | awk -F ': +' '/ (Width|Height):/ { print $2 }')
width=$1
height=$2
wmctrl -r :ACTIVE: -e 0,-1,-1,$((width*90/100)),$((height*90/100))
왜 이것이 더 낫습니까?
[ :]+
필드 구분자로 변경 : +
하여 콜론을 필요 로하고 그 뒤에 하나 이상의 공백이 아닌 순서대로 공백이 필요합니다.
즉, 왼쪽 상단에 공백이있는 Absolute와 같은 항목을 사용하려고 할 때 더 이상 중단되지 않습니다. 에서 @ 플로리안의 답변에 대한 awk’ing은 Absolute upper-left X: 123
초래 upper-left
하지에 123
.
더 나아가서 이것을 더 잘 확장하는 방법에 계속; 위의 예를 들어서 다음과 같은 것을 할 수 있습니다 …
set -- $(xwininfo -root | awk -F ': +' '/ (Absolute upper-left X|Absolute upper-left Y|Width|Height):/ { print $2 }')
posX=$1
posY=$2
width=$3
height=$4
wmctrl -r :ACTIVE: -e 0,$((posX+someNumX)),$((posY+someNumY)),$((width+someNumW)),$((height+someNumH))
로 이동 <someNumX, someNumY>
하고 크기를 조정하십시오 <someNumW, someNumH>
.