SOLVED: Re: Re: Command to bring window to foreground?

Michopoulos Harry p98018 at rainbow.cs.unipi.gr
Fri Sep 24 12:53:47 EEST 2004


> >>>>> On Fri, 17 Sep 2004 14:49:42 +0300, Michopoulos Harry
> >>>>> <p98018 at rainbow.cs.unipi.gr> was rumoured to have said:
>
> > Χαιρετώ,
> > Χρειάζομαι έναν τρόπο να φέρνω στα Χ ενα παράθυρο στο προσκήνιο χωρίς να το
> > κλικάρω ή Alt+Tab. Δηλαδή μια εντολή του τύπου
> > <bring-to-front-command> <window> 
> > ή εαν υπάρχει τρόπος να στείλω μήνυμα/signal στο αντίστοιχο πρόγραμμα, πχ
> > <send-signal-command> <bring-to-foreground-signal> <window>
>
> > Το θέλω για να χρησιμοποιήσω το τηλεκοντρόλ της τηλεόρασης/ραδιοφώνου έτσι
> > ώστε όταν πατάω το κουμπί για την τηλεόραση να μην ξανανοίγει το πρόγραμμα εαν
> > είναι ήδη ανοιχτό αλλά απλώς να το φέρνει στο προσκήνιο. 

Η λύση (που προτιμήθηκε από μένα) από Theodoros V. Kalamatianos
> Gia des ligo to wmctrl. Einai ena poly mikro programmataki pou kanei apo
> command line diafora pragmata me tous WM. Einai kata vash generic, an kai
> polla features psilo-eksartwntai apo ton WM. Egw to xrhsimopoiousa gia na
> allazw virtual desktops sto KDE, alla exei kai support gia window raising.

Η εντολή που χρειάζομαι είναι
wmctrl -a kradio

Ακόμη ο V13 πρότεινε
> An thes na to kaneis gia programmata toy kde tote mporeis na to petyxeis me to
> dcop. P.x. trekse to kget kai apo ena shell dose:
>
> dcop kget 'kget mainwindow' 'restore()'
>
> opote kai tha soy emfanistei to parathyro toy. Sth synexeia steilto sto
> background kai dose:
>
> dcop kget 'kget mainwindow' 'raise()'
>
> (gia kde 3.3 ayto, alla isos na paizei kai se paliotera)
>
> gia perissotera, trekse to 'dcop' sketo na pareis mia lista me anoixta
> programmata, meta trokse 'dcop progname' gia na deis ti objects exei pano
> kato, sti synexeia dose 'dcop progname object' gia na deis ti synartiseis
> ypostirizei klp klp 

Επίσης σωστό, αλλά δουλεύει σε KDE (ακόμα και 3.1 που δοκίμασα) όμως πρέπει να
υποστηρίζεται από την ίδια την εφαρμογή (πχ το KdeTV το υποστηρίζει, ενώ το
kradio όχι). Επιπλέον, πρέπει να χρησιμοποιηθεί το όνομα που δίνει το dcop που
είναι κάτι σαν kdetv-8959 και όχι το kdetv αλλά αυτό λύνεται με
dcop `dcop 'kdetv*'` <object> <function>


Τέλος προτάθηκε (από Stelios Bounanos)
>Το πόσο εύκολα γίνεται αυτό εξαρτάται κυρίως από τον window manager, που δεν
>αναφέρεις ποιός είναι.
>
>Σε fvwm 2.5.10 θα μπορούσες να βάλεις κάτι σαν το εξής στο ~/.fvwm/.fvwm2rc:
>
>DestroyFunc ToggleTvtime
>AddToFunc ToggleTvtime
>+ I All (tvtime) Raise
>+ I TestRc (NoMatch) Exec exec tvtime
>
>Αυτό το function μπορεί μετά να κληθεί μέσα από οποιοδήποτε script έτσι:
>
>FvwmCommand 'Function ToggleTvtime'
>
>και θα κάνει αυτό που λες πιο κάτω.  Κατι παρόμοιο σίγουρα μπορείς να
>κάνεις στον sawfish και ίσως στον afterstep, wmaker κλπ.
>
>
>Εναλλακτικά, αν έχεις κανένα πρωτόγονο wm σαν το metacity, μπορείς να
>προσπαθήσεις με κάτι σαν xautomation, xmacro, ... μάλλον μαζί με xprop. 

Αυτό δεν το δοκίμασα.

Αυτά

H Michopoulos
Informatics Department, University of Piraeus
--
Open WebMail Project (http://openwebmail.org)
Debian Project (http://www.debian.org)




More information about the Linux-greek-users mailing list