리눅스민트: 화면분할해서 윈도우배치하기
2022.02.05 13:23
보통 윈도우에는 win+화살표키로 화면을 양분해서 키보드로 윈도우를 빠르게 배치할수 있는데 다른 비율로 배치하려면 다른 유틸리티를 사용해야합니다. 리눅스의 대부분의 데스크탑에도 이런 기능이 있는데요 아쉬운점은 좌우 1:1 비율의 선택만 된다는 점입니다. 울트라와이드모니터같은데서는 3분할같이 좀더 다른 비율이 더 필요할수 있습니다.
다음은 와이드모니터에서 화면분할을 3등분하여 윈도우를 스내핑해주는 스크립트입니다
tile 이란 이름으로 실행경로에 저장한 후 chmod +x tile로 실행권한주고
keyboard커스텀핫키를 명령어를 지정하여 쓰면 됩니다
명령어는 각각,
tile right
tile left
tile center
로 현재 선택된 창을 오른쪽 1/3 왼쪽 1/3 가운데 1/3부분을 차지하도록 옮깁니다.
키설정에서 핫키로 명령어를 할당하여 쓰면 편합니다.
화면분할비율이 마음에 안들면 쉽게 고칠수 있을겁니다.
----- start of file -----
#! /bin/bash
screenWidth=$(xrandr --current | grep '*' | uniq | awk '{print $1}' | cut -d 'x' -f1)
windowWidth=$(xwininfo -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) | grep Width | cut -d ' ' -f 4)
numberRegex='^[0-9]+$'
if ! [[ $windowWidth =~ $numberRegex ]] || ! [[ $screenWidth =~ $numberRegex ]] ; then
exit 1
fi
doubleWidth=$((2*windowWidth))
parameter=$1
if [[ doubleWidth -gt screenWidth ]] ; then
nextWidth=$((screenWidth / 3))
else
nextWidth=$((screenWidth * 2 / 3))
fi
case $parameter in
right)
nextOffset=$((screenWidth - nextWidth))
;;
center)
nextOffset=$nextWidth
;;
left)
nextOffset=0
esac
wmctrl -r :ACTIVE: -b add,maximized_vert
wmctrl -r :ACTIVE: -e 1,$nextOffset,0,$nextWidth,600
----- end of file -----