มีวิธีเพิ่มหน้าต่างของฉันให้ใหญ่ที่สุดเมื่อเปิดเครื่องไหม?
ขณะนี้ฉันกดControl+ + Upบนแป้นพิมพ์ของฉัน แต่มันก็น่ารำคาญมากที่จะทำเช่นนั้นทุกครั้ง
ฉันใช้ Emacs 24.4 บน Ubuntu 12.04
<kbd>![Windows Key][oldwinlogo]</kbd>
ใดไม่ได้ผลสำหรับฉัน :-(
มีวิธีเพิ่มหน้าต่างของฉันให้ใหญ่ที่สุดเมื่อเปิดเครื่องไหม?
ขณะนี้ฉันกดControl+ + Upบนแป้นพิมพ์ของฉัน แต่มันก็น่ารำคาญมากที่จะทำเช่นนั้นทุกครั้ง
ฉันใช้ Emacs 24.4 บน Ubuntu 12.04
<kbd>![Windows Key][oldwinlogo]</kbd>
ใดไม่ได้ผลสำหรับฉัน :-(
คำตอบ:
ฉันมีวิธีอื่นซึ่งฉันได้ทดสอบด้วย Emacs 24.3 และ 24.4 รวมถึงทั้งบน Windows และ GNU / Linux ฉันวางสิ่งต่อไปนี้ในไฟล์ init ของฉัน :
(add-to-list 'default-frame-alist '(fullscreen . maximized))
ฉันเชื่อว่าสิ่งนี้ได้รับการแก้ไขเล็กน้อยจากคำตอบ StackOverflow ที่ฉันพบเมื่อไม่นานมานี้ แต่ฉันไม่สามารถหามันได้อีกในขณะนี้
แก้ไข:โบนัสอีกวิธีหนึ่งของวิธีนี้ก็คือมันใช้กับลูกค้าใหม่ที่เชื่อมต่อกับเซิร์ฟเวอร์ Emacs ของคุณ (เช่นemacsclient -c
)
emacsclient
แต่มีบางเฟรมที่เริ่มขยายให้ใหญ่สุดจะป้องกันการใช้อย่างถูกต้องเช่นแผงควบคุม ediffมีวิธีแก้ปัญหานี้หรือไม่
ปรับ...-frame-alist
ในไฟล์ init ของคุณเพื่อบอก Emacs วิธีเพิ่มเฟรมให้ใหญ่สุด นอกจากนี้คุณยังมีหลายตัวเลือกสำหรับวิธีเพิ่มขนาด
alist
ตัวเลือกคุณมีสอง...-frame-alist
ทางเลือก:
default-frame-alist
(เหมือนในคำตอบ @Scott Weldon)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))
initial-frame-alist
มีประโยชน์มากกว่าdefault-frame-alist
เมื่อใช้เครื่องมือเช่น ediff
บน Emacs 24.4 (toggle-frame-maximized)
สลับสถานะที่ขยายใหญ่สุดของเฟรมปัจจุบัน
ดูเพิ่มเติมได้ที่Maximize Emacs เมื่อมีคำถามเกี่ยวกับ stackoverflow และหน้าเต็มหน้าจอใน EmacsWiki
@ คำตอบของคอนสแตนตินนั้นครอบคลุมถึงวิธีการนี้สามารถทำได้โดยการแก้ไขไฟล์ init ของคุณ (ถ้าคุณใช้ Emacs 24.4)
หากคุณเริ่ม Emacs จากบรรทัดคำสั่งจากเส้นประหรือจากตัวเรียกใช้งานเช่นSynapseหรือkrunnerคุณสามารถระบุ-mm
ตัวเลือก (ย่อมาจาก--maximized
) เพื่อให้ได้ผลลัพธ์เดียวกัน:
emacs -mm
-mm
ตัวเลือกเป็นครั้งแรกที่นำมาใช้ใน Emacs 23.2เพื่อแก้ปัญหานี้ไม่ได้ จำกัด อยู่ที่การเปิดตัวล่าสุดที่มีเสถียรภาพ
สิ่งที่แตกต่างจากวิธีการแก้ปัญหานี้จากคำแนะนำอื่น ๆ ที่โพสต์ไว้ที่นี่ (ทั้งหมดนั้นยอดเยี่ยม) คือมันช่วยให้คุณตัดสินใจได้เป็นกรณี ๆ ไปไม่ว่าคุณต้องการให้เฟรม Emacs ขยายใหญ่สุดเมื่อเริ่มต้นหรือไม่
หากคุณต้องการวิธีการแก้ปัญหาที่ถาวรมากขึ้นคุณสามารถตั้งค่าalias
สำหรับคำสั่งที่แสดงด้านบนโดยเพิ่มสิ่งต่อไปนี้ใน.bashrc
:
alias emacs='emacs -mm'
emacs -fs
เริ่มต้น Emacs ขยายให้เต็มหน้าจอหรือขยายให้ใหญ่สุดสูงสุด
ในการเริ่มต้นให้ 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 เช่นกัน
ฉันใช้สิ่งต่อไปนี้:
(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)
)