ฉันจะเพิ่มขนาด Emacs ของฉันให้มากที่สุดได้อย่างไรเมื่อเริ่มใช้งาน


65

มีวิธีเพิ่มหน้าต่างของฉันให้ใหญ่ที่สุดเมื่อเปิดเครื่องไหม?

ขณะนี้ฉันกดControl+ Windows Key+ Upบนแป้นพิมพ์ของฉัน แต่มันก็น่ารำคาญมากที่จะทำเช่นนั้นทุกครั้ง

ฉันใช้ Emacs 24.4 บน Ubuntu 12.04


1
ฉันไม่รู้จักการผสมผสานที่สำคัญเพื่อเพิ่ม emacs ให้สูงสุด ขอบคุณสำหรับสิ่งนั้นและคำตอบด้านล่างนี้ก็ใช้ได้!
Prasanna

คุณพบการรวมกันจากที่<kbd>![Windows Key][oldwinlogo]</kbd>ใดไม่ได้ผลสำหรับฉัน :-(
Prasanna

คำตอบ:


70

ฉันมีวิธีอื่นซึ่งฉันได้ทดสอบด้วย Emacs 24.3 และ 24.4 รวมถึงทั้งบน Windows และ GNU / Linux ฉันวางสิ่งต่อไปนี้ในไฟล์ init ของฉัน :

(add-to-list 'default-frame-alist '(fullscreen . maximized))

ฉันเชื่อว่าสิ่งนี้ได้รับการแก้ไขเล็กน้อยจากคำตอบ StackOverflow ที่ฉันพบเมื่อไม่นานมานี้ แต่ฉันไม่สามารถหามันได้อีกในขณะนี้

แก้ไข:โบนัสอีกวิธีหนึ่งของวิธีนี้ก็คือมันใช้กับลูกค้าใหม่ที่เชื่อมต่อกับเซิร์ฟเวอร์ Emacs ของคุณ (เช่นemacsclient -c)


3
+1 สำหรับคำตอบที่แม่นยำ ถ้าฉันสามารถยอมรับสิ่งนี้เป็นคำตอบอีกครั้ง - ฉันจะ!
Prasanna

1
ฉันชอบโซลูชันนี้ที่ใช้emacsclientแต่มีบางเฟรมที่เริ่มขยายให้ใหญ่สุดจะป้องกันการใช้อย่างถูกต้องเช่นแผงควบคุม ediffมีวิธีแก้ปัญหานี้หรือไม่
marcanuy

@marcanuy: ฉันไม่ทราบวิธีแก้ปัญหาที่อยู่ด้านบนของหัวของฉัน แต่มันอาจคุ้มค่าที่จะโพสต์คำถามใหม่สำหรับสิ่งนั้น
Scott Weldon

30

ปรับ...-frame-alistในไฟล์ init ของคุณเพื่อบอก Emacs วิธีเพิ่มเฟรมให้ใหญ่สุด นอกจากนี้คุณยังมีหลายตัวเลือกสำหรับวิธีเพิ่มขนาด

alist ตัวเลือก

คุณมีสอง...-frame-alistทางเลือก:

  1. default-frame-alist (เหมือนในคำตอบ @Scott Weldon)
  2. initial-frame-alist

หากคุณใช้default-frame-alistมันจะเพิ่มเฟรมทั้งหมด : ทั้งเฟรมแรกและเฟรมอื่น ๆ ที่คุณสร้าง นั่นอาจไม่ใช่สิ่งที่คุณต้องการ (หรืออาจเป็น: ฉันจะเป็นใครในการตัดสิน?)

หากคุณใช้initial-frame-alistมันจะเพิ่มเฉพาะเฟรมที่ Emacs สร้างเมื่อเริ่มต้น แต่จะไม่แตะเฟรมที่ตามมาที่คุณสร้าง

ตัวเลือกสูงสุด

สำหรับตัวเลือกการขยายใหญ่สุดของคุณให้ดูที่โหนดของคู่มือนี้สำหรับรายละเอียด เวอร์ชันย่อคือคุณสามารถตั้งค่าfullscreenพารามิเตอร์เป็น:

  • fullwidth (ทำให้กรอบกว้างเท่าที่เป็นไปได้อย่าแตะต้องแนวตั้ง)
  • fullheight (ทำให้เฟรมสูงที่สุดเท่าที่เป็นไปได้อย่าแตะต้องแนวนอน)
  • fullboth (ตั้งค่าความสูงและความกว้างเป็นขนาดของหน้าจอ)
  • maximized (ทำให้ดีขยายใหญ่สุด)

ความแตกต่างระหว่างfullbothและmaximizedคือคุณสามารถปรับขนาดอดีตด้วยเมาส์ในขณะที่หลังคุณไม่สามารถปรับขนาด

ตัวอย่าง

ตัวอย่างเช่นบรรทัดเหล่านี้จะ 1) สร้างเฟรมเริ่มต้นที่ขยายให้ใหญ่สุดและ 2) สร้างเฟรมแบบเต็มความสูง (แต่ไม่ใช่แบบเต็มความกว้าง) ในทุกเฟรมที่ตามมา:

