使用Devilspie 2在Ubuntu上编写脚本窗口操作

Devilspie2是在创建时检测窗口的程序,并对它们执行脚本操作。 这些脚本是用LUA编写的,允许大量的定制。 本教程将向您展示在Ubuntu 14.04上安装Devilspie 2,并向您介绍Devilspie脚本。

什么是LUA?

Lua是一款强大,快速,轻量级的嵌入式脚本语言。 Lua将简单的程序语法与基于关联数组和可扩展语义的强大的数据描述结构相结合。 Lua是动态类型的,通过解释基于注册的虚拟机的字节码来运行,并且具有自动内存管理,增量垃圾收集,使其成为配置,脚本和快速原型设计的理想选择。

欲了解更多信息,请访问: http//www.lua.org/

安装。

输入以下内容:

sudo apt-get install devilspie2

(确保它是devilspie2,因为devilspie有点混乱,不再在开发中。)

不幸的是,Devilspie 2中不支持原始Devils Pie的规则。

配置和脚本。

如果您不给devilspie2任何文件夹--folder,它将从〜/ .config / devilspie2 /文件夹读取LUA脚本,如果该文件夹不存在,将创建该文件夹。 该文件夹可以使用--folder选项更改。 如果devilspie2在文件夹中找不到任何LUA文件,它将停止执行。



以上是一些使用选项...

示例脚本。

the debug_print command does only print anything to stdout 
-- if devilspie2 is run using the --debug option

debug_print("Window Name: "..	get_window_name());
debug_print("Application name: "..get_application_name())

I want my Xfce4-terminal to the right on the second screen of my two-monitor 
setup,

if (get_window_name()=="Terminal") then
	-- x,y, xsize, ysize
	set_window_geometry(1600,300,900,700);
end

Make Iceweasel always start maximized.

if (get_application_name()=="Iceweasel") then
	maximize();
end

要了解有关脚本语言的更多信息,请访问以下内容:

See FAQ at

www.lua.org/FAQ.html 

Documentation at

www.lua.org/docs.html 

Tutorials at 

http://lua-users.org/wiki/TutorialDirectory
	

Sript命令。

get_window_name()
返回一个包含当前窗口名称的字符串。

get_application_name()
返回当前窗口的应用程序名称。

set_window_position(xpos,ypos)
设置窗口的位置。

set_window_size(xsize,ysize)
设置窗口的大小。

set_window_geometry(xpos,ypos,xsize ysize)
设置窗口的几何。

make_always_on_top()
将窗口设置在顶部标志上。

set_on_top()
在其他的顶部设置一个窗口(但是这不会将窗口锁定在此位置)。

debug_print()
调试帮助器打印一个字符串到stdout。 只有使用--debug选项运行devilspie2时才打印。

阴影()
“阴影”一个窗口,只显示标题栏。

unshade()
遮盖窗户 - 与“阴影”相反

最大化()
最大化窗口

unmaximize()
取消最大化窗口

maximize_vertically()
垂直最大化当前窗口。

maxim_horisontally()
最大限度地提高当前的窗口。

最小化()
最小化窗口

unminimize()
将窗口最小化,将其从最小化的位置/大小恢复到屏幕。

decorate_window()
显示所有窗口装饰。

undecorate_window()
删除所有窗口装饰。

set_window_workspace(number)
将窗口移动到另一个工作区。 数字变量开始计数在1。

change_workspace(number)
将当前工作区更改为另一个。 数字变量开始计数在1。

pin_window()
请求窗口管理器将窗口放在所有工作区上。

unpin_window()
要求窗口管理器将窗口放在当前活动的工作区中。

stick_window()
要求窗口管理器将窗口的位置固定在屏幕上,即使工作区或视口滚动。

unsick_window()
当工作区或视口滚动时,请求窗口管理器不要将窗口的位置固定在屏幕上。

这将是使用devilspie2的教程的结尾。

链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