Schließen-Button = Systray

German support forum

Moderators: Hacker, Stefan2, white

Andreas
Power Member
Power Member
Posts: 861
Joined: 2003-08-30, 08:45 UTC
Location: Hannover

Post by *Andreas »

Also ich denke, TC sollte einfach (optional) nachfragen ob ich wirklich TC schliessen will. Das verhindert dann zufälliges schliessen.
Solche Nachfragen finde ich grausam und total überflüssig.
Gruß Andreas

Win10 x64 +++ Total Commander 10 +++ Directory Opus 12 +++
User avatar
Sir_SiLvA
Power Member
Power Member
Posts: 3381
Joined: 2003-05-06, 11:46 UTC

Post by *Sir_SiLvA »

SanskritFritz wrote:Also ich denke, TC sollte einfach (optional) nachfragen ob ich wirklich TC schliessen will. Das verhindert dann zufälliges schliessen. Fertig.
Warum als mündiger PC Benutzer sollte man sich von seinem PC nicht bevormunden lassen müßen oder ? :)
Turboandi wrote:Genau der Meinung bin ich auch.
Hab ich in meinen Progrämmchen auch drin.
Den Schalter kann man doch noch wunderbar unter Diverses -> Bestätigung einholen vor: "Schließen von Total Commander" einbauen (sollte meiner Meinung nach aber nicht default-mäßig angehakt sein).
Na hoffentlich - alles andere wäre unnatürliche Grausamkeit.

Schon der NC hatte diese Option.Gruß, Jürgen
[erbsenzähler]Achja? Wo hatte der NC Close- und Minimierenknöpfe[/erbsenzähler]

SOrry aber Unicode wäre wichtiger als sowas :D :twisted:
Hoecker sie sind raus!
Juergen
Power Member
Power Member
Posts: 517
Joined: 2003-05-02, 18:19 UTC
Location: Berlin (Germany)
Contact:

Post by *Juergen »

Sir_SiLvA wrote:
Schon der NC hatte diese Option.Gruß, Jürgen
[erbsenzähler]Achja? Wo hatte der NV Close- undMinimierenknöpfe[/erbsenzähler]
Meine Aussage bezog sich eindeutig auf die Option Bestätigung einholen vor dem Schleßen.
Sorry, aber du hast dich bei deinen Erbsen verzählt.
Sir_SiLvA wrote:SOrry aber Unicode wäre wichtiger als sowas :D :twisted:
Man kann das eine tun, ohne das andere zu lassen.

Gruß, Jürgen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

SanskritFritz wrote:Also ich denke, TC sollte einfach (optional) nachfragen ob ich wirklich TC schliessen will. Das verhindert dann zufälliges schliessen. Fertig.
Eine von tausend Optionen des TCs, die bei mir immer ausgeschaltet wäre.

Man denke nur daran wenn man mehrere Instanzen geöffnet hat. :?
Ja, Ja, Ja, Ja .... Warum gibt es hier eigentlich keinen "Close All" Button? :evil:

Schließlich ist der TC kein Dokumente bearbeitendes Programm, bei dem das unbedarfte Schliessen die Arbeit von Stunden vernichten kann.
Und ein Neustart ist nun wirklich nicht die Welt (zumindest solange der TC nicht jedesmal beim Neustarten neu kompiliert werden muss) ;)

Gruß
Holger
User avatar
Hacker
Moderator
Moderator
Posts: 13144
Joined: 2003-02-06, 14:56 UTC
Location: Bratislava, Slovakia

Post by *Hacker »

HolgerK,
Stimmt, aber was passiert dann beim Beenden von Windows?
Da wird eine spezielle systemweite Nachricht verschickt, dass das ganze Windows runtergefahren wird, AFAIK.

Roman
Mal angenommen, du drückst Strg+F, wählst die FTP-Verbindung (mit gespeichertem Passwort), klickst aber nicht auf Verbinden, sondern fällst tot um.
Juergen
Power Member
Power Member
Posts: 517
Joined: 2003-05-02, 18:19 UTC
Location: Berlin (Germany)
Contact:

Post by *Juergen »

