設定EMACS 23 在啟動時候自動最大化

2021-06-26 09:31:00 字數 1094 閱讀 1381

在windows xp下面,看了網上的一些帖子,自己也試了一下,發現下面的方法比較好用:

直接在啟動檔案(.emacs 或者 site-start.el)的最下面增加一條語句:

(run-with-idle-timer 1 nil 'w32-send-sys-command 61488)

其中函式 (w32-send-sys-command 61488) 是向當前emacs的視窗傳送最大化的命令,這個函式本身沒有問題,可以實現當前emacs視窗最大化的功能,但是如果在啟動檔案裡面直接呼叫這個函式,在啟動的時候執行的其他程式(譬如cedet, ecb)會把最大化的視窗又修改回來,我的情況就是如此,每次執行emacs總是看到在啟動的過程視窗被最大化,但是到最後又變回來了。沒有辦法,去elisp裡面找了一下,發現這麼乙個函式:run-with-idle-timer, 這個函式的功能是等 emacs 閒下來的時候在執行某乙個函式,原型如下:

-- command: run-with-idle-timer secs repeat function &rest args

第乙個引數是空閒多長時間之後呼叫指定的函式,第二個引數是否重複呼叫,一般設為 t 或者 nil,t 意味著每隔一段時間重複呼叫指定的函式,nil 表示只呼叫一次;第三個引數是函式的名稱,後面的引數是被呼叫函式自己的引數,上面的語句的意思就是:

等emacs啟動全部完成之後,空閒1秒之後呼叫 (w32-send-sys-command 61488)一次。這樣,就不存在上面的提到的最大化之後又視窗大小又被其他**改變的問題。

在 linux ,ubuntu,以及使用 x server 的系統,使用下面的方式最大化視窗:

(defun my-max-window()

(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 1 nil 'my-max-window)

SpringBoot專案啟動時自動在瀏覽器開啟

springboot有自帶的監聽任務,只需實現對應的介面,呼叫cmd啟動瀏覽器即可 配置檔案如下 package com.qin.mybatispluslearn.config import org.springframework.beans.factory.annotation.value imp...

取消MyEclipse在啟動時自動驗證專案配置檔案

預設情況下myeclipse在啟動的時候會自動驗證每個專案的配置檔案,這是乙個非常耗時的過程,可以在preferences視窗依次選擇myeclipse validation,然後在右側的validator列表中只保留manual 項就可以了。如果需要驗證的時候只需要選中檔案,然後右鍵選擇myecl...

vim編輯器環境設定 vim啟動時自動載入設定

vi在啟動時會自動載入當前使用者目錄下.vimrc檔案,可以在該檔案中設定啟動的環境配置。方法 在使用者家目錄下開啟.vimrc vi vimrc將下列所述的環境設定加入到該配置檔案中的最末尾處,儲存並退出。set tabstop 4 設定製表符tab的空格數 set shiftwidth 2 設定...