Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Ikona pro maximalizaci - skype  (Přečteno 2232 krát)

Nodon

  • Návštěvník
  • Příspěvků: 19
Ikona pro maximalizaci - skype
« kdy: 16 Ledna 2011, 13:16:24 »
Ahoj, potřeboval bych abych když kliknu na ikonu skype kterou mám na ploše, aby se mi nezapl další skype ale pouze vyhodil z lišty ten který už je zaplý. Nešlo by to nějak vytvořit nový spoušteč, který by volal příkaz v terminálu který by něco takového dělal?

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Ikona pro maximalizaci - skype
« Odpověď #1 kdy: 16 Ledna 2011, 13:32:41 »
Pokud chceš, aby jedna ikona zapínala i ukončovala, dej si do spouštěče tento příkaz:

Kód: [Vybrat]
bash -c "[ `pidof skype` ] && killall skype || skype"nebo lépe
Kód: [Vybrat]
bash -c "if ! killall skype; then skype;fi"
« Poslední změna: 16 Ledna 2011, 13:40:59 od GdH »

Nodon

  • Návštěvník
  • Příspěvků: 19
Re: Ikona pro maximalizaci - skype
« Odpověď #2 kdy: 16 Ledna 2011, 13:54:26 »
Potřeboval bych spíše něco co zjistí jestli je skype zapnutý, a když nebude tak ho zapne a když bude tak ho vyhodí do popředí.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Ikona pro maximalizaci - skype
« Odpověď #3 kdy: 16 Ledna 2011, 16:35:01 »
Kód: [Vybrat]
sudo apt-get install wmctrl
Do spouštěče:

Kód: [Vybrat]
bash -c "if pidof skype; then wmctrl -R Skype™; else skype; fi"
Pokud Skype běží a jeho okno bude existovat (nebude minimalizované Skype ikonou v oznamovací oblasti), udělá to to samé, jako když klikneš na tu ikonu v oznamovací oblasti panelu.

Nodon

  • Návštěvník
  • Příspěvků: 19
Re: Ikona pro maximalizaci - skype
« Odpověď #4 kdy: 18 Ledna 2011, 16:55:48 »
Vyzkouším, dík.

karlitos

  • Stálý člen
  • **
  • Příspěvků: 1057
  • Bioinformatics - solutions in-silico
    • homepage
Re: Ikona pro maximalizaci - skype
« Odpověď #5 kdy: 20 Ledna 2011, 21:00:14 »
Diky GDH K+ presne tohle sem shanel. Jenom by to chtelo poresit tu maximalizaci z listy. Zkusim popatrat v nastaveni wmctrl.

EDIT : nasel jsem hodne zajimave forum : http://askubuntu.com/questions/16612/how-can-i-activate-a-panel-icon-via-a-script-or-get-its-screen-co-ordinates-to Popatram co z toho funguje.

;D ;D ;D

Tak tenhle Pythoni skript opravdu umi probrat Skype z oznamovaci oblasti :
Kód: [Vybrat]
#!/usr/bin/env python

import dbus

# Get a D-Bus interface to Skype
bus = dbus.SessionBus()
skype_object = bus.get_object('com.Skype.API', '/com/Skype')
skype = dbus.Interface(skype_object, dbus_interface='com.Skype.API')

# Ask for permission to control Skype
response = skype.Invoke("NAME " + __file__)
response = skype.Invoke("PROTOCOL 8")

# Issue commands
response = skype.Invoke("SET WINDOWSTATE NORMAL")

Bohuzel me znalosti pythonu zatim nejsou na dostatecne urovni abych umel posoudit jestli bude pracovat za vsech okolnosti.
« Poslední změna: 20 Ledna 2011, 21:40:09 od karlitos »
Lenovo ThinkCentre A61 912073G
Athlon X2 5000+ 4GB RAM Nvidia Geforce 9500GT
Linux Mint 9 Isadora , Win7 64Bit

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Ikona pro maximalizaci - skype
« Odpověď #6 kdy: 20 Ledna 2011, 23:49:15 »
Pokud bude mít Skype zapnutý D-Bus, tak to fungovat bude. Ten skript jen posílá příkazy na API Skype. Samozřejmě je možné podstatně víc, než jen zobrazit okno.

karlitos

  • Stálý člen
  • **
  • Příspěvků: 1057
  • Bioinformatics - solutions in-silico
    • homepage
Re: Ikona pro maximalizaci - skype
« Odpověď #7 kdy: 22 Ledna 2011, 18:19:21 »
No pro me potreby cokoliv co zobrazi okno z tray aniz by se muselo klikat na ikonu v trayi. Funguje to celkem spolehlive az na pripad kdy je otevrene nejakej okno skypu ale je neaktivni a na pozadi. Ja totiz pro velmi specificke ucely spoustim vsechna okna maximalizovana a ve chvili kdy je okno zobrazene ale neni aktivni a je na pozadi a spustim ten skript zobrazi mi ho to bohuzel v klasicke velikosti.
Poresil by to skript :
Kód: [Vybrat]
if existuje okno skypu
than wmctrl -R Skype™
else python wake_up_skype_over_Dbus.py
Bohuzel je to zatim nad me znalosti programovani v pythonu.
Lenovo ThinkCentre A61 912073G
Athlon X2 5000+ 4GB RAM Nvidia Geforce 9500GT
Linux Mint 9 Isadora , Win7 64Bit

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Ikona pro maximalizaci - skype
« Odpověď #8 kdy: 22 Ledna 2011, 18:36:25 »
Na tohle ti stačí Bash a wmctrl.

Kód: [Vybrat]
if wmctrl -l|grep Skype™
atd. To zvládneš ;)

 

Provoz zaštiťuje spolek OpenAlt.