新的玩具:Windows上的awesome
平铺式窗口管理器
基于xwindow(Linux/Unix采用的图形系统)有成千上百种窗口管理器。其中有一类窗口管理器很古怪,所有应用程序的窗口没有互相遮挡,而是平铺到屏幕上,这类窗口管理器叫 平铺式窗口管理器。
比如我一直在用的 Musca,就是一个手动平铺的窗口管理器。
另外,awesome是Xwindows上中很受欢迎的动态平铺窗口管理器。其界面见下图。

左上角是一个打开的PDF文档,左下角是火狐浏览器,右边是vim编辑器。
三个应用程序互不遮挡,但把屏幕的所有空间都利用了。不禁让人想起麦肯锡的 MECE 原则,既互相独立,又完全穷尽。
Awesome不支持手动平铺,但Awesome有丰富的布局,多个虚拟桌面加不同布局也足够满足要求。
今天要介绍的主角 bug.n ,就是在windows上平铺窗口的软件,使用体验和awesome很像。
bug.n
我在 github 上搜索 tiling window manager for windows ,发现了 bug.n.
把程序打包下载下来,双击bugn.exe,就进入了平铺窗口的模式。
先看一下我的窗口截图:

值得一提的是,窗口顶端还有一个banner,显示的信息包括:
- 虚拟桌面列表
- 当前虚拟桌面使用什么布局
- 活动窗口的标题
- 日期时间
- 如果是笔记本,还会显示电池状态
- 通过配置还可以监视CPU,内存的利用率以及网卡工作负载等。
这个banner使得bug.n更像是awesome.
和Xwindow上的窗口管理器类似,bug.n支持虚拟桌面。Windows系统只有一个桌面,但通过bug.n可以虚拟出很多桌面。如果你正在一个桌面上玩游戏或看碟,看到老板来了,你可以迅速切换到早就准备好的工作桌面。老板在任务栏上不会发现任何你娱乐过的蛛丝马迹。
通过按窗口键加数字,可以切换到第n个桌面。用鼠标直接点击banner上的虚拟桌面按钮也可以。另外用鼠标右键点击某个虚拟桌面,会把当前的活动窗口送到那个虚拟桌面去。
每个桌面支持三种布局模式:
- 平铺模式(tiling): 所有窗口平铺,左边是主窗口,右边是窗口队列。按 Win+t 可以切换到tiling模式。
- 浮动模式(floating): 所有窗口浮动,可以互相遮盖,就是我们平常用的模式。按 win+f可以切换到floating模式。
- 全屏模式(monocle): 所有窗口最大化,一次只显示一个。按 Win+m 可以切换到 monocle 模式。
用鼠标右键点击banner上的布局按钮可以在这三种布局间切换。
通过窗口键加方向键可以调整主窗口大小和改变窗口队列,自己试试就知道。如果你觉得受不了了,按 Win + Control + q,可以退出bug.n。
bug.n 和同类的windows上的tiling wm相比,就是文档很全。
刚才我们下载的软件包中有个 doc 目录,里面包括了全部markdown格式的文档。可以看到默认的配置,默认的快捷键,也有文档告诉你如何进行自己的配置。
我在win7上用bug.n,自己的配置写在 C:\Users\Administrator\AppData\Roaming\bug.n\Config.ini 中。
我顺便在这里把我的配置备份一下。
Config_fontsize=12
Config_readinCpu=1
Config_readinMemoryUsage=1
Config_readinInterval=10000
Config_selBorderColor=0x000000ff
Config_viewNames=Writing;Painting;Other
Config_layoutMFactor=0.55
Config_maintenanceInterval=300000
Config_hotkey=!BackSpace::
Config_backColor_#1=333333;;<COLOR_MENU>;;;;;;;;
Config_rule=WebChat*;.*;;1;0;0;0;0;0;
这对技术人员来说,是个很不错的工具。欢迎试用交流。
2015-03-03 周二
新的玩具:Windows上的awesome的更多相关文章
- 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件
[源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...
- 新公司,环境搭建,windows上的坑
1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...
- Windows 上安装 Jekyll.
Jekyll是一个静态网站生成工具.它允许用户使用HTML.Markdown或Textile来建立静态页面,然后通过模板引擎Liquid(Liquid Templating Engine)来运行. 原 ...
- 在windows上安装ASP.NET 5(译文)
本文将介绍如何在windows上安装ASP.NET5,包括单独安装和通过Visual Studio 2015 安装. 本文包括: 通过Visual Studio安装ASP.NET 单独安装ASP.NE ...
- 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息. 1 安装 你必须安装开发者预览版本,才能使 ...
- Windows上管理远程Linux VPS/服务器文件工具 - winscp
Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...
- MongoDB 3.2 在windows上的安装
翻译自 https://docs.mongodb.org/master/tutorial/install-mongodb-on-windows/ 在windows上安装 MongoDB 平台支持:从M ...
- (转)如何在Windows上安装多个MySQL
原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...
- WAMP Server助你在Windows上快速搭建PHP集成环境
WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分 ...
随机推荐
- jmeter body 中文显示为乱码解决
这种情况在jmeter3.0的版本中才会产生,注意:这不是乱码,而是由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字的显示.这样的情况可以这样调整:进入jmeter. ...
- Oracle中SYS_CONNECT_BY_PATH函数的妙用 ;
Oracle 中SYS_CONNECT_BY_PATH函数是非常重要的函数,下面就为您介绍一个使用SYS_CONNECT_BY_PATH函数的例子,实例如下: 数据准备: ),b )); ', 'A' ...
- 数组 javaScript权威指南笔记
创建数组 var a=[1,2,3,4] var arr=new Array() var arr=new Array(10);//创建长度为10的数组 var arr=new Array(1,2, ...
- HTML标签参考手册
按字母顺序排列 New : HTML5 中的新标签. 标签 描述 <!--...--> 定义注释. <!DOCTYPE> 定义文档类型. <a> 定义锚. < ...
- Mysql 的InnoDB事务方面的 多版本并发控制如何实现 MVCC
Mysql的MVCC不能解决幻读的问题,但是Mysql还有间隙锁功能,Mysql的间隙锁工作在Repeatable Read隔离级别下面,可以防止幻读, 参考:Mysql 间隙锁原理,以及Repeat ...
- 先验算法(Apriori algorithm) - 机器学习算法
Apriori is an algorithm for frequent item set mining and association rule learning over transactiona ...
- linq 左连接实现两个集合的合并
//第一个集合为所有的数据 var specilist = new List<Me.SpecificationsInfo>(); var resultall = (from a in db ...
- 删除XML文件中的空格
应要求需要删除xml文件中的空格,制表符等字符.要求双引号和xml的text属性中包含的空格不删除. bool delSpace(QFile &file, QString path) //删除 ...
- easyui动态生成双列头
实习时老大交给任务,让我做这样一个效果,选择日期并点击查询时,动态生成列头,下一列要求对应日期的星期. 效果图: 下面贴出查询的单击函数: //查询按钮 function queryByDate(){ ...
- 前端学习 -- 内联框架iframe
内联框架iframe 可以向一个页面中引入其他的外部页面 内联框架中的内容不会被搜索引擎所检索,所以开发中尽量不要使用内联框架 <iframe></iframe> 属性: sr ...