wmctrl을 사용하여 활성 창 크기를 50%로 조정하는 방법은 무엇입니까?

wmctrl을 사용하여 활성 창 크기를 50%로 조정하는 방법은 무엇입니까?

창의 크기를 화면 왼쪽 절반으로 조정하고 싶습니다.

이를 달성하기 위한 솔루션은 다음을 사용하는 것입니다.제어판그리고 올바른 명령을 키보드 단축키에 바인딩하세요.

하지만맨페이지예를 들어 특정 높이와 너비로 크기를 조정하는 방법을 보여줍니다.

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,0,0,800,1040

창을 왼쪽 상단으로 이동하고 크기를 800x1040픽셀로 조정합니다.

그런데 이상한 점은 이번이 처음이라는 점이다. 같은 명령을 다시 실행하면 in은 다음으로 이동합니다.매우화면 오른쪽 상단, 상단 도구 모음을 무시합니다.

그리고 명령이 절대값이 아닌 높이 100%, 너비 50%로 되어 있으면 좋을 것 같습니다.

답변1

나는 답을 얻었다여기.

이를 최대화하는 스크립트가 됩니다.화면의 오른쪽 절반:

#!/bin/bash
# resizes the window to full height and 50% width and moves into upper right corner

#define the height in px of the top system-bar:
TOPMARGIN=27

#sum in px of all horizontal borders:
RIGHTMARGIN=10

# get width of screen and height of screen
SCREEN_WIDTH=$(xwininfo -root | awk '$1=="Width:" {print $2}')
SCREEN_HEIGHT=$(xwininfo -root | awk '$1=="Height:" {print $2}')

# new width and height
W=$(( $SCREEN_WIDTH / 2 - $RIGHTMARGIN ))
H=$(( $SCREEN_HEIGHT - 2 * $TOPMARGIN ))

# X, change to move left or right:

# moving to the right half of the screen:
X=$(( $SCREEN_WIDTH / 2 ))
# moving to the left:
#X=0; 

Y=$TOPMARGIN

wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz && wmctrl -r :ACTIVE: -e 0,$X,$Y,$W,$H

왼쪽으로 이동하려면 X 선을 로 변경하면 됩니다 X=0. (Ubuntu Unity를 사용하는 경우 제가 사용하는 RIGHTMARGIN도 적용해야 합니다 RIGHTMARGIN=102.)

오른쪽 여백 정의 이로써 버그가 해결되었습니다. 두 번째 호출 시 상단 도구 모음을 무시하고 화면 상단으로 이동했습니다.

답변2

당신은 그것을 사용할 수 있습니다랜달화면 해상도를 얻거나 설정한 다음 사용하십시오.제어판창 크기를 조정합니다.

관련 정보