2014-03-03 46 views
0

使用emacs -nw我想製作掛鉤,以便某些模式(用於撰寫散文)給我一個狹窄的居中框架。這在emacs中掛鉤框架模式

(set-frame-width (selected-frame) 100) 

...設置一個較窄的框架,但對齊到左側。

我該如何居中? 當我切換模式時,如何設置更改框架的掛鉤?

+0

也許[writeroom-mode](http://melpa.milkbox.net/#/writeroom-mode)做了你想要的東西。 – legoscia

+0

這是一個使用特殊主模式鉤子的示例,它將幀位置設置在左上角。你可以使用x軸座標的兩個數字來玩,直到你得到你想要的。如果你有不同的分辨率,並且你正在尋找Emacs來計算屏幕分辨率,然後根據它的大小確定幀的中心位置,那麼這是可能的,但需要寫入。 (設置幀高度(選擇幀)20)(設置幀寬度(選擇幀)80)(設置幀位置(選擇幀)幀)0 0)))' – lawlist

+0

關於計算屏幕分辨率和幀位置,請看看@Drew編寫的兩個相關庫。他們可以確定屏幕分辨率並據此設置幀位置。我確信有些東西可以修改以適應您的需求 - 特別是有三種瓷磚框架功能,看起來它們將成爲您開始的好地方。 http://www.emacswiki.org/emacs/frame-fns.el和http://www.emacswiki.org/emacs/frame-cmds.el – lawlist

回答

0

嘗試使用掛鉤after-make-frame-functionsafter-change-major-mode-hook

(說不上有多少,這些將有助於emacs -nw,雖然)。

0

下面的鏈接繼續通過@ieure寫在Github上一個要點似乎解決問題爲中心:

https://gist.github.com/ieure/80638


參見下列兩(2)通過寫入@Drew庫:

http://emacswiki.org/emacs/frame-fns.el

http://emacswiki.org/emacs/frame-cmds.el


下面是幾個例子。在1920 x 1080像素的屏幕上,我的最大frame-height爲52,我的最大值frame-width爲172.下面的函數名爲minimize會更改所有打開的幀的大小,並將縮小的幀放在屏幕的左側,因爲我喜歡在我查看另一個應用程序時在Emacs中輸入筆記 - 例如Adobe Acrobat。

當使用set-frame-position時,數字是從屏幕左上角開始的x和y座標。例如,具有(set-frame-position (selected-frame) 300 300)的幀將位於(set-frame-position (selected-frame) 0 0)的另一幀的右下方。

(add-hook 'text-mode-hook (lambda() 
    (set-frame-height (selected-frame) 20) 
    (set-frame-width (selected-frame) 80) 
    (set-frame-position (selected-frame) 400 400))) 

(defun minimize() 
(interactive) 
    (dolist (frame (frame-list)) 
    (set-frame-height frame 52) 
    (set-frame-width frame 50) 
    (set-frame-position frame 0 0))) 

(defun maximize() 
(interactive) 
    (dolist (frame (frame-list)) 
    (set-frame-height frame 52) 
    (set-frame-width frame 172) 
    (set-frame-position frame 0 0))) 
+0

當我回家時會嘗試。我最後嘗試的問題是'(set-frame-position frame 400 400)))'在emacs -nw中沒有生效(我在no-X機器上使用emacs)... – MajorBriggs

+0

Checked出來的要點,但沒有找到一種方法來使調整大小的框架,但左對齊... – MajorBriggs