Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Tk Toplevel
BeitragVerfasst: 01 Nov 2016, 12:37 
Offline
Novize

Registriert: 26 Okt 2016, 16:17
Beiträge: 16
Liebe Tk Profis,

gibt es eigentlich eine Möglichkeit, den Focus an ein Toplevel Fenster zu binden, so daß keine anderen Elemente benutzt werden können, bis dieses Fenster wieder zerstört wurde?

Danke und viele Grüße

Eric.


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Tk Toplevel
BeitragVerfasst: 01 Nov 2016, 13:58 
Offline
Metaprogrammierer

Registriert: 20 Nov 2011, 21:51
Beiträge: 693
Diese Frage wird nur dein Window-Manager beantworten können. Mit Tk hätte das dann allerdings nur noch wenig zu tun.

Ich wäre auch sehr vorsichtig damit, soetwas auch nur zu versuchen. Benutzer können sehr argwönisch werden, wenn eine Software daherkommt und versucht ihnen die Kontrolle über den eigenen Rechner zu entziehen.

_________________
Ubuntu Gnome 14.04 LTS
rvm mit App-spezifischer Ruby-Version (meist 2.2.x) und -Gemset

Github ProfilBitbucket Profil


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Tk Toplevel
BeitragVerfasst: 01 Nov 2016, 14:17 
Offline
Novize

Registriert: 26 Okt 2016, 16:17
Beiträge: 16
Da habe ich mich wohl etwas mißverständlich ausgedrückt. Ich meinte natürlich keine anderen Elemente des selben laufenden Programmes...

Und weil ich gerade dabei bin ;-): Wie kann ich verhindern, daß das selbe Praogramm zweimal aufgerufen wird.

Merci!


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Tk Toplevel
BeitragVerfasst: 01 Nov 2016, 15:59 
Offline
Novize

Registriert: 26 Okt 2016, 16:17
Beiträge: 16
Punkt 1 hat sich erledigt. Die .grab Methode machts...


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Tk Toplevel
BeitragVerfasst: 01 Nov 2016, 16:42 
Offline
Interpreter
Benutzeravatar

Registriert: 18 Sep 2008, 22:32
Beiträge: 1821
Wohnort: NRW → UN
nerdcraft hat geschrieben:
Wie kann ich verhindern, daß das selbe Praogramm zweimal aufgerufen wird.


So etwas löst man üblicherweise mit einer PIDFile. Das funktioniert so, dass dein Programm beim ersten Start an einer festgelegten Stelle eine Datei anlegt und seine aktuelle PID dort hineinschreibt. Wird das Programm ausgeführt, prüft es zunächst, ob die PIDFile existiert. Wenn nicht, dann läuft es bisher nicht. Wenn doch, dann ist zu prüfen, ob die in der PIDFile vorhandene PID gültig ist (das Programm könnte ja abgestürzt sein). Wenn nicht, dann läuft es nicht, wenn doch, dann läuft es höchstwahrscheinlich. Bei einem regulären Beenden deines Programms löscht du kurz vor Ende die PIDFile.

Zugriff auf die PID eines Programms bekommst du über die globale Variable $$, wo du deine PIDFile speicherst, hängt von deinem System ab (denkbar wären etwa /run oder $XDG_CACHE_HOME (normalerweise ~/.cache); unter Windows wird es ähnliche empfohlene Verzeichnisse geben.

Vale,
Quintus

_________________
Habe den Mut, dich deines eigenen Verstandes zu bedienen! — Immanuel Kant

Ich bin freischaffender Softwareentwickler und freue mich über jedes neue Projekt. Kontaktinformation auf meiner Website.

Mein Blog | GitHub-Profil | Auf Twitter: @qquintilianus | PGP/GPG-Schlüssel: B1FE 958E D5E8 468E AA20 8F4B F1D8 799F BCC8 BC4F


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Tk Toplevel
BeitragVerfasst: 01 Nov 2016, 17:17 
Offline
Novize

Registriert: 26 Okt 2016, 16:17
Beiträge: 16
Danke! Auch hier hatte ich auf eine einzeilige Unterstützung durch ruby gehofft... ;-)


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: