平铺式窗口管理器

基于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的更多相关文章

  1. 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件

    [源码下载] 重新想象 Windows 8.1 Store Apps (89) - 通信的新特性: 下载数据, 上传数据, 上传文件 作者:webabcd 介绍重新想象 Windows 8.1 Sto ...

  2. 新公司,环境搭建,windows上的坑

    1 在windows上安装nodejs环境,node -v 后可以看到版本号 2 在windows上安装nvm管理node的版本,可以对node版本自由切换,使用5.3.0版本的node 3 在win ...

  3. Windows 上安装 Jekyll.

    Jekyll是一个静态网站生成工具.它允许用户使用HTML.Markdown或Textile来建立静态页面,然后通过模板引擎Liquid(Liquid Templating Engine)来运行. 原 ...

  4. 在windows上安装ASP.NET 5(译文)

    本文将介绍如何在windows上安装ASP.NET5,包括单独安装和通过Visual Studio 2015 安装. 本文包括: 通过Visual Studio安装ASP.NET 单独安装ASP.NE ...

  5. 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!

    今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息. 1 安装 你必须安装开发者预览版本,才能使 ...

  6. Windows上管理远程Linux VPS/服务器文件工具 - winscp

    Linux上经常会经常需要编辑文件,特别是Linux VPS/服务器安装好系统之后配置环境会需要修改很多的配置文件等,对于常用Linux的基本上都能够熟练使用vi或者nano等SSH下面的文件编辑工具 ...

  7. MongoDB 3.2 在windows上的安装

    翻译自 https://docs.mongodb.org/master/tutorial/install-mongodb-on-windows/ 在windows上安装 MongoDB 平台支持:从M ...

  8. (转)如何在Windows上安装多个MySQL

    原文:http://www.blogjava.net/hongjunli/archive/2009/03/01/257216.html 如何在Windows上安装多个MySQL 本文以免安装版的mys ...

  9. WAMP Server助你在Windows上快速搭建PHP集成环境

    WAMP Server助你在Windows上快速搭建PHP集成环境 原文地址 我想只要爬过几天网的同学都会知道PHP吧,异次元的新版本就是基于PHP的WordPress程序制造出来的,还有国内绝大部分 ...

随机推荐

  1. jmeter body 中文显示为乱码解决

    这种情况在jmeter3.0的版本中才会产生,注意:这不是乱码,而是由于3.0中优化body data后,使用默认的字体(Consolas)不支持汉字的显示.这样的情况可以这样调整:进入jmeter. ...

  2. Oracle中SYS_CONNECT_BY_PATH函数的妙用 ;

    Oracle 中SYS_CONNECT_BY_PATH函数是非常重要的函数,下面就为您介绍一个使用SYS_CONNECT_BY_PATH函数的例子,实例如下: 数据准备: ),b )); ', 'A' ...

  3. 数组 javaScript权威指南笔记

    创建数组 var a=[1,2,3,4] var arr=new Array() var arr=new Array(10);//创建长度为10的数组   var arr=new Array(1,2, ...

  4. HTML标签参考手册

    按字母顺序排列 New : HTML5 中的新标签. 标签 描述 <!--...--> 定义注释. <!DOCTYPE>  定义文档类型. <a> 定义锚. < ...

  5. Mysql 的InnoDB事务方面的 多版本并发控制如何实现 MVCC

    Mysql的MVCC不能解决幻读的问题,但是Mysql还有间隙锁功能,Mysql的间隙锁工作在Repeatable Read隔离级别下面,可以防止幻读, 参考:Mysql 间隙锁原理,以及Repeat ...

  6. 先验算法(Apriori algorithm) - 机器学习算法

    Apriori is an algorithm for frequent item set mining and association rule learning over transactiona ...

  7. linq 左连接实现两个集合的合并

    //第一个集合为所有的数据 var specilist = new List<Me.SpecificationsInfo>(); var resultall = (from a in db ...

  8. 删除XML文件中的空格

    应要求需要删除xml文件中的空格,制表符等字符.要求双引号和xml的text属性中包含的空格不删除. bool delSpace(QFile &file, QString path) //删除 ...

  9. easyui动态生成双列头

    实习时老大交给任务,让我做这样一个效果,选择日期并点击查询时,动态生成列头,下一列要求对应日期的星期. 效果图: 下面贴出查询的单击函数: //查询按钮 function queryByDate(){ ...

  10. 前端学习 -- 内联框架iframe

    内联框架iframe 可以向一个页面中引入其他的外部页面 内联框架中的内容不会被搜索引擎所检索,所以开发中尽量不要使用内联框架 <iframe></iframe> 属性: sr ...