Jak sprawić, aby emacs był naprawdę pełny ekran przy uruchomieniu?


9

Chcę, aby emacs był naprawdę zmaksymalizowany przy starcie.

Istnieją rozwiązania tego problemu, które powodują, że szerokość okna emacsa na ekranie. To mi nie wystarcza. Chcę, aby okno emacsa było zadokowane w prawym górnym rogu ekranu, aby po naciśnięciu myszy myszą zamknąłem emacsa, a nie Firefoksa lub Krusadera lub cokolwiek maksymalizowanego w tle.

Próbowałem to zrobić z Kwinem - ale bez powodzenia.

PS Używam Kubuntu, a emacs jest całkiem nowy 23.2 lub coś w tym rodzaju.


@ użytkownik zmaksymalizowany lub pełny ekran - czego chcesz? Twój drugi akapit jest nieco niejasny.
David LeBauer

Istnieje kilka rozwiązań zależnych od menedżera okien. Którego WM używasz? W Fluxboksie używam tego ~/.fluxbox/appspliku, aby ustawić maksymalne preferencje dla określonych aplikacji.
Daniel Andersson

Używam KWM (jest to domyślny KDE). Ma opcję „zmaksymalizowaną” - ale okno emacsa nie jest naprawdę zmaksymalizowane: jeśli naciśniesz „x” w prawym górnym rogu za pomocą myszy - zamkniesz coś innego - nie emacsa.
Adobe,

Odpowiedzi:


7

Jakiś czas temu wziąłem to gdzieś na emacswiki. Zauważ, że już go nie używam, ponieważ przełączyłem się na dwm, aby mieć wszystko na pełnym ekranie, ale kiedyś działało.

(defun fullscreen ()
       (interactive)
       (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_FULLSCREEN" 0)))

Jeśli chcesz, aby działał przy starcie, powinieneś być w stanie dodać

(fullscreen)

dla Twojej .emacs

EDYCJA: Ponownie kierując pytanie, myślę, że nie tego chcesz. To będzie naprawdę pełnoekranowe, a nie zmaksymalizowane: nie będziesz miał żadnego przycisku zamykania.

Ten powinien zrobić:

(defun fullscreen (&optional f)
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))

Teraz jest bezpośrednio z http://www.emacswiki.org/emacs/FullScreen


3

Oto dwa sposoby na osiągnięcie tego samego:

  1. Alias ​​do twojego emacspolecenia emacs -fs. Dodaj ten wiersz kodu do swojego .bashrcpliku w katalogu domowym:

    alias emacs='emacs -fs'
    

    Osobiście nie podoba mi się to podejście, ponieważ nie chciałbym, aby Emacs cały czas uruchamiał się na pełnym ekranie i chciałbym mieć trochę kontroli.

  2. Moje rozwiązanie: w Ubuntu możesz przypisać skrót klawiaturowy do „pełnego ekranu” w dowolnym oknie. Jest to najwygodniejsza i najprostsza opcja. Poza tym zaletą jest to, że ten sam skrót dotyczy również wszystkich aplikacji.


+1 Jest też -mm(skrót od --maximized), który „zmaksymalizuje pierwszą klatkę”. Efekty korzystania z tej opcji są nieco mniej „drastyczne” niż -fsopcja (pasek tytułu Emacsa i panele systemu operacyjnego pozostają widoczne).
itsjeyd

3

Umieść (w32-send-sys-command ?\xf030) swój .emacsplik. Myślę, że to rozwiązuje twój problem.

(działa tylko w systemie Windows)


Fajnie, tylko że pracuję w systemie Linux. Ale nadal - czasami muszę też pracować w systemie Windows. Dzięki.
Adobe

Zapomniałem wspomnieć. To rozwiązanie jest tylko dla systemu Windows.
Paulo Tomé

Tak, widzę to w32.
Adobe

1

Jeśli chcesz przełączać pełny ekran w emacsie za pomocą klawisza F11, dodaj następujące polecenie do .emacs:

;; the following should give fullscreen mode when F11 is depressed
(defun fullscreen ()
 (interactive)
 (set-frame-parameter nil 'fullscreen
              (if (frame-parameter nil 'fullscreen) nil 'fullboth))

Jeśli chcesz, aby emacs na pełnym ekranie był bardzo minimalny (bez paska narzędzi, paska przewijania lub paska menu, dodaj także:

(progn
  (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))  ;; no toolbar
  (menu-bar-mode -1) ;;no menubar
  (scroll-bar-mode -1) ;; no scroll bar
  )
)

0

Myślę, że emacs będzie szanował ustawienia gconf, więc możesz ustawić / apps / emacs / maximize, ale nie wiem, czy to pomoże na Kubuntu - warto spróbować.


0

Używam następujących w systemie Linux:

(defun my-frame-toggle ()
    "Maximize/Restore Emacs frame using 'wmctrl'."
    (interactive)
    (shell-command "wmctrl -r :ACTIVE: -btoggle,maximized_vert,maximized_horz"))

a następnie powiąż go z kluczem:

(global-set-key [(control f4)] 'my-frame-toggle)

Jeśli chcesz zacząć zmaksymalizować, możesz po prostu dodać połączenie my-frame-togglena końcu pliku .emacs.


Kiedy piszę twój kod, na mój plik .emacs. Pokazuje błąd analizatora składni.
Pratik Singhal

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.