답변:
Marco 덕분에을 사용하는 방법을 알아 냈습니다 wmctrl
.
compiz 작업 영역은 실제로 단일 데스크톱의 뷰포트이므로 솔루션은 현재 뷰포트를 이동하여 데스크톱의 중앙 영역을 덮는 것입니다.
먼저, wmctrl -d
현재 데스크탑의 정보를 얻기 위해 전화 하십시오 :
read desktop_id _ast \
DG_ geometry \
VP_ viewport \
WA_ wa_off wa_size \
title \
< <(LANG=C wmctrl -d | grep '*')
geom_w=${geometry%x*}
geom_h=${geometry#*x}
# The workarea size isn't accurate, because the top/bottom panel is excluded.
viewport_w=${wa_size%x*}
viewport_h=${wa_size#*x}
rows=$((geom_w / viewport_w))
cols=$((geom_h / viewport_h))
# Fix the viewport size
viewport_w=$((geom_w / rows))
viewport_h=$((geom_h / cols))
그런 다음 중심 뷰포트의 원점을 계산하십시오.
center_row=$((rows / 2))
center_col=$((cols / 2))
center_x=$((center_col * viewport_w))
center_y=$((center_row * viewport_h))
center_viewport=$center_x,$center_y
뷰포트를 거기로 옮깁니다.
wmctrl -o $center_viewport
compiz-send.py
홈 폴더 와 같이 저장하십시오 .python compiz-send.py vpswitch switch_to_5_key
이 제대로 작동하는지 확인하십시오. 중앙 작업 공간으로 전환해야합니다.작동하면 .switch_to_center_workspace.sh
홈 폴더에 파일을 만들고 그 안에 다음을 붙여 넣습니다.
#!/bin/bash
sleep 5 && python /home/user/compiz-send.py vpswitch switch_to_5_key
user
사용자 이름으로 바꿉니다 .
시작 응용 프로그램, 시스템-> 환경 설정-> 시작 응용 프로그램을여십시오 .
추가를 클릭 하고 명령 : 항목 put 에서을 클릭 하십시오/home/user/.switch_to_center_workspace.sh
. 이름 : 및 설명 : 항목에 원하는 것을 입력하십시오.
로그 아웃했다가 다시 로그인하여 작동하는지 확인하십시오.
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.UnknownMethod: Method "activate" with signature "si" on interface "org.freedesktop.compiz" doesn't exist
sleep 5
스크립트 부분을 더 높은 숫자 sleep 10
로 변경하십시오. 당신은 compiz를 사용하고 있습니까?
비슷한 질문을 할 것이지만 3 개의 수평 작업 공간에 대해 compiz도 실행 중이며 wmctrl -d
출력 (작업 공간 당)은 다음과 같습니다.
0 * DG: 4098x768 VP: 0,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 1366,0 WA: 0,24 1366x744 Workspace 1
0 * DG: 4098x768 VP: 2732,0 WA: 0,24 1366x744 Workspace 1
내가 시작할 때 센터를 기본 작업 공간으로 만드는 데 단순히 wmctrl -o 1366,0
( VP 값)을 사용했던 것보다 . 모든 사람을 위해 작동하지는 않지만 단지 경우에 대비하여;
sh -c "sleep 2;/usr/bin/wmctrl -o 1366,0
간단한 참고 사항-Natty를 사용하고 있으며 @ 谢 继 雷의 답변 덕분에 Unity의 네 가지 '작업 공간'에서 터미널을 이동하여 다음과 같은 내용이보고되었습니다.
$ wmctrl -d
# top left
0 * DG: 2048x1200 VP: 0,0 WA: 0,24 1024x576 Workspace 1
# bottom left
0 * DG: 2048x1200 VP: 0,600 WA: 0,24 1024x576 Workspace 1
# top right
0 * DG: 2048x1200 VP: 1024,0 WA: 0,24 1024x576 Workspace 1
# bottom right
0 * DG: 2048x1200 VP: 1024,600 WA: 0,24 1024x576 Workspace 1
... 즉, 별도의 데스크톱이나 작업 공간이 아니며 단순히 뷰포트가 변경됩니다!
따라서이 4 개의 뷰포트간에 변경하려면 위에 나열된 값으로 wmctrl -o
명령을 직접 호출하면 VP
됩니다.
wmctrl -o 0,0
wmctrl -o 0,600
wmctrl -o 1024,0
wmctrl -o 1024,600
편집 : Ups, 죄송합니다. 방금 @wik의 답변과 동일하다는 것을 알았습니다. 적절하게 병합 / 삭제하십시오.
wmctrl
어쨌든 데스크톱 내에서 뷰포트를 전환 할 수 있습니다. 아래 답변을 참조하십시오.