Home
 
用来玩耍的桌面
 
前几天 RSS 里刷了两篇关于 Linux 桌面的博文, 让人很感兴趣
我英语不够, 没细看, 兼容性之类问题我还不知怎样去看待
"How Apple Killed the Linux Desktop and Why That Doesn’t Matter"
www.wired.com/wiredenterprise/2012/08/osx-killed-linux/
"What Killed the Linux Desktop"
tirania.org/blog/archive/2012/Aug-29.html
冲桌面这个重要的话题, 我还是有相当的吐槽的欲望的
而且 GNOME 的桌面经过那么多时间也慢慢快自己做发行版了
"A bright future for GNOME"
www.slideshare.net/juanjosanchezpenas/brightfuture-gnome
随着 Firefox 工具的更新, 浏览器使用命令行也有了进步
hacks.mozilla.org/2012/08/new-firefox-command-line-helps-you-develop-faster/
随着 Wayland 临近, 真的能有很多很多的遐想
 
此前我像不满编程语言那样去探索和试想自己实现一个好用桌面, 也是失败的
现在能回想起当时很多还不错的想法, 索性现在也理一遍, 当时的笔记
learning-notes.diandian.com/post/2012-03-18/14488613
笔记里很多例子和 Firefox Ubiquity 呈现的理念是一致的
就是给界面增加一个终端接收命令行的输入, 然后和图形界面进行交互
addons.mozilla.org/en-US/firefox/addon/mozilla-labs-ubiquity/
lifehacker.com/5145709/make-ubiquity-your-ultimate-firefox-commander
相对于 TermKit 终端当中的图形, 调用外部数据的图形效果更丰富
 
我的观点, 对设计师和程序员而言, 桌面不是好用的组件就完了的
因为具备操作代码的能力, 系统的 API 能成为非常有用的工具
同时由于代码是开放的, 就有必要是正在用桌面的人往 repo 贡献代码
或者进一步说, 桌面就像是应用的开发, 像 Node 分开成为各种模块
然后模块可以看代码自己 folk, 自己处理依赖, 而不臃肿的依赖
就像应用程序开发者能 require 模块添加组装工具一样, 桌面必须可以
 
浏览器的成功让我觉得很多手法其实可以参照网页而进行创造
比如传统的平铺窗口管理用 CSS 的布局和浮动进行定位
窗口位置的操作用 JS 操作 DOM 类似的手法去修改样式和属性
另外让桌面能直接打开其他主机上的数据形成可操作的界面
再者是画布和背景之类的定义以及配置, 用接口快速更改程序
对我而言需要的接口清晰的机制, 而不是界面做出清晰的功能
还有是像 socket.io 这样快速连接来自不同客户的网页进行通信的机制
我想现在通过网页想做, 但限于接口而无法完成的, 通过桌面不要再难以实现吧
 
Linux 环境惯于多个桌面, 但类比浏览器多个标签, 多个环境也是需要的吧
在一个桌面里调试另一个桌面总是需要的, 否则难以应对调试出错
再为了平铺足够多来源不同的页面需要尺寸超出屏幕的桌布
那么, 常用的工具只要罗列在桌面, 不使用时也不必去关闭了, 等待刷新即可
而我最天真的想法还是希望组件能拖出, 之前有博文描述过了
 
但想来要做一款桌面不会是轻松的, 也不现实, 也没有足够好的社区
Linux 平台几款桌面慢慢都成了吐槽的对象, 其难度可想而知
好在 GNOME3 已经采取扩展的方式了, 期待情形渐渐转好
我弄不清是否浏览器有一天会真的成为桌面, 就像 FirefxOS 那样
那样也好, 至少浏览器裸露的 API 其实对玩代码的人们来说非常之便利
如果桌面有原生的调用 API 和连接其他主机的程序的能力, 操作就能更简便
我先在恐怕只能这样想象一个可能的未来, 它远未来到
而同时占大多数的普通用户应该不会有兴趣, 就像他们对浏览器没兴趣
 
好了, 那最后, 假设成了, 桌面上有个命令行界面, 有图形
然后可以写代码来操纵桌面, 就这样:
 
set a get-selection!
print translate en-2-cn a
 
set b get-weather (me read location)
print b summary
 
set friend net conect 192.168.1.116
set path /home/chen/pics/
send friend picture-from-file (+ path movie-screenshot.png)
set c picture-search path
send friend c
print status-of friend
 
friend event-on * msg-x
notification show msg-x small
notification pop (call gtalk (friend gtalk))
comments powered by Disqus