Polecenie - powiększenie okna - jak?

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4678
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Polecenie - powiększenie okna - jak?

Post autor: jacekalex »

Witam

Mam pytanie:
program - np. skype albo pidgin jest włączony - ale istnieje - tylko w trayu ( mam na myśli wyłączenie okna).

Jakie polecenie basha powoduje - że program z ikony w trayu powiększa się do normalnego rozmiaru - (odpowiednik kliknięcia lewym przyciskiem myszy na ikonę w trayu)

Potrzebuję to do takiego skryptu:

Kod: Zaznacz cały

#!/bin/bash

zmienna= `ps ax | grep skype | grep -v grep | wc -l`
if [ $zmienna == o ]; then
   while true; do echo username login | skype --pipelogin & ; done
else
   maksymalizuj-okno-skype; exit 1
fi
Pytanie dodatkowe - w tej chwili skrypt jest "pętlą warunkową" - wynika to z faktu - że w oryginale skrypt służył do podtrzymywania pracy programów - (powyżej jest moja przeróbka) - które lubią się same wyłączać.
Jakie powinno być jego zakończenie - aby raz wykonany kończył działanie?

Dzięki i Pozdrawiam
:smile:
adrian5632
Przyjaciel
Przyjaciel
Posty: 259
Rejestracja: 17 gru 2006, 16:07
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Polecenie - powiększenie okna - jak?

Post autor: adrian5632 »

Nie da się. Można by było, jeśli np. program udostępniałby odpowiednią metodę przez DBus, wtedy mógłbyś używać polecenia dbus-send.
[IMG]http://www.ubudsl.com/media/UbuDSL.png[/IMG]
Masz problem z UbuDSL? Nie zapomnij wygenerować i załączyć loga do postu!
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4678
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Polecenie - powiększenie okna - jak?

Post autor: jacekalex »

W takim razie - jaka komenda idzie w systemie - kiedy klikam myszką - lewy przycisk na ikonę w trayu?

Wydaje mi sie - ze skoro gnome wie - że po takim kliknięciu ma otworzyć okno - to musi to mieć odzwierciedlenie w jakiejś komendzie - która jest wzbudzana po skojarzeniu pozycji kursora, faktu kliknięcia i ikony programu - który został kliknięty.

Tylko jak to wyśledzić - nie umiem odpalić myszy z terminala w trybie verbose - aby to sprawdzić.

Jeśli następuje działanie wzbudzone przez kliknięcie ikony w trayu - to pomiędzy programami gnome-panel i tacka sytemowa a kontrolerem myszki musi być jakaś wymiana informacji.
Pozostałe moduły gnoma - jak również sam zainteresowany program - np. skype - musi otrzymać jakąś informacje w tej sprawie - programy komputerowe chyba nie posiadają szklanej kuli.

Nie mniej jednak dzięki za odpowiedź.

Pozdrawiam
:?:
adrian5632
Przyjaciel
Przyjaciel
Posty: 259
Rejestracja: 17 gru 2006, 16:07
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Polecenie - powiększenie okna - jak?

Post autor: adrian5632 »

Na kliknięcie nie reaguje GNOME, tylko ikona aplikacji, a ikona aplikacji ma zaprogramowaną obsługę zdarzenia kliknięcia (a dokładniej mówiąc, to aplikacja ma zaprogramowane zdarzenie kliknięcia na ikonę). Nie ma tu żadnego wykonywania/przekazywania komend.
[IMG]http://www.ubudsl.com/media/UbuDSL.png[/IMG]
Masz problem z UbuDSL? Nie zapomnij wygenerować i załączyć loga do postu!
Awatar użytkownika
jacekalex
Gibki Gibbon
Gibki Gibbon
Posty: 4678
Rejestracja: 17 cze 2007, 02:54
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: MATE
Architektura: x86_64

Odp: Polecenie - powiększenie okna - jak?

Post autor: jacekalex »

A skąd aplikacja wie - że kliknięto jej ikonę?
Przecież sterownik obsługujący myszkę najpierw określa pozycję kursora, potem sprawdza co się znajduje pod kursorem, potem dopiero bezpośrednio - lub pośrednio zawiadamia aplikację - że kliknięto jej ikonę w trayu.

I chodzi dokładnie o odwzorowanie tej informacji - którą dostaje aplikacja w momencie kliknięcia na ikonę.

Właśnie to potrzebuję odwzorować.
adrian5632
Przyjaciel
Przyjaciel
Posty: 259
Rejestracja: 17 gru 2006, 16:07
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: Polecenie - powiększenie okna - jak?

Post autor: adrian5632 »

Podam ci na przykładzie biblioteki Qt: W wersji dla Linuksa moduł GUI Qt4 wykorzystuje biblioteki X11. X11 zarządza grafiką (obsługą karty graficznej i urządzeń wskazujących), Qt4 komunikuje się z biblioteką X11 i za każdym razem, gdy zostanie wciśnięty jakiś klawisz, Qt4 wychwytuje sygnał i 'informuje' o tym odpowiednie klasy.

Ogólnie rzecz biorąc jest to sprawa bardzo niskopoziomowa i w bashu nijak tego nie wykonasz.
[IMG]http://www.ubudsl.com/media/UbuDSL.png[/IMG]
Masz problem z UbuDSL? Nie zapomnij wygenerować i załączyć loga do postu!
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 69 gości