Warum unterstützt die neueste Emacs-Version die Windows 7-Taskleiste nicht?

23

Ich habe die neuesten Emacs für Windows hier heruntergeladen , aber beim Starten unter Windows 7 wird ein Taskleistensymbol angezeigt, das das Klicken mit der rechten Maustaste ignoriert und daher nicht fixiert werden kann. Ich habe Google durchsucht und viele Fehlerberichte für Emacs gefunden, die die Windows 7-Taskleiste und nicht unterstützen dass es sich um einen Fehler handelt, der in Version 23.1+ behoben wurde. Die aktuelle Version ist 23.3, aber ich kann Emacs immer noch nicht an die Windows 7-Taskleiste anheften. Was mache ich falsch?

grigoryvp
quelle

Antworten:

15

Die Diskussion über den Emacs- Bug # 8268 schlägt vor:

Nachdem Sie emacs.exe angeheftet haben, bearbeiten Sie die Eigenschaften (Sie können die Umschalttaste mit der rechten Maustaste verwenden) und ändern den ausführbaren Pfad so, dass er auf C: /this/is/your/path/to/runemacs.exe anstelle von C: zeigt. /this/is/your/path/to/emacs.exe

Harrymc
quelle
4
Das wird nicht funktionieren. Wenn Sie wie vorgeschlagen vorgehen und auf das angeheftete Symbol klicken, wird das zweite Symbol angezeigt, das für emacs.exe steht. Die Windows 7-Taskleiste ordnet Anwendungen Symbolen in der Taskleiste zu, indem die Namen der App-Programmdateien mit dem "Programmpfad" des Symbols verglichen werden. Das Anheften von emacs.exe und das Ändern des ausführbaren Pfads zu "runemacs.exe" entspricht dem Anheften von "runemacs.exe" :(
grigoryvp
@ Harrymc Entschuldigung, vergessen Benachrichtigung bei Zeichen :)
Grigoryvp
1
Benachrichtigung ist für die eigenen Antworten implizit.
Harrymc
Ich habe auch Fehler # 8268 Diskussion überprüft. Hier gibt es nur eine Person, die vorgibt, runemacs.exe könne Emacs ohne zusätzliche Konsolenfenster oder Taskleistensymbole über die Taskleiste starten. Für den Rest der Leute funktioniert das nicht. Ich kann vorschlagen, dass die betreffende Person eine nicht standardmäßige Windows 7-Version (Beta / Geprüfter Build / Geänderter Kernel) verwendet oder nicht standardmäßige Betriebssystemmodifikationen hat.
Grigoryvp
1
Dies funktioniert auch unter Windows 10 nicht ordnungsgemäß, ohne zusätzliche Konsolenfenster oder Taskleistensymbole.
Svein Fidjestøl
33

Ich glaube, ich habe einen Weg gefunden, obwohl ich keine Ahnung habe, warum es funktioniert ...

Öffnen Sie "runemacs.exe", ohne ein bereits vorhandenes Symbol in der Taskleiste zu haben, anstatt das Emacs-Symbol aus dem Ordner in die Taskleiste zu ziehen (wodurch die Symbole dupliziert werden). Klicken Sie nun mit der rechten Maustaste auf das Symbol, das bereits in der Taskleiste ausgeführt wird, und heften Sie es an die Taskleiste. Aus irgendeinem Grund hat dies auf meinem PC das Duplizieren von Symbolen gestoppt. Führen Sie nun die Umschalttaste mit der rechten Maustaste aus und ändern Sie das Ziel von "emacs.exe" in "runemacs.exe". Jetzt (zumindest für mich) funktioniert das Emacs-Symbol wie erwartet.

Wenn dies nicht funktioniert, aktualisieren Sie Emacs. Dies funktionierte beispielsweise nicht für 22.3, sondern für 24.3.


Schritt für Schritt Anleitung:

  1. Führen Sie runemacs.exedas Programm ohne bereits vorhandenes Symbol in der Taskleiste aus.
  2. Klicken Sie mit der rechten Maustaste auf das laufende Emacs-Symbol in der Taskleiste und klicken Sie auf "Dieses Programm an die Taskleiste anheften".
  3. Schließen Sie Emacs
  4. Klicken Sie bei gedrückter Umschalttaste mit der rechten Maustaste auf das angeheftete Emacs-Symbol in der Taskleiste, klicken Sie auf Eigenschaften und ändern Sie das Ziel von emacs.exein runemacs.exe.
