layout: post

title: 轻量级桌面WindowMaker上手指南

tags: x11, cygwin, raspi

最近工作上需要在远程Linux上运行一个桌面(我需要跑Netbeans, Firefox, Emacs和Seafile),但是MobaXterm自带的两个窗口管理器twm/dwm 都过于简陋了(而且我觉得都比较无趣); 另一方面一直觉得树莓派Raspbian自带的桌面也不好用,我想找个替代品,于是我又想起了以前玩过一阵的WindowMaker。

WindowMaker(常简称wmaker,因为它的主程序文件是这个名字)历史也很久,所以有些设计思想跟现在流行的window manager或者desktop environment差异比较大(从另一个角度说,现在流行的window manager都太雷同了,也就平铺式的有点新意),但正因为如此,它也可以给我们增加一点新奇感。

WindowMaker的设计是基于NeXTSTEP的,另外还有一个叫做GNUStep的项目也是试图克隆NeXTSTEP的(甚至编程语言也是Objective-C),它的目标定位是整个desktop environment(包含了文件管理器在、图片查看器、界面设计器等),并且选择了WindowMaker作为它的window manager(不过这个是用C语言开发的)。不过我不太喜欢GNUstep里面其它的组件,用起来都慢吞吞而且不稳定。

WindowMaker的几个优点:

  • 绝大部分设置(全局快捷键也可以!)可以通过自带的WPrefs程序即可设置,不必自己编辑配置文件,并且大多数是即时生效的;
  • 整体功能比较紧凑,不会需要很多额外的扩展包(是的,听说fvwm是有很强的可配置性,可我难得折腾)
  • Cygwin官方仓库有这个程序(在我这个场景里是挺重要的一点)
  • 而且,整体小巧、快捷,占用的内存少,所以很适合我的这两个场景(Cygwin和Raspbian)

当然,缺点也挺明显

  • appicon/miniwindows/dock/clip跟现在大家习惯的“任务栏”差别比较大,可能得适应一阵
  • 小部件不是太丰富(主要原因还的确在于wmaker比较古老,现在的人对它兴趣不太大了)

参考:

dock/clip是任务栏吗

首先说一下wmaker里面几个相关的概念:

  • appicon: 每个程序跑起来时,会在桌面底部显示一个图标,这个图标称为application icon,常简称appicon。程序关掉之后,对应的图标就消失了。我们可以拖动appicon到其它位置(比如随意移动,或者移动到dock或者clip上)
  • dock: 桌面最右边(缺省配置在右边)有一列图标,这列图标就叫做dock。appicon拖动到这一列时就会“停靠”在这里了,即使程序关掉也不会消失,并且重启WindowMaker它也还在,可以直接点击它来启动这个应用程序(当然,可以定制启动方法,还可以定制一个鼠标中键点击时执行的命令)——简单地说,dock比较类似于Windows 7里面固定在任务栏的程序 (详细说明: Window Maker - Dock )
  • clip: 桌面左上角还有一个回型针一样的图标,它的名字是clip,但跟“剪贴”没有什么关系,其实是工作区(workspace)切换器(点击两个小三角会切换到上一个/下一个工作区)。不过它还有一个作用:appicon可以停靠到它旁边,这样这个appicon对应的应用就只跟当前workspace绑定(当桌面切换到其它工作区时,这个应用的窗口就不会显示了) 关于clip的详细说明: Window Maker - Clip
  • miniwindow: 除了appicon之外,每个窗口最小化之后还有另外一个图标,这个被称为miniwindow

但这里面有些小问题:

但是多用一阵发现我不太习惯它的dock/clip设计,一方面它可以启动应用,另一方面它又有任务栏的作用(一个appicon停靠到dock后,原来的appicon就不显示了,双击它可以激活应用的主窗口),但只能针对已经dock/clip的应用,其它应用不在这里,而是在下面(appicon)。而且每个应用有两个图标,一个是appicon,另一个是最小化的图标,一般情况下双击dock图标可以激活应用程序窗口,但不能激活已经最小化的窗口。

基于这个问题,如果你要切换回某个程序的话,有时要点右边的dock,有时需要点击左上角的clip,有时要点击下方的appicon,很分裂。感觉要解决这个问题,得把dock栏和appicon栏放在同一排,但dock只能是竖着的 (appicon的位置和方向倒是可以在wprefs里面修改),同时将dock和appicon都放在右侧竖着的话,多开几个程序就没空间了。

网上也有人问能不能将dock搞成横着的,一个答复是变通地用0.95.5(Aug/2013)里面新增的抽屉(drawer)功能,但我试了一下发现,dock里面缺省那个按钮不能是drawer,也不能删除,得另外添加一个drawer按钮,这样至少需要两个按钮

