Dlaczego najnowsza wersja emacsa nie obsługuje paska zadań Windows 7?

23

Pobrałem tutaj najnowsze emacs dla systemu Windows , ale uruchomienie go w systemie Windows 7 pokazuje ikonę paska zadań, która ignoruje kliknięcie prawym przyciskiem myszy, więc nie można go przypiąć. Przeszukałem Google i znalazłem wiele raportów o błędach dotyczących emacsa nieobsługującego paska zadań systemu Windows 7 i że jest to błąd naprawiony w wersji 23.1+. Obecna wersja to 23.3., Ale nadal nie mogę przypiąć emacsa do paska zadań Windows 7. Co robię źle?

grigoryvp
źródło

Odpowiedzi:

15

Dyskusja na temat błędu Emacsa # 8268 sugeruje:

Po przypięciu emacs.exe, edytuj właściwości (możesz użyć klawisza Shift-prawym przyciskiem myszy) i zmień ścieżkę wykonywalną, aby wskazywała C: /this/is/your/path/to/runemacs.exe zamiast C: /this/is/your/path/to/emacs.exe

harrymc
źródło
4
To nie zadziała. Jeśli zrobisz zgodnie z sugestią i klikniesz przypiętą ikonę, pojawi się druga ikona oznaczająca emacs.exe. Pasek zadań systemu Windows 7 mapuje aplikacje do ikon na pasku zadań, porównując nazwy plików wykonywalnych aplikacji ze „ścieżką plików wykonywalnych”. Tak więc przypięcie emacs.exe i zmiana ścieżki pliku wykonywalnego na „runemacs.exe” jest takie samo, jak przypięcie „runemacs.exe” :(
grigoryvp
@harrymc przepraszam, zapomniałem powiadomienia o znaku :)
grigoryvp
1
Powiadomienie jest domniemane dla własnych odpowiedzi.
harrymc
Sprawdziłem także dyskusję na temat błędu # 8268. Gdzie jest tylko jedna osoba, która udaje, że przypięcie runemacs.exe pozwala uruchomić emacsa z paska zadań bez dodatkowych okien konsoli lub ikon paska zadań. Dla reszty ludzi to nie działa. Mogę zasugerować, że dana osoba używa niestandardowej wersji systemu Windows 7 (wersja beta / sprawdzone kompilowanie / zmodyfikowane jądro) lub ma niestandardowe modyfikacje systemu operacyjnego.
grigoryvp
1
To również nie działa poprawnie w systemie Windows 10, bez dodatkowych okien konsoli lub ikon paska zadań.
Svein Fidjestøl
33

Myślę, że znalazłem sposób, choć nie mam pojęcia, dlaczego to działa ...

Zamiast przeciągać ikonę emacsa z folderu na pasek zadań (który będzie duplikował ikony), otwórz „runemacs.exe” bez wcześniejszej ikony na pasku zadań. Teraz kliknij prawym przyciskiem myszy ikonę już uruchomioną na pasku zadań i przypnij ją do paska zadań. Z jakiegoś powodu na moim komputerze przestało się powielać ikony. Teraz wykonaj przesunięcie prawym przyciskiem myszy i zmień cel z emacs.exe na runemacs.exe. Teraz (przynajmniej dla mnie) ikona Emacsa działa zgodnie z oczekiwaniami.

Jeśli to nie zadziała, spróbuj zaktualizować Emacsa. Na przykład nie działało to dla 22,3, ale działa dla 24,3.


Instrukcja krok po kroku:

  1. Uruchom runemacs.exebez ikony na pasku zadań.
  2. Kliknij prawym przyciskiem myszy uruchomioną ikonę Emacsa na pasku zadań i kliknij „Przypnij ten program do paska zadań”.
  3. Zamknij Emacsa
  4. Wciśnij Shift prawym przyciskiem myszy przypiętą ikonę Emacsa na pasku zadań, kliknij Właściwości i zmień cel z emacs.exena runemacs.exe.
falcojr
źródło
4
To powinno być oznaczone jako odpowiedź!
Olegs Jeremejevs
To też działa dla mnie, 3ks.
Eastsun
To działa. Powinna być odpowiedź!
isakkarlsson
To jest dokładnie to samo co zaakceptowana odpowiedź.
harrymc
3
Nie, nie jest. Zaakceptowana odpowiedź zakłada, że ​​użytkownik przypiął emacs z otwartej instancji. Innym sposobem przypięcia emacsa jest przeciągnięcie pliku exe z folderu i „ustawienie” go na pasku zadań. Ta metoda przypinania nie będzie działać. Akceptowana odpowiedź określa tylko przypięcie użytkownika, a nie sposób przypięcia.
falcojr
3

EmacsWiki wyjaśnia te problemy:

Po uruchomieniu programu za pomocą skrótu przypiętego do paska zadań, skrót jest wyświetlany inaczej podczas działania programu, ale nie jest wyświetlany żaden nowy przycisk paska zadań. Jeśli uruchomisz program, który nie jest przypięty do paska zadań, tworzony jest nowy przycisk paska zadań. Różni się to od poprzednich wersji systemu Windows, które zawsze tworzyły przycisk paska zadań dla każdego otwartego okna.

Nie działa to jednak z emacsem. Aby wyeliminować okno konsoli, należy je uruchomić z runemacs. Oznacza to, że musielibyśmy przypiąć runemacs.exe do paska zadań, aby uruchomić emacsa. Jednak po uruchomieniu uruchamia emacs.exe i kończy działanie. Windows rozpozna, że ​​są to dwa różne programy i nie podświetli przypiętej ikony i utworzy nowy przycisk dla emacs.exe.

Rozwiązaniem proponuje się tutaj :

Moim obejściem jest przypięcie emacs.exe do paska zadań i runemacs.exe do menu Start. Kiedy chcę uruchomić Emacsa, muszę użyć skrótu w menu Start, ale kiedy już działa, mogę po prostu użyć jego ikony na pasku zadań w normalny sposób. Działa to dla mnie całkiem dobrze, ponieważ zazwyczaj uruchamiam Emacsa raz na sesję pulpitu, a potem zostawiam go uruchomionego ...

harrymc
źródło
Niestety nie będzie to działać w najnowszych Windows 7 i emacs (23.3.1.). Właśnie przypiąłem emacs.exe do paska zadań i runemacs.exe, aby uruchomić menu, i uruchomiłem emacsa za pomocą skrótu menu Start - gdzie są dwie ikony emacsa na moim pasku taksówek :(. Jedna przypięta i uruchomiona z menu Start. I gdzie nie ma możliwości przypięcia ten faktycznie się zaczął - ignoruje kliknięcie prawym przyciskiem :(
grigoryvp
Spróbuj użyć EmacsClient . Zobacz tę wskazówkę .
harrymc
W jaki sposób EmacsClient może mi pomóc w interakcji z paskiem zadań? O_O Jasne, że mogę otwierać dokumenty za pomocą emacsa działającego w trybie serwera - ale problemy z ikoną paska zadań pozostają na pasku zadań :(.
grigoryvp
Wygląda na to, że Win7 nie obsługuje podziału Emacsa na 2 programy. Czy szukałeś alternatywnych widelców, takich jak XEmacs ?
harrymc
1
Trzeba będzie połączyć runemacs.exe i emacs.exe w jeden plik wykonywalny (co było zapowiedzią ntemacs podczas uruchamiania jego projektu).
harrymc
0

To jest raczej obejście, ale żadna inna odpowiedź nie działa dla mnie.

Kliknij prawym przyciskiem myszy runemacs.exei przypnij go do menu Start zamiast do paska zadań.

jfritz42
źródło