falcojr
quelle
4
Dies sollte als Antwort markiert werden!
Olegs Jeremejevs
Es funktioniert auch bei mir, 3ks.
Eastsun
Das funktioniert. Sollte die Antwort sein!
isakkarlsson
Dies ist genau das gleiche wie die akzeptierte Antwort.
Harrymc
3
Nein, ist es nicht. Bei der akzeptierten Antwort wird davon ausgegangen, dass der Benutzer Emacs von einer offenen Instanz aus angeheftet hat. Eine andere Möglichkeit, Emacs festzuhalten, besteht darin, die Exe aus dem Ordner zu ziehen und in die Taskleiste zu verschieben. Diese Methode zum Fixieren funktioniert nicht. Die akzeptierte Antwort gibt nur den Benutzer an, der sie anpinnt, nicht, wie er sie anpinnt.
Falcojr
3

EmacsWiki erklärt diese Probleme:

Wenn Sie ein Programm mit einer Verknüpfung auf der Taskleiste starten, wird die Verknüpfung während der Ausführung des Programms anders angezeigt, es wird jedoch keine neue Taskleistenschaltfläche angezeigt. Wenn Sie ein Programm starten, das nicht an die Taskleiste gebunden ist, wird eine neue Taskleistenschaltfläche erstellt. Dies unterscheidet sich von früheren Windows-Versionen, bei denen für jedes geöffnete Fenster eine Taskleistenschaltfläche erstellt wurde.

Dies funktioniert jedoch nicht mit Emacs. Um das Konsolenfenster zu entfernen, muss es mit Runemacs gestartet werden. Das bedeutet, wir müssten runemacs.exe an die Taskleiste anheften, um Emacs zu starten. Wenn es jedoch ausgeführt wird, startet es einfach emacs.exe und wird beendet. Windows erkennt, dass es sich um zwei verschiedene Programme handelt, hebt das angeheftete Symbol nicht hervor und erstellt eine neue Schaltfläche für emacs.exe.

Eine Abhilfe wird vorgeschlagen , hier :

Meine Problemumgehung besteht darin, emacs.exe in der Taskleiste und runemacs.exe im Startmenü anzuheften. Wenn ich Emacs starten möchte, muss ich die Verknüpfung in meinem Startmenü verwenden, aber sobald es ausgeführt wird, kann ich einfach das Taskleistensymbol wie gewohnt verwenden. Dies funktioniert für mich recht gut, da ich Emacs normalerweise einmal pro Desktopsitzung starte und dann einfach laufen lasse ...

Harrymc
quelle
Leider funktioniert dies nicht für die neuesten Windows 7 und Emacs (23.3.1.). Ich habe gerade "emacs.exe" an die Taskleiste und "runemacs.exe" an das Startmenü angeheftet und "emacs" über die Startmenü-Verknüpfung gestartet - hier befinden sich zwei Emacs-Symbole auf meiner Taksbar :(. Eines wurde angeheftet und wird über das Startmenü gestartet. Und wo ist keine Möglichkeit zum Anheften derjenige tatsächlich gestartet - es ignoriert Rechtsklick :(
grigoryvp
Versuchen Sie es vielleicht mit EmacsClient . Siehe diesen Tipp .
Harrymc
Wie kann EmacsClient mir bei der Interaktion mit der Taskleiste helfen? O_O Sicher, ich kann Dokumente mit Emacs öffnen, die im Servermodus ausgeführt werden - aber die Probleme mit den Taskleistensymbolen bleiben in der Taskleiste :(.
grigoryvp
Scheint so, als ob Win7 die Aufteilung von Emacs in zwei Programme überhaupt nicht unterstützt. Haben Sie sich mit alternativen Gabeln wie XEmacs befasst ?
Harrymc
1
Man müsste runemacs.exe und emacs.exe in einer ausführbaren Datei kombinieren (was die angekündigte Absicht von ntemacs beim Starten seines Projekts war).
Harrymc
0

Dies ist eher ein Workaround, aber keine der anderen Antworten funktioniert für mich.

Mit Rechtsklick runemacs.exeund auf den Stift startet Menü statt der Taskleiste.

jfritz42
quelle