Fórum Root.cz
Hlavní témata => Desktop => Téma založeno: antywindroid 12. 08. 2014, 19:03:22
-
zdravím, chci si udělat takovou vychytávku na linuxu, při stisku klavesove skratky se ma momentalne aktivni okno zamrazit a přestat se zobrazovat v panelu kde se zobrazujou ostatni programy a namisto toho by se zobrazil jako spouštěč v jiném panelu
mam script v bashi ktery zamrazi a rozmrazi okno potřebuju jenom aby se nezobrazovalo v panelu jako ostatni a pak potrebuju zjistit jak vytvorit spoustec v xfce4 pomoci bashe
mam slabucky pocitac a jeste k tomu linux nainstalovany na flesce takze se programy nacitaji pomalu, tak by se mi dost hodila moznost zminimalizovat si okno takovymto spusobem ad uvolni procesor ale chci aby se mi zobrazoval jinde nez ostatni okna spustene jelikoz pak by se v tom tezko dalo vyznat
predem dekuji a pokud to neak pomuze, tak pouzivam xubuntu
-
wmctrl
-
yopto jsem si myslel od zacatku ze to pude pres tento prikaz, ale zatim jsem praveze neprisel nato jak, prisel jsem nato jak okno prenest do popredi nebo do pozadi, minimalizovat, maximalizovat, menit velikosti a pozice ale to co potrebuju mi stale zustava skryto :/ mozna nato jdu zbytecne slozite, nebo az moc jednoduse, ale ctu uz nekolikaty den manualy o wmctrl a stale jsem nic nenasel
-
No, zistil som, ze aky pouziva XFCE window manager,
a v jeho dokumentacii som zistil
http://docs.xfce.org/xfce/xfwm4/wmtweaks
ze existuje nejaky flag "skip taskbar", co znie presne ako to, co chces...
a tu pisu
http://forum.xfce.org/viewtopic.php?id=6755
ak napriklad nechces, aby sa program s menom Calculator ukazoval v zozname otvorenych okien,
tak mu pridas ten flag
wmctrl -r Calculator -b add,skip_taskbar
DŽTTP (dúfam, že ti to pomôže) == (HTH aka hope this helps) :-)
-
jo diky moc, dělá to přesně co potřebuju, teď už jen zjistit jak do panelu pomocí bashe přidat spouštěč a mam script hotovy
-
xfce moc nepouzivam, ale:
skus sa pozriet na:
http://ubuntuforums.org/showthread.php?t=2063164
a https://wiki.xfce.org/howto/customize-menu
P.S. Inak, pises, ze mas problem s tym, ze je tvoj system pomaly, lebo bezi z flashky... a on by aj mohol rychly, ale...
na flashke ta spomaluje, ak sa zapisuju veci na disk (na flashku). cize, mal by si mat zasadne primountovane filesystemy s flagom
noatime
http://lonesysadmin.net/2013/12/08/gain-30-linux-disk-performance-noatime-nodiratime-relatime/
A mozno by bolo dobre zamysliet sa aj na niecom ako tinycorelinux, kde je filesystem v podstate readonly, a vsetko je v RAMke, a ziadne veci by sa nepisali na flashku... Nemal by byt potom ziadny dovod byt pomaly... Ale, vsak pohraj sa, a hlavne, nech si zdravy :-)
-
presne tu stranku s tim menu jsem nasel taky, ale chtěl jsem to udělat ze bych mel primo spousteci ikonky nekde v jinem panelu, ale nakonec jsem to pres to menu udelal :D ... zmacknu klavesovou skratku a okno zmizi a prestane zrat cpu a obevi se v tom menu kde se po kliknuti zase obevi :) dela to presne to co chci :)
kdyby to chtel nekdo taky pouzit, nebo se jen podivat jk jsem se s tim popral tk vlozim i kod
akorat je potreba mit: wmctrl a xdotool
a musite vytvorit slozky ".freeze-apps" a ".freeze-aplications" ve vasem domovskem adresari
a ve slozce .freeze-aplications vytvorit soubor "freezed-windows.menu" a tento soubor potom pouzit jako nastaveni menu v panelu
#!/bin/bash
cd $HOME
if [ -z $1 ] ; then
WINDOW=$(xdotool getwindowfocus)
pid=$(xdotool getwindowpid $WINDOW)
ID=$(wmctrl -lp | grep $pid | cut -d " " -f1)
echo $WINDOW > window_id
xdotool windowminimize $WINDOW
kill -s SIGSTOP $pid
wmctrl -i -r $ID -b add,skip_taskbar
cd ".freeze-apps"
echo "[Desktop Entry]" > "a$WINDOW.desktop"
echo "Name="$(xdotool getwindowname $WINDOW) >> "a$WINDOW.desktop"
echo "Exec=/home/anty/bin/windowfreeze $WINDOW" >> "a$WINDOW.desktop"
echo "Terminal=false" >> "a$WINDOW.desktop"
echo "X-MultipleArgs=false" >> "a$WINDOW.desktop"
echo "Type=Application" >> "a$WINDOW.desktop"
echo "StartupNotify=true" >> "a$WINDOW.desktop"
apps=$(echo $(ls))
cd ../.freeze-aplications
echo "<Menu>" > freezed-windows.menu
echo "<Name>freezed</Name>" >> freezed-windows.menu
echo "<DefaultAppDirs/>" >> freezed-windows.menu
echo "<DefaultDirectoryDirs/>" >> freezed-windows.menu
echo "<DefaultMergeDirs/>" >> freezed-windows.menu
echo "<AppDir>/home/anty/.freeze-apps</AppDir>" >> freezed-windows.m$
echo "<Include>" >> freezed-windows.menu
for a in $apps
do
echo "<Filename>$a</Filename>" >> freezed-windows.me$
done
echo "<Separator/>" >> freezed-windows.menu
echo "</Include>" >> freezed-windows.menu
echo "</Menu>" >> freezed-windows.menu
else
WINDOW=$1
pid=$(xdotool getwindowpid $WINDOW)
ID=$(wmctrl -lp | grep $pid | cut -d " " -f1)
kill -s SIGCONT $pid
wmctrl -i -r $ID -b remove,skip_taskbar
xdotool windowactivate $WINDOW
cd ".freeze-apps"
rm "a"$WINDOW.desktop
fi
je mi jasne ze by se to dalo vylepsit, takze klidne piste navrhy :D a jeste me napadlo ze by nebylo spatne kdybych ten script nespoustel klavesovou skratkou, ale kdybych si mohl udelat vlastni tlacitko na okne, jk je krizek na zavreni, pomlcka na minimalizaci atd :D