(add-to-list 'initial-frame-alist '(fullscreen . maximized))
(add-to-list 'default-frame-alist '(fullscreen . fullheight))

3
แน่นอนinitial-frame-alistมีประโยชน์มากกว่าdefault-frame-alistเมื่อใช้เครื่องมือเช่น ediff
giordano

28

บน Emacs 24.4 (toggle-frame-maximized)สลับสถานะที่ขยายใหญ่สุดของเฟรมปัจจุบัน

ดูเพิ่มเติมได้ที่Maximize Emacs เมื่อมีคำถามเกี่ยวกับ stackoverflow และหน้าเต็มหน้าจอใน EmacsWiki


ใช้งานได้กับ castlemacs บน mac ขอบคุณ!
Sankalp

9

@ คำตอบของคอนสแตนตินนั้นครอบคลุมถึงวิธีการนี้สามารถทำได้โดยการแก้ไขไฟล์ init ของคุณ (ถ้าคุณใช้ Emacs 24.4)

หากคุณเริ่ม Emacs จากบรรทัดคำสั่งจากเส้นประหรือจากตัวเรียกใช้งานเช่นSynapseหรือkrunnerคุณสามารถระบุ-mmตัวเลือก (ย่อมาจาก--maximized) เพื่อให้ได้ผลลัพธ์เดียวกัน:

emacs -mm

-mmตัวเลือกเป็นครั้งแรกที่นำมาใช้ใน Emacs 23.2เพื่อแก้ปัญหานี้ไม่ได้ จำกัด อยู่ที่การเปิดตัวล่าสุดที่มีเสถียรภาพ


สิ่งที่แตกต่างจากวิธีการแก้ปัญหานี้จากคำแนะนำอื่น ๆ ที่โพสต์ไว้ที่นี่ (ทั้งหมดนั้นยอดเยี่ยม) คือมันช่วยให้คุณตัดสินใจได้เป็นกรณี ๆ ไปไม่ว่าคุณต้องการให้เฟรม Emacs ขยายใหญ่สุดเมื่อเริ่มต้นหรือไม่

หากคุณต้องการวิธีการแก้ปัญหาที่ถาวรมากขึ้นคุณสามารถตั้งค่าaliasสำหรับคำสั่งที่แสดงด้านบนโดยเพิ่มสิ่งต่อไปนี้ใน.bashrc:

alias emacs='emacs -mm'

2
ข้อดีอีกอย่างของโซลูชันนี้คือ emacs เริ่มขยายให้ใหญ่สุดแล้ว การแก้ไขปัญหาเบื้องต้นของไฟล์ทำให้มันเปลี่ยนเป็นการขยายให้ใหญ่สุดในระหว่างการเริ่มต้นซึ่งน่ารำคาญ
และ

1
หากต้องการเพิ่มคำตอบนี้: emacs -fsเริ่มต้น Emacs ขยายให้เต็มหน้าจอหรือขยายให้ใหญ่สุดสูงสุด
Teemu Leisti

6

ในการเริ่มต้นให้ Emacs ขยายใหญ่สุดให้เพิ่มไฟล์ init ของคุณ:

;; Start maximised (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-maximized t)

ในกรณีที่คุณต้องการจะแสดงแบบเต็มหน้าจอหรืออย่างที่พวกเขาพูดตอนนี้โหมดที่ปราศจากสิ่งรบกวน :

;; Start fullscreen (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-fullscreen t)

หมายเหตุ : สิ่งนี้ใช้ได้ใน Windows เช่นกัน


1

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

(when (eq system-type 'gnu/linux)
  (defun x11-maximize-frame ()
    "Maximize the current frame (to full screen)"
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
  (run-with-idle-timer 0.01 nil 'x11-maximize-frame)
  )

(when (eq system-type 'windows-nt)
  (w32-send-sys-command 61488)
)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.