X下轻量级桌面WindowMaker上手指南的更多相关文章

  1. (转第二方案)在 ASP.NET 環境下使用 Memcached 快速上手指南

    转自:http://blog.miniasp.com/post/2010/01/27/Memcached-for-ASPNET-Quick-Start-Guide.aspx 之前一直想研究 Memca ...

  2. Windows 8 系统完全上手指南 - 非常详尽的 Win8 系统入门学习手册与使用技巧专题教程!

    每次当有新版本的操作系统发布的时候,市面上总会冒出各种从入门到精通类的学习书籍,这次最新的 Windows 8 也不例外!不过,今天给大家送上免费的大礼——<Windows 8 完全上手指南&g ...

  3. Resharper上手指南

    原文http://www.cnblogs.com/renji/archive/2007/12/11/resharper.html Resharper上手指南 我是visual studio的忠实用户, ...

  4. Rancher 快速上手指南操作(1)

    Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubunt ...

  5. UnityShader快速上手指南(三)

    简介 这一篇还是一些基本的shader操作:裁剪.透明和法向量的应用 (纠结了很久写不写这些,因为代码很简单,主要是些概念上的东西) 先来看下大概的效果图:(从左到右依次是裁剪,透明,加了法向量的透明 ...

  6. NewLife.XCode 上手指南2018版(一)代码生成

    目录 NewLife.XCode 上手指南2018版(一)代码生成 NewLife.XCode 上手指南2018版(二)增 NewLife.XCode 上手指南2018版(三)查 NewLife.XC ...

  7. Gatsby上手指南 - 让你的静态网站用react来高逼格的写

    注意:Gatsby V2版本安装及使用问题请移步<Gastby V2安装过程中常见问题>,此文较旧,主要针对V1版Gatsby而介绍 前言 一直以来都是用之前比较流行的静态网站生成器Hex ...

  8. [转]Rancher 快速上手指南操作(1)

    本文转自:http://www.cppblog.com/zhiyewang/archive/2016/03/17/213053.aspx Rancher 快速上手指南操作(1)该指南知道用户如何快速的 ...

  9. 轻量级桌面 openbox + tint2 + conky + stalonetray + pcmanfm + xcompmgr

    openbox+tint2+pnmixer+conky=轻量级archlinux桌面环境设置备忘 缘起 机器上的Ubuntu 12.04有一段时间没有使用了,最近在用的时候发现频繁死机的情况,开始以为 ...

随机推荐

  1. 我的Win32开发抉择,Delphi老将复出

    这两天在开发公司的一个教学软件客户端,因为要考虑到给PHP.平面设计等班的同学使用,为了避免安装.Net Framework.JRE的麻烦(如果把.Net Framework.JRE打包到安装包,也会 ...

  2. 使用ODP.NET查询数据参数顺序问题及莫名ORA-01722错误提示

    最近由于项目需要,必须使用C#配合Oracle来进行开发,在开发的过程中,发现有些查询无法正确获取数据.例如: Select * From tabParam Where ParamCode = :Pa ...

  3. ASP.NET WEB API 中的路由调试与执行过程跟踪

    路由调试 RouteDebugger 是调试 ASP.NET MVC 路由的一个好的工具,在ASP.NET WEB API中相应的有 WebApiRouteDebugger ,Nuget安装 Inst ...

  4. OWIN规范中最让人费解的地方

    OWIN defines a standard interface between .NET web servers and web applications. OWIN最让人费解不是OWIN的五大角 ...

  5. Html5文件

    HTML5 file api 读取文件MD5码 http://www.zhuwenlong.com/blog/52d6769f93dcae3050000003

  6. Xaml/Xml 实现对象与存储分离

    刚开始用xml存储东西的时候都是不断的在xml文件里面添加或者修改xml的节点,这个是很常见的做法,这方面的博客也很多我也就不介绍了.但其实在小批量存储的时候我们可以直接将对象存进xml/xaml,使 ...

  7. 字符串匹配算法之SimHash算法

    SimHash算法 由于实验室和互联网基本没啥关系,也就从来没有关注过数据挖掘相关的东西.在实际工作中,第一次接触到匹配和聚类等工作,虽然用一些简单的匹配算法可以做小数据的聚类,但数据量达到一定的时候 ...

  8. [OpenCV] 4、图像叠加 addWeighted

    >_<" 这次主要是图像叠加的基本操作: >_<" cv::addWeighted(imageROI, 1.0, logo, 0.6, 0, imageRO ...

  9. paip.批处理清理java项目冗余jar的方法

    paip.批处理清理java项目冗余jar的方法 在myeclipse中开发的java项目遇到jar包冗余情况,如何删除项目中的冗余jar包啊?项目很大jar包一百多个. 2010-09-14 14: ...

  10. TableView didSelectRowAtIndexPath 不执行

    1.父类事件设置代理 UIGestureRecognizer *tapGesture  ... tapGesture.delegate = self; 2.覆盖方法 - (BOOL)gestureRe ...