วิธีทำให้ emacs เต็มหน้าจออย่างแท้จริงเมื่อเริ่มต้นระบบ?


9

ฉันต้องการให้ emac เพิ่มประสิทธิภาพสูงสุดเมื่อเริ่มต้นใช้งาน

มีวิธีแก้ไขปัญหาที่ทำให้ความกว้างของหน้าต่าง emacs ของหน้าจอเป็น นั่นไม่เพียงพอสำหรับฉัน ฉันต้องการให้หน้าต่าง emacs เชื่อมต่อกับมุมด้านขวาบนของหน้าจอดังนั้นเมื่อฉันกดเมาส์ด้วยเมาส์ฉันจะปิด emacs ไม่ใช่ Firefox หรือ Krusader หรืออะไรก็ตามที่ขยายให้ใหญ่สุดในพื้นหลัง

ฉันพยายามทำกับ Kwin - แต่ไม่มีโชค

PS ฉันใช้ Kubuntu และ emacs ค่อนข้างใหม่ 23.2 หรืออะไรทำนองนั้น


@user ขยายใหญ่สุดหรือเต็มหน้าจอ - คุณต้องการอะไร ย่อหน้าที่สองของคุณค่อนข้างคลุมเครือ
David LeBauer

มีบางโซลูชันที่ขึ้นอยู่กับตัวจัดการหน้าต่าง คุณใช้ WM ตัวไหน ใน Fluxbox ฉันจะใช้~/.fluxbox/appsไฟล์เพื่อตั้งค่าความพึงพอใจสูงสุดสำหรับการใช้งานเฉพาะ
Daniel Andersson

ฉันใช้ KWM (เป็นค่าเริ่มต้นของ KDE) มีตัวเลือก "ขยายใหญ่สุด" - แต่หน้าต่าง emacs ไม่ขยายใหญ่สุดจริง: ถ้าคุณกด "x" ที่มุมบนขวาด้วยเมาส์ - คุณจะปิดอย่างอื่น - ไม่ใช่ emacs
Adobe

คำตอบ:


7

ฉันได้นำสิ่งนี้มาจากที่ไหนสักแห่งใน emacswiki เมื่อไม่นานมานี้ โปรดทราบว่าฉันไม่ได้ใช้อีกต่อไปเพราะฉันเปลี่ยนไปใช้ dwm เพื่อมีทุกอย่างแบบเต็มหน้าจอ แต่มันใช้งานได้

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

หากคุณต้องการให้มันทำงานเมื่อเริ่มต้นคุณควรจะเพิ่ม

(fullscreen)

เพื่อคุณ .emacs

แก้ไข: อ่านคำถามของคุณอีกครั้งฉันคิดว่านี่ไม่ใช่สิ่งที่คุณต้องการ นี่จะเป็นแบบเต็มจอจริงๆไม่ใช่ขยายใหญ่สุด: คุณจะไม่มีปุ่มปิด

สิ่งนี้ควรทำ:

(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)))

ตอนนี้มาจากhttp://www.emacswiki.org/emacs/FullScreenโดยตรง


3

นี่คือสองวิธีที่ไม่ใช่เสียงกระเพื่อมเพื่อให้ได้เหมือนกัน:

  1. นามแฝงของคุณคำสั่งemacs emacs -fsเพิ่มรหัสบรรทัดนี้ไปยัง.bashrcไฟล์ของคุณในไดเรกทอรีบ้านของคุณ:

    alias emacs='emacs -fs'
    

    โดยส่วนตัวแล้วฉันไม่ชอบวิธีการนี้เพราะฉันไม่ต้องการให้ Emacs เริ่มต้นแบบเต็มหน้าจอตลอดเวลาและต้องการการควบคุมบางอย่าง

  2. โซลูชันของฉัน: ใน Ubuntu คุณสามารถกำหนดแป้นพิมพ์ลัดให้กับหน้าต่างแบบเต็มหน้าจอ นี่เป็นตัวเลือกที่สะดวกและง่ายที่สุด นอกจากนี้ยังมีข้อได้เปรียบที่ใช้ทางลัดเดียวกันกับแอพพลิเคชั่นทั้งหมดของคุณ


+1 นอกจากนี้ยังมี-mm(ย่อมาจาก--maximized) ซึ่งจะ "เพิ่มเฟรมแรกให้ใหญ่สุด" เอฟเฟกต์ของการใช้ตัวเลือกนี้จะ "รุนแรง" น้อยกว่า-fsตัวเลือกเล็กน้อย(แถบชื่อ Emacs และแผงควบคุม OS ยังคงมองเห็นได้)
itsjeyd

3

ใส่ไฟล์(w32-send-sys-command ?\xf030) ของคุณ .emacsฉันคิดว่ามันแก้ปัญหาของคุณ

(ใช้ได้กับ Windows เท่านั้น)


มันเท่ห์แม้ว่าฉันจะทำงานใน linux แต่ถึงกระนั้น - บางครั้งฉันก็ต้องทำงานในหน้าต่างด้วย ขอบคุณ
Adobe

ฉันลืมที่จะพูดถึง โซลูชันนี้ใช้สำหรับ Windows เท่านั้น
เปาโลโทมิ

ใช่ฉันเห็นw32สิ่งที่
Adobe

1

หากคุณต้องการสลับเต็มหน้าจอใน emacs ด้วยปุ่ม F11 ให้เพิ่มรายการต่อไปนี้ใน. 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))

หากคุณต้องการให้ emac แบบเต็มหน้าจอมีน้อยมาก (ไม่มีแถบเครื่องมือแถบเลื่อนหรือแถบเมนูด้วยให้เพิ่ม:

(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

ฉันคิดว่า emacs จะเคารพการตั้งค่า gconf ดังนั้นคุณสามารถตั้งค่า / apps / emacs / ขยาย แต่ไม่ทราบว่าจะช่วยใน Kubuntu - คุ้มค่าลอง


0

ฉันใช้สิ่งต่อไปนี้บน Linux:

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

แล้วผูกมันไว้กับกุญแจ:

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

หากคุณต้องการเริ่มขยายใหญ่สุดคุณสามารถเพิ่มการเรียกmy-frame-toggleไปที่ท้ายไฟล์. emacs ของคุณ


เมื่อฉันเขียนรหัสของคุณลงในไฟล์. emacs ของฉัน มันแสดงให้เห็นข้อผิดพลาดในการแยกวิเคราะห์
Pratik Singhal

0

ฉันพบทางออกที่ตลก:

emacs -nw

เริ่ม emacs ในคอนโซล - และคุณสามารถเพิ่มคอนโซลได้เอง!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.