Hacker wrote:HolgerK,
Stimmt, aber was passiert dann beim Beenden von Windows?
Da wird eine spezielle systemweite Nachricht verschickt, dass das ganze Windows runtergefahren wird, AFAIK.
Ja, da sendet Windows die Nachricht WM_QUERYENDSESSION an die laufenden Programme. Das ist quasi die Frage: "Ich will die Sitzung jetzt beenden, ist das OK für dich?" Ein Programm wird also nicht 'abgeschossen', sondern kann bei Bedarf noch Daten speichern, und wird im Normalfall danach mit "Ja" (TRUE) antworten. Daraufhin wird es beendet, und nachdem dies für alle laufenden Programme geschehen ist wird Windows heruntergefahren.

Gruß, Jürgen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

@Andreas:
Hier ist ein AHK-Script, das den TC in den Tray minimiert, wenn Du X drückst (im TC muß die Tray-Funktion aktiviert sein):

Code: Select all

#IfWinActive, ahk_class TTOTAL_CMD
LButton Up::
WinGetPos, null, null, Width
MouseGetPos, X, Y
If (Width - X < 24 AND Width - X > 4 AND Y < 24 AND Y > 3)
  WinMinimize
Click Up
Return

LButton::
Click Down
Return
Das Script ist angepaßt für die klassische Windows-Oberfläche! Wenn Du das Luna-Theme aktiviert hast, mußt Du die beiden 24 in 29 ändern.

Das ganze Problem könnte man auch durch einen Hook lösen, aber da kann sich gerne ein anderer dransetzen. Man muß ja nicht mit Kanonen auf Spatzen schießen. ;)

Edit:
Drag&Drop funktioniert nun auch!

Icfu
Last edited by icfu on 2006-05-27, 23:19 UTC, edited 3 times in total.
This account is for sale
Andreas
Power Member
Power Member
Posts: 861
Joined: 2003-08-30, 08:45 UTC
Location: Hannover

Post by *Andreas »

Hallo icfu,

danke für das Script. So langsam kann ich deine Liebe für AHK nachvollziehen :).
Gruß Andreas

Win10 x64 +++ Total Commander 10 +++ Directory Opus 12 +++
User avatar
SanskritFritz
Power Member
Power Member
Posts: 3693
Joined: 2003-07-24, 09:25 UTC
Location: Budapest, Hungary

Post by *SanskritFritz »

2icfu
2Andreas
Versucht aber keinen drag&drop, wenn der script aktiv ist... ;-)
I switched to Linux, bye and thanks for all the fish!
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

Juergen wrote:
Hacker wrote:HolgerK,
Stimmt, aber was passiert dann beim Beenden von Windows?
Da wird eine spezielle systemweite Nachricht verschickt, dass das ganze Windows runtergefahren wird, AFAIK.
Ja, da sendet Windows die Nachricht WM_QUERYENDSESSION an die laufenden Programme. Das ist quasi die Frage: "Ich will die Sitzung jetzt beenden, ist das OK für dich?" Ein Programm wird also nicht 'abgeschossen', sondern kann bei Bedarf noch Daten speichern, und wird im Normalfall danach mit "Ja" (TRUE) antworten. Daraufhin wird es beendet, und nachdem dies für alle laufenden Programme geschehen ist wird Windows heruntergefahren.

Gruß, Jürgen
Richtiger wäre das Auswerten von WM_ENDSESSION.
Die DefWindowProc von liefert WM_QUERYENDSESSION immer TRUE zurück. FALSE würde den LogOff oder Shutdown Vorgang unterbrechen. Das kann natürlich sinnvoll sein, wenn durch das Unterbrechen einer Operation z.B. Datenverlust entstehen würde.

Was ich aber meinte ist, dass diese Messages dann auch explizit gehandelt werden müssen, anstelle das eine Default-Implementierung des Frameworks das übernimmt.

Daher noch mal meine Frage: ist das zum Erreichen eine Windows-inkompatiblen Verhaltens der richtige Weg?

Wenn ich mich als undedarfter Anwender daran gewöhne, dann erwarte ich solch ein Verhalten auch von anderen Programmen. und schwupps ist die Kacke am dampfen, weil z.B. mein Browser wärend des Online-Bankings (oder dem Editieren eines Wiki-Eintrages, oder...) nicht minimiert, sondern beendet wird.

Nur meine Meinung
Holger
Juergen
Power Member
Power Member
Posts: 517
Joined: 2003-05-02, 18:19 UTC
Location: Berlin (Germany)
Contact:

Post by *Juergen »

