Yanıtlar:
Gibi bir şey yüklerseniz, bunu yapmak daha kolaydır xdotool
. Sonra yapabilirsin:
xdotool search --name "window name" windowsize 300 400
"window name" ifadesini, pencere başlığında görünen bir adla veya eskiyle değiştirin (ayrıca, pencere sınıfına ve çeşitli şeylere göre de arama yapabilirsiniz) ve pencere boyutundan sonra görünen iki sayı, sırasıyla genişlik ve yüksekliktir. (Yüzdeleri de kullanabilirsiniz.) Kurulduktan man xdotool
sonra bakın .
Lucid ya da daha önceki bir sürümdeyseniz , daha yeni bir sürüm edinmek için xdotool web sitesine gitmenizi öneririm .
Örneğin, Firefox’u yeniden boyutlandırmak için:
xdotool search --name "Mozilla Firefox" windowsize 1024 768
Pencere yöneticisi Xlib'i destekliyorsa var. Bu, pencerenin boyutunu 500x300'e ayarlamak için Python'u kullanır:
WIDTH, HEIGHT = 500, 300
import Xlib
import Xlib.display
display = Xlib.display.Display()
root = display.screen().root
windowID = root.get_full_property(display.intern_atom('_NET_ACTIVE_WINDOW'), Xlib.X.AnyPropertyType).value[0]
window = display.create_resource_object('window', windowID)
window.configure(width = WIDTH, height = HEIGHT)
display.sync()
Zor kısım pencere kimliğini almak; Yukarıdaki kodda aktif pencerenin kimliği var. Başka bir kimlik istiyorsanız, her pencerenin başlığını ve PID'sini kontrol etmek için böyle bir şey kullanabilir ve şunlara dayanarak doğru kimliği seçebilirsiniz:
windowIDs = root.get_full_property(display.intern_atom('_NET_CLIENT_LIST'), Xlib.X.AnyPropertyType).value
for windowID in windowIDs:
window = display.create_resource_object('window', windowID)
name = window.get_wm_name() # Title
prop = window.get_full_property(display.intern_atom('_NET_WM_PID'), Xlib.X.AnyPropertyType)
pid = prop.value[0] # PID
print pid
alabilirim <Xlib.protocol.request.GetProperty serial = 15, data = {'bytes_after': 0, 'property_type': 6, 'value': (32, array('I', [5810L])), 'sequence_number': 15}, error = None>
... gerçek PID'yi izole etmek için herhangi bir öneriniz var mı?
name
.
get_full_property
ve yapmak .value[0]
( value
bir dizi )
XFCE özgü olduğunu pyxfce bunu kullanarak yapmanızı sağlayacaktır piton dili. Pyxfce, diğer şeylerin yanı sıra , pencere yöneticisi ile iletişim kurmanızı sağlayan bir API'dir . Bunu komut satırından kullanmak için önce bir komut dosyası hazırlamanız gerekir.
Kullanımınıza bağlı olarak, X pencere tanıtıcıları (örneğin, başka bir cevapta belirtilen xyttools ve xdotools gibi) kullanarak X pencere tanıtıcıları kullanarak X tabanlı bir API kullanmanın önemi; kendi başlıkları aynı anahtar kelimeler olabilir, pencereler arasında karışıklık.
#!/bin/bash
#get window pid under mouse
xprop -id $(xwit -current -print | cut -d ":" -f 1) | grep _NET_WM_PID | cut -d "=" -f2 | cut -c 2-
Wmctrl'nin bana en uygun olduğunu gördüm. Ufacık bir paket olarak, Ubuntu ve Raspbian için ve muhtemelen diğer dağıtımlar için de mevcut.