Mevcut çalışma alanının açılan uygulamalarının başlatıcıda olması mümkün değil, diğer çalışma alanlarından değil mi?
Mevcut çalışma alanının açılan uygulamalarının başlatıcıda olması mümkün değil, diğer çalışma alanlarından değil mi?
Yanıtlar:
Eh, diğer cevaplar oldukça eski, bu yüzden güncel bir cevap eklemek için değer olduğunu düşünüyorum. Şu anda bunu yapmak çok zor mümkün değil, tbh (Ubuntu 17.10 ve Gnome ile).
Sadece dconf-editor'ü kullanın :
sudo apt install dconf-editor
Gezinin org> gnome> kabuk> uzantıları> çizgi-dock ve kontrol izolatı-çalışma alanları
xdotool
'Yi kullanarak windowunmap
bir pencereyi tamamen gizlemek mümkündür. Pencere veya uygulaması, başlatıcı simgesinde daha fazla gerçekleşmez ve çıktısında artık listelenmemiştir wmctrl
.
Teorik olarak, bu olabilir kullanıldı "çalışma alanı-motor", bağlanacak bu ve bu cevap. Bu en şık çözüm olurdu.
Ancak, yalnızca diğer çalışma alanlarındaki pencereleri gizleme ve geçerli çalışma alanındaki pencereleri otomatik olarak yükseltme işlemi devam eden bir arka plan komut dosyasında (şimdilik) kullanmaya ve "soğuk algınlığı yakalamak" için pek de zor bir süreç değil. Hata durumunda pencereler tamamen kaybolduğundan, prosedürü otomatik (arkaplan) bir işlem olarak sunmamaya karar verdim.
Bu cevap sizin için yine de faydalıysa veya duruma bağlı değilse, duruma ve diğer çalışma alanlarında çalışan uygulamaların simgelerini neden gizlemek istediğinizin nedenine; karar senin.
Kısayol tuşu altında bulunan ve geçerli çalışma alanındaki (ve dolayısıyla uygulamalardaki) tüm pencereleri tamamen ortadan kaldıran bir komut dosyası . Bu, Unity başlatıcısındaki uygulamanın simgesinin uygulamanın hiçbir etkinliğini göstermediği anlamına gelir:
Schortcut tuş kombinasyonuna tekrar basıldığında, pencereler ve uygulamaları yeniden görünecektir.
#!/usr/bin/env python3
import subprocess
import os
import time
datadir = os.environ["HOME"]+"/.config/maptoggle"
if not os.path.exists(datadir):
os.makedirs(datadir)
workspace_data = datadir+"/wspacedata_"
def get_wlist(res):
res = get_res()
try:
wlist = [l.split() for l in subprocess.check_output(["wmctrl", "-lG"]).decode("utf-8").splitlines()]
return [w for w in wlist if all([
0 < int(w[2]) < res[0],
0 < int(w[3]) < res[1],
"_NET_WM_WINDOW_TYPE_NORMAL" in subprocess.check_output(["xprop", "-id", w[0]]).decode("utf-8"),
])]
except subprocess.CalledProcessError:
pass
def get_res():
# get resolution
xr = subprocess.check_output(["xrandr"]).decode("utf-8").split()
pos = xr.index("current")
return [int(xr[pos+1]), int(xr[pos+3].replace(",", "") )]
def current(res):
# get the current viewport
vp_data = subprocess.check_output(
["wmctrl", "-d"]
).decode("utf-8").split()
dt = [int(n) for n in vp_data[3].split("x")]
cols = int(dt[0]/res[0])
curr_vpdata = [int(n) for n in vp_data[5].split(",")]
curr_col = int(curr_vpdata[0]/res[0])+1
curr_row = int(curr_vpdata[1]/res[1])
return str(curr_col+curr_row*cols)
res = get_res()
try:
f = workspace_data+current(res)
wlist = eval(open(f).read().strip())
for w in wlist:
subprocess.Popen(["xdotool", "windowmap", w[0]])
os.remove(f)
except FileNotFoundError:
current_windows = get_wlist(res)
open(f, "wt").write(str(current_windows))
for w in current_windows:
subprocess.Popen(["xdotool", "windowunmap", w[0]])
Senaryo hem ihtiyacı wmctrl
ve xdotool
:
sudo apt-get install wmctrl xdotool
toggle_visibility.py
Komut dosyasını test et: bir terminal penceresinde komutu çalıştır:
python3 /path/to/toggle_visibility.py
Şimdi yeni bir terminal penceresi açın (ilk bakış dünyanın görünüşünden kaybolduğundan beri) ve aynı komutu tekrar çalıştırın. Tüm pencereler yeniden görünmelidir.
Not : test sırasında "değerli" pencerelerin açık olmadığından emin olun
Her şey yolunda giderse, komutu bir kısayol tuşu kombinasyonuna ekleyin: seçimini yapın: Sistem Ayarları> "Klavye"> "Kısayollar"> "Özel Kısayollar". "+" İşaretini tıklayın ve şu komutu ekleyin:
python3 /path/to/toggle_visibility.py
Olarak komut kullanımları, adı geçen xdotool
'in windowunmap
(tam) gizlemek camlara ve uygulamalar, aittir. Senaryo:
Bir sonraki çalıştırmada script:
Böylece, mevcut çalışma alanındaki pencerelerin ve uygulamaların görünürlüğünü değiştirir.
ctrl
+ shift
+arrow key
Maalesef bu imkansız.
Birlik her zaman her yerden tüm uygulamaları gösterir ve bunu değiştirmenin bir yolu yoktur. Bir hata raporu var - https://bugs.launchpad.net/ayatana-design/+bug/683170 Ancak geliştiricilerin hiçbir şey yapmayacağı görülüyor. Muhtemelen, sayfanın en üstünde bu hatanın sizi etkilediğini işaretlerseniz, geliştiricilerin bu seçeneğin önemini anlamalarına yardımcı olacaktır.