Ion2入门指导
Ion是一个有趣的而且非主流(different)的Unix窗口管理器。它实现了一些比其他WM更加适合于人类操作的功能。
尽管Ion被设计于主要使用键盘而很少使用鼠标,但是我还是会开始于混合使用他们。高级用户可能更喜欢使用键盘来完成大部分工作。
我首先假设你可以使用apt-get或者其他方式将Ion安装上。使用Ion登入到X,你会发现一个很大的、空的屏幕。
你在这个屏幕中就可以使用Function键完成很多工作了。F1启动man帮助、F2启动xterm、F3用于启动其他应用程序(你也可以在命令行中启动其他程序)。如果你希望使用F3启动一个非GUI程序,使用":programname",这回打开一个xterm来做这个程序的容器。而F4是启动SSH会话。
在你打开多个窗口后,你会发现他们占满了整个屏幕。有三种方式存取其他窗口:
- 点击他们的标题栏
- 按下 "Mod1+K P" 或 "Mod1+K N" (向前和向后)
- 按下 "Mod1+K n" 立即跳转到nth窗口(?)
将窗口放到其他窗口后面叫做"tabbing"-犹如流行的FireFox浏览器那样。而在Ion中,我们把它叫做共享同一框架(frame)的窗口(window)。你可以移动当前框架,使用
"Mod1+K" 。
现在将这么多窗口放在屏幕上并不是很有效的工作方式。一个提高效率的方式是使用 "Mod1+S" 将框架分隔为两个,或者 "Mod1+K S"
。这项技术叫做平铺(tiling)。你可以将分隔的框架使用 "Mod1+K X"
组合到一个,两个小点的框架会被添加到一个结果框架中。在框架之间切换可以使用鼠标或者 "Mod1+N" 或 "Mod1+P"(垂直),或 "Mod1+Tab" 或
"Mod1+K Tab" (水平)。
你可以通过拖拽窗口的标题条将其在各个框架之间移动。框架可以通过拖放边框的方式改变大小。键盘用户一般使用 "Mod1+R" 然后到 "resize
mode" 。
有如其他窗口管理器,Ion有工作区的支持。使用F9开启一个新的工作区。Ion随后会问你工作区的类型,这里选择默认的。使用 "Mod1+Left" 、
"Mod1+Right" 和 "Mod1+n"(n=1..9) 用于在各个工作区之间移动。
你可以使用"tagging"来在各个工作区之间移动窗口,使用 "Mod1+T" ,然后添加到另外一个使用 "Mod1+K A" 。
如果你记得, "Mod1+Left" 和 "Mod1+Right" 用于切换前后工作区。我个人习惯于使用 "Mod1+n"
,而使用左侧Alt作为FireFox的"back"。
当然,这是可能的,你可以将其绑定为nil:
global_bindings {
kpress(DEFAULT_MOD.."Left", nil),
kpress(DEFAULT_MOD.."Right", nil),
}
ion2很聪明的可以记住你的工作习惯。我有个小的框架用来方gaim,而且我喜欢默认让gaim在那里启动,而不是跟着光标。这可以用 ion.lua
中的
winprop
指令实现。工作方式:每个X窗口都有"class"名和"instance"名。我查找到gaim的这个值通过 "xprop
WM_CLASS" ,然后点击运行的Gaim窗口。返回得到
"WM_CLASS(STRING)="gaim"","Gaim"。这里"gaim"是实例名,而"Gaim"是类。现在我给一个小框架叫做"gaimframe",通过按下"Mod1+F3",然后执行"querylib.query_renameframe(_)"。这会问我一个名字,然后我提供了一个,然后再将如下内容加入
ion.lua
winprop {
class="Gaim",
instance="gaim",
target="gaimframe",
}
这告诉ion2把拥有类名为"Gaim",实例名为"gaim"的所有窗口都拿到"gaimframe"窗口打开。
有如前段所讲,我们可以把所有gaim在一个框架中打开。现在我需要在启动时就在特定框架内自动载入一些xterm。
使用前面提到的winprop技术,我们可以在特定框架启动所有xterm。幸运的是xterm支持在命令行指定实例名和类名。我只需要简单的使用"xterm
-name foo"或"xterm -class bar",然后像前面一样指定他们的框架即可。
因为有太多的应用需要设置快捷键,所以干脆用一个F7提供一个快速启动菜单。可以直接从F12的代码中搞过来:
global_bindings {
kpress(SECOND_MOD .. "F7", make_bigmenu_fn("launchmenu")),
}
然后创建菜单,有如主菜单的F12,在 /etc/X11/ion2/ion-menus.lua
defmenu("launchmenu",{
menuentry("Mozilla Firefox",make_exec_fn("mozilla-firefox")),
})
分享到:
相关推荐
ION2016GNSS论文集,省去你求文献时间。由于上传限制分三次上传,此压缩包为第二部分
赠送jar包:ion-java-1.0.2.jar; 赠送原API文档:ion-java-1.0.2-javadoc.jar; 赠送源代码:ion-java-1.0.2-sources.jar; 赠送Maven依赖信息文件:ion-java-1.0.2.pom; 包含翻译后的API文档:ion-java-1.0.2-...
Ion
ion_auth ion_auth数据库代码
Angular-ion-digit-keyboard-v2.zip,一个用于离子2应用的数字键盘插件。离子2数字键盘,Angularjs于2016年发布,是Angularjs的重写版。它专注于良好的移动开发、模块化和改进的依赖注入。angular的设计目的是全面解决...
ion heap ion heap create for Linux v2.13.6.
ion:安卓异步网络和图片加载库 ion-2.1.6jar包
软件使用须知 1、 在WINDOWS操作系统下安装好ION Setup2.0软件。...2、 ION仪表上电,使用其RS232口、RS485口、以太网口等与计算机通信。 3、如无必要,请勿任意修改ION仪表的设置,否则会影响仪表的正常运行。
Ion Implantation and Synthesis of Materials (Springer Series in Materials Science) [Hardcover] Book Description Publication Date: September 25, 2006 | ISBN-10: 3540236740 | ISBN-13: 978-3540236740 | ...
离子源教程,英文教程,英文名:ion source physics and technology
ION7650用户使用手册,讲解详细,施耐德内部资料
赠送jar包:ion-java-1.0.2.jar 赠送原API文档:ion-java-1.0.2-javadoc.jar 赠送源代码:ion-java-1.0.2-sources.jar 包含翻译后的API文档:ion-java-1.0.2-javadoc-API文档-中文(简体)版.zip 对应Maven信息:...
COD21491.ION_R
ION 7300 Meter 型錄,包含通訊協定
2.ion-select有四种显示方式,四种添加图片的代码示列 3.通过这个实列,你会在ionic中灵活应用css样式;还会学到javaScript的一些知识(如:获取Dom节点、获取html元素、自定义html元素) 4.内附有详细的代码介绍...
ion2-calendar 一个可配置与可选择范围日期的ionic2日历组件
ION2016GNSS论文集,省去你求文献时间。由于上传限制分三次上传,此压缩包为第一部分
qcom的ION,SMMU实现流程,已经DTS文件对应关系。不知道怎么搞的把下载所需积分改小后,系统会自动把积分改回来,如果觉得积分太多就联系我吧
ION2016GNSS论文集,省去你求文献时间。由于上传限制分三次上传,此压缩包为第三部分