Tüm görünüm pencerelerinde bir uygulamanın pencereleri arasında geçiş yapmak için tuş kombinasyonu


11

Alt- `Unity'deki geçerli görünüm penceresindeki bir uygulamanın pencereleri arasında geçiş yapmak için kullanılır.

Tüm görünüm pencerelerinde bir uygulamanın pencereleri arasında geçiş yapmak için başka bir tuş kombinasyonu var mı?

Geçerli görünümde bir uygulamanın pencereleri arasında geçiş yapan Alt- varsayılan davranışını değiştirmek istemiyorum `.

Ubuntu 14.04 ve Unity kullanıyorum.


Bakış açısından Çalışma Alanı mı demek istediniz?
Tim

Yanıtlar:


7

Tutun: PINEAU cevabı esinlenerek, ben onu halletmek için kirli hile buldum Alt+ `bir görüntü kapısında uygulama pencereler arasında geçiş yapmak için, ve (örneğin) Alt+ 1tüm görünüm uygulama pencereleri arasında geçiş yapmak için.

Küçük kozmetik dezavantajı, ayarların değişmesi için bir saniyenin bir kısmına ihtiyaç duyması nedeniyle yanıt vermenin biraz daha az doğru olmasıdır. Ancak Pratikte neredeyse hiç fark etmeyeceksiniz.

  1. yüklemek xdotool:

    sudo apt-get install xdotool
    
  2. Aşağıdaki komut dosyasını boş bir dosyaya kopyalayın ve kaydedin switch.sh

    #!/bin/bash
    
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
    sleep 0.2
    xdotool keydown alt key 0x60
    dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
    sleep 1
    
  3. Komut dosyasını çalıştırmak için bir tuş kombinasyonuna ayarlayın: System Preferences > Keyboard > Shortcuts > Custom Shortcuts. Alt+ 1'Yı seçiyorum , çünkü diğerine yakın.

    Şimdi gedit'in tüm pencereleri arasında geçiş yapmak için Alt+ tuşlarından birini kullanabilirsiniz 1(örneğin):

    resim açıklamasını buraya girin

    veya Alt+ `yalnızca akım çalışma alanının gedit pencereleri arasında geçiş yapmak için:

    resim açıklamasını buraya girin

Not:

  1. Komut dosyasında, üstündeki anahtar Tabolarak ayarlanır key 0x60. Bu diğer lauyout'larda farklı olabilir. Çalışmaması durumunda, bir terminalde çalıştırın xev, sonra düğmesine Return, ardından sekmenin üzerindeki tuşa basın . Çıktıda, gibi bir dize arayın (keysym 0x60, grave). Keysym değeri (script-) satırında ihtiyacınız olan değerdir:

    xdotool keydown alt key 0x60
    
  2. Değerler sleep 0.2ve sleep 1betiğin sistemimde iyi çalışmasını sağlayın, ancak daha hızlı sistemler için optimizasyona tabi olabilirler (azaltın).

Daha fazla seçenek

Benzer şekilde, tüm arasında geçiş yapmak için bir tuş kombinasyonuna ayarlayabilirsiniz uygulama pencereleri üzerinde tüm görünüm komut şöyle olur:

#!/bin/bash

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false
sleep 0.2
xdotool keydown alt key 0xff09
dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport true
sleep 1

Bunun için örneğin Alt+ Qolarak ayarlarsanız, tüm seçeneklerin güzel bir setine sahipsiniz:

Alt+ ` Arasında geçiş cari uygulamanın üzerinde pencereler Geçerli görünümdeki

Alt+ Tüm görünüm pencerelerinde geçerli uygulamanın pencereleri 1 arasında geçiş yapma

Alt+ Geçerli görünüm penceresindeki tüm uygulama pencereleri Tab arasında geçiş yapma

Alt+ Tüm görünüm pencerelerindeki tüm uygulama pencereleri Q arasında geçiş yapma

resim açıklamasını buraya girin

Alt+ Tab: Geçerli görünüm penceresindeki tüm uygulama pencereleri arasında geçiş yapma

resim açıklamasını buraya girin

Alt+ Q: Tüm görünüm pencerelerindeki tüm uygulama pencereleri arasında geçiş yapma


5

Kullanarak genel çözüm wmctrl


genel bakış

Aşağıdaki komut dosyası, tüm EWMH uyumlu pencere yöneticileriyle (ör. Xfwm4, openbox, kwin, compiz ...) uyumlu olmalıdır. Aşağıdakilerle kurulabilen wmctrlve kullanır xprop:

sudo apt-get install x11-utils wmctrl

Kurulum

Aşağıdaki paragrafı kopyalayın ve kaydedin simple-window-switcher:

#!/bin/bash

# based on a script by Robert Steiniger
# (http://lars.st0ne.at/blog/switch%20between%20windows%20within%20the%20same%20application)

Usage="
  Title:        simple-window-switcher 0.1
  Description:  switch between all windows of active application
  Author:       Copyright Glutanimate 2014 (https://github.com/Glutanimate)
  License:      GNU GPLv3
  Usage:        $(basename "$0") [-g|-l|-h]
                -g: global window switching (across all workspaces)
                -l: local window switching (current workspace)
                -h: display this help message

                If no argument is provided window switching will be set to global.
"

while getopts "lgh" OPTIONS; do
  case $OPTIONS in
    l ) Fields="3-4"
        ;;
    g ) Fields="4"
        ;;
    h ) echo "$Usage"
        exit 0
        ;;
   \? ) echo "$Usage"
        exit 1
        ;;
  esac
done

ActiveWinID="$(xprop -root | sed -n 's/_NET_ACTIVE_WINDOW(WINDOW): window id # 0x//p')"
# fields 3-4: <desktop number> <window class>
ActiveWinClass="$(wmctrl -xl | grep "$ActiveWinID" | cut -d" " -f${Fields})"
WindowList="$(wmctrl -xl | grep "$ActiveWinClass" | cut -d" " -f1)"
NextWindow="$(echo "$WindowList" | grep -A1 "$ActiveWinID" | sed -n 2p)"

if [[ -z "$NextWindow" ]]; then
  NextWindow="$(echo $WindowList | head -n 1)"
fi

wmctrl -i -a "$NextWindow"

Komut dosyasını yürütülebilir olarak işaretleyin ve istediğiniz herhangi bir yere kaydedin (tercihen PATH'nize, örneğin /usr/local/binveya ~/bin).

kullanım

İstediğiniz simple-window-switcherbir kısayol tuşuna atamak için pencere yöneticinizin klavye kısayolları menüsünü kullanın . Komut dosyasının nasıl davranacağını kontrol etmek için aşağıdaki parametreleri kullanabilirsiniz:

  • -g: global pencere değiştirme (tüm çalışma alanlarında)
  • -l: yerel pencere değiştirme (geçerli çalışma alanı); Unity / Compiz ile çalışmayabilir (daha fazla bilgi için yorum bölümüne bakın)

Sayın @Glutanimate, -ldiğer çalışma alanlarındaki pencerelere geçtikten sonra .
Kadir

@Kadir Bu çok garip. Benim sistemimde değil. Biraz zamanınız varsa, çıktısını pastebin.comwmctrl -xl gibi bir siteye göndermek ve buraya bağlamak ister misiniz?
Glutanimate

Sevgili @Glutanimate, işte burada: pastebin.com/iJBAZ5a7
Kadir

@Kadir Teşekkürler! Unity / Compiz çalışma alanı bilgisini düzgün bir şekilde ortaya çıkarmıyor gibi görünüyor, bu nedenle wmctrl onu almakta sorun yaşıyor (bu yüzden sadece ikinci sütunda sıfırlar görüyorsunuz, bunlar çalışma alanı numaraları olmalı). Bunun bir hata olup olmadığı veya bu şekilde tasarlanıp tasarlanmadığı hakkında hiçbir fikrim yok. Bunu fark etmedim çünkü LXDE kullanıyordum. Cevaba bir not ekleyeceğim.
Glutanimate

4

Bir Terminal açın ve aşağıdaki komutu yazın:

dconf write /org/compiz/profiles/unity/plugins/unityshell/alt-tab-bias-viewport false

Alternatif olarak Unity Tweak Tool'u da yükleyebilirsiniz:

sudo apt-get install unity-tweak-tool
unity-tweak-tool

Ardından , Switcher Sekmesinde Tüm çalışma alanlarındaki pencereler arasında geçiş yap seçeneğini etkinleştirin :

resim açıklamasını buraya girin


Geçerli görünüm penceresindeki bir uygulamanın pencereleri arasında geçiş yapan Alt-`nin özelliğini korumak istiyorum. Tüm görünüm pencerelerinde bir uygulamanın pencereleri arasında geçiş yapacak olan Ctrl-Alt-`gibi başka bir kısayola ihtiyacım var.
Kadir

1
@Kadir Ne yazık ki, dconf özelliği her iki yapılandırmanın bir arada var olmasına izin vermez. Bu bir davranış ya da diğeri.
Sylvain Pineau
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.