김프와 같은 프로그램을 열 때 김프와 관련된 세 개의 별도 창이 있기 때문에 배경 창이 열리게됩니다.
최소화하기 위해 김프가 아닌 다른 모든 창으로 수동으로 이동해야하는 부담이 있습니다. 필요한 것은 우분투의 키보드 단축키로 Windows Super+ Home단축키 와 일치합니다 . 활성 창을 제외한 모든 창을 최소화하는 것.
우분투에서이 동작을 수행 할 수 있습니까?
김프와 같은 프로그램을 열 때 김프와 관련된 세 개의 별도 창이 있기 때문에 배경 창이 열리게됩니다.
최소화하기 위해 김프가 아닌 다른 모든 창으로 수동으로 이동해야하는 부담이 있습니다. 필요한 것은 우분투의 키보드 단축키로 Windows Super+ Home단축키 와 일치합니다 . 활성 창을 제외한 모든 창을 최소화하는 것.
우분투에서이 동작을 수행 할 수 있습니까?
답변:
파이썬 스크립트로 이것을 달성 할 수 있습니다. 스크립트는 기본적으로 설치되어 있다고 생각하지만 작동 하려면 스크립트가 필요 python-wnck
하고 python-gtk
설치되어 있어야합니다.
이 파일을 복사하여 텍스트 편집기에 붙여 넣은 다음 적당한 위치에 저장하십시오 (예 : 홈 폴더의 minimise.py ).
#!/usr/bin/env python
import wnck
import gtk
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
windows = screen.get_windows()
active = screen.get_active_window()
for w in windows:
if not w == active:
w.minimize()
그런 다음 키보드 단축키를 열어 키보드 단축키를 설정할 수 있습니다.
추가 를 클릭 하여 새 바로 가기를 만듭니다.
명령을 사용하십시오 bash -c 'python ~/minimise.py'
(이것은 홈 폴더에 minimise.py 로 저장되었다고 가정합니다).
그런 다음 원하는 키보드 조합을이 작업에 할당 할 수 있습니다.
스크립트는 모든 비활성 창을 최소화합니다. 모든 Gimp 창을 열어두고 싶기 때문에 이것이 유스 케이스에 매우 유용하다고 생각하지 않습니다. 약간 다른 스크립트를 사용하여 현재 애플리케이션이 아닌 모든 창을 최소화 할 수 있습니다.
#!/usr/bin/env python
import wnck
import gtk
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
windows = screen.get_windows()
active_app = screen.get_active_window().get_application()
for w in windows:
if not w.get_application() == active_app:
w.minimize()
bash -c 'python...
뿐 아니라 python ...
?
python-wnck는 더 이상 apt 저장소 (Kubuntu 18.04 Bionic)에 없으므로 수정 된 python 코드는 다음과 같습니다 (위의 @Aditya 및 @ dv3500ea).
python3부터 wnck는 GObject Introspection API ( source )의 일부입니다 . 따라서 wnck (및 Gtk 객체)를 가져 오는 구문이 변경되었습니다.
#!/usr/bin/env python
# import necessary objects
import gi
gi.require_version('Wnck', '3.0') # specify Wnck version
from gi.repository import Wnck
from gi.repository import Gtk
# the script itself
screen = Wnck.Screen.get_default()
while Gtk.events_pending():
Gtk.main_iteration()
windows = screen.get_windows()
active = screen.get_active_window()
for w in windows:
if not w == active:
w.minimize()
그런 다음 파이썬 스크립트에 단축키를 지정하십시오 : (쿠분투에서) kmenueditor-> 새 항목 생성-> 스크립트 bash -c 'python path_to_the_python_script.py'
-> 원하는 단축키 지정
업데이트 (5 월 19 일) :
Kubuntu 19.04에서 위의 스크립트가 작동하도록 gir1.2-wnck-3.0 모듈을 설치해야했습니다.
$ python -V
Python 2.7.16
$ sudo apt-get install python3-gi gir1.2-wnck-3.0
xdotool을 사용하는 bash 스크립트 :
currentwindowid=$(xdotool getactivewindow)
currentdesktopid=$(xdotool get_desktop)
for w in $(xdotool search --all --maxdepth 3 --desktop $currentdesktopid --name ".*"); do
if [ $w -ne $currentwindowid ] ; then
xdotool windowminimize "$w"
fi
done
현재 데스크톱의 창만 최소화합니다.
모든 데스크탑에서 창을 최소화하려면
currentwindowid=$(xdotool getactivewindow)
for w in $(xdotool search --all --maxdepth 3 --name ".*"); do
if [ $w -ne $currentwindowid ] ; then
xdotool windowminimize "$w"
fi
done