HolgerK wrote:
Juergen wrote:Ja, da sendet Windows die Nachricht WM_QUERYENDSESSION an die laufenden Programme. Das ist quasi die Frage: "Ich will die Sitzung jetzt beenden, ist das OK für dich?" Ein Programm wird also nicht 'abgeschossen', sondern kann bei Bedarf noch Daten speichern, und wird im Normalfall danach mit "Ja" (TRUE) antworten. Daraufhin wird es beendet, und nachdem dies für alle laufenden Programme geschehen ist wird Windows heruntergefahren.

Gruß, Jürgen
Richtiger wäre das Auswerten von WM_ENDSESSION.
Das sehe ich nicht so.
HolgerK wrote:Die DefWindowProc von liefert WM_QUERYENDSESSION immer TRUE zurück.
Die DefWindowProc meinte ich nicht.
Wenn ein Programm eine Windows-Nachricht bearbeitet, kann es selbst entscheiden, welchen Wert es zurückliefert, und muss dies nicht der entspr. DefWindowProc überlassen.
HolgerK wrote:FALSE würde den LogOff oder Shutdown Vorgang unterbrechen. Das kann natürlich sinnvoll sein, wenn durch das Unterbrechen einer Operation z.B. Datenverlust entstehen würde.
Hm...? Von FALSE habe ich doch gar nichts geschrieben.
Der Punkt ist hier, dass ein Programm, nachdem es die Nachricht WM_QUERYENDSESSION erhalten hat, Gelegenheit hat noch Daten zu sichern, bevor es diese Nachricht anschließend mit TRUE bestätigt. Die DefWindowProc kommt in dem Fall gar nicht zum Zuge.

Aber ich glaube das sprengt hier langsam den Rahmen ... :) Für mehr Information siehe z.B.:

Code: Select all

Charles Petzold
Windows-Programmierung
Microsoft Press Deutschland
5. Aufl. 2000

zu der hier behandelten Frage und WM_QUERYENDSESSION s.S. 462 f.
HolgerK wrote:Wenn ich mich als undedarfter Anwender daran gewöhne, dann erwarte ich solch ein Verhalten auch von anderen Programmen. und schwupps ist die Kacke am dampfen, weil z.B. mein Browser wärend des Online-Bankings (oder dem Editieren eines Wiki-Eintrages, oder...) nicht minimiert, sondern beendet wird.
Dem stimme ich zu. Mit meinen hier zitierten Aussagen wolte ich nur bestätigen und ein wenig erläutern, was Hacker geschrieben hatte.
Ansonsten habe ich ja bereits deutlich gemacht, dass ich in diesem Zusammenhang den von SanskritFritz gemachten Vorschlag präferiere -- eben auch deshalb, weil er nicht gegen Windows-Konventionen verstößt.

Gruß, Jürgen
My add-ons and plugins for TC: NiftyLink, mbox, Sequences
User avatar
HolgerK
Power Member
Power Member
Posts: 5411
Joined: 2006-01-26, 22:15 UTC
Location: Europe, Aachen

Post by *HolgerK »

2Juergen

Ich glaube wir sind da eigentlich einer Meinung, und der Unterschied zwischen den beiden Messages, ist es nicht wirklich Wert darüber länger zu streiten.

Nur zur Info( und falls es sonst noch jemanden interressiert):
WM_CLOSE
WM_QUERYENDSESSION
WM_ENDSESSION

Schönes Wochenende noch
Holger
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Versucht aber keinen drag&drop, wenn der script aktiv ist...
Jep, leider habe ich mal wieder einen Bug in AHK gefunden. LButton Up zerstört trotz #IfWinActive das Linksklickverhalten, werde ich wohl mal melden. Mal schauen, ob man das beheben kann.

@Andreas:
Ich habe das Script leicht geändert und die "Trefferzone" auf's X beschränkt.

Icfu
This account is for sale
Andreas
Power Member
Power Member
Posts: 861
Joined: 2003-08-30, 08:45 UTC
Location: Hannover

Post by *Andreas »

2icfu
Alles klar!
Gruß Andreas

Win10 x64 +++ Total Commander 10 +++ Directory Opus 12 +++
icfu
Power Member
Power Member
Posts: 6052
Joined: 2003-09-10, 18:33 UTC

Post by *icfu »

Neue Version, sollte nun alles wie gewohnt laufen mit Drag&Drop. Falls nicht, bitte Problem melden! ;)

Icfu
This account is for sale
Post Reply