设置EMACS 23 在启动时候自动最大化
2014-10-17 13:57
92 查看
原文地址:http://zhaojunde1976.blog.163.com/blog/static/121998668201041131130734/
在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)
在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)
相关文章推荐
- Android设置开机的时候某一个程序自动启动实例
- Emacs-104-spacemacs启动时候窗口最大化
- gvim启动的时候窗口自动最大化
- Emacs-041-Emacs启动时候窗口最大化
- 创建社区的时候不自动初始化公有页的设置
- 在Linux中设置系统启动和关闭时自动启动和关闭Oracle
- 让一个脚本自动定时运行,设置、启动 linux定时脚本 (crontab详解)
- 在weblogic中设置启动时自动定时执行的任务(转)
- 设置Windows Vista系统启动时自动登录
- 在linux下设置开机自动启动程序的方法(一)
- Debian中设置scim开机自动启动
- windows启动缓慢的原因之一:网卡设置为自动获取IP
- 在linux下设置开机自动启动程序的方法
- linux下设置自动启动
- 窗体下一次启动自动设置关闭前的位置和大小。很好
- matlab开机自动启动的设置
- linux下如何在开启机器的时候自动启动数据库
- 设置系统启动时程序自动运行
- 重启系统的时候自动启动oracle服务
- JBuilder运行编译的时候将src目录下的*.xml自动拷贝到classes目录下的设置