我个人的窗口管理

讨论下我对窗口管理的看法。

首先吐嘈:为什么全局菜单不是个好设计?

考虑一下窗口化和最大化两种情况,窗口化的话,菜单会在距离窗口有一定距离的地方,无论是在鼠标移动,或者是视觉上都带来了一定的距离。

最大化的话,本来菜单就在和全局菜单差不多的地方了,还需要全局菜单吗?

有很多其他的Choice,例如最近KWin开发者提到的,窗口边框和菜单合并(不是直接放在边框上,是弄个像Firefox一样的button)。比如plasma-netbook的最大化隐藏窗口边框。一个设计会带来另一个设计,比如说oxygen的drag anywhere(窗口可以用任意空白位置拖拽),因为plasma-netbook最大化无边框,有了这个功能移动起来也会好得多。比如gnome3的drag anywhere(说起来我看了那么多gnome3评测为什么没有人提这个改进?),因为没有了最大化最小化按钮,为了使得拖拽并tiling更加方便,才更加需要这样的功能。

空间利用的极致应该算是tiling wm了,但是学习曲线比较陡峭,我一直也没习惯。我觉得最大化无边框是个不错的想法,但需要注意几件事。如何恢复窗口化?如何移动?如何一步到位?unity和plasma-netbook采用的方法是窗口控制和面板合体。但也有微妙的区别。由于unity的面板是常驻的,为了剩下那个菜单的空间,也采用了全局菜单。plasma-netbook的面板是自动隐藏的,所以用不上全局菜单。

自动隐藏带来其他问题,是否会触发的太容易?是否会影响窗口中其他功能?无论触发距离的长短,顶部永远是最容易触发的,因为菜单,工具栏等等功能都在窗口上方,让鼠标在距离窗口上方做一个急刹车是完全不现实的行为,所以很容易出现挡住的情况。plasma-netbook的窗口切换可以采用右上角触发,使得恢复窗口的需求最小化(你说关闭也在面板上?都关闭了这窗口就不用管了)。

我个人经过几翻尝试,目前使用的是这样的,窗口边框正常,全面板自动隐藏,顶部有一个窄面板,高度和窗口边框高度相近,因此不会挡住窗口内功能,位置也在不会挡住窗口控制的按钮,内容是快速启动图标。下方一个非全场面板,放时间,系统托盘。下方的面板几乎不会误触发,因为很少会有鼠标在屏幕下方的情况。三个常用的窗口控制的按钮都在左上,(类似mac),顺序是,最小化,最大化,关闭,理由是最左上的位置的按钮在窗口最大化的时候会和右上角的窗口边缘冲突,因此放了对最大化窗口来说最不常用的最小化,右上为了功能放了一个保持最上的控制按钮。这样基本保证核心的鼠标功能是在屏幕左上这样的范围,减少鼠标移动。

其实还可以改进的是,最大化无边框,窗口控制功能所在面板偏左很窄一条,以减少触发冲突。不过由于KDE的最大化无边框在记忆窗口形状上有bug(https://bugs.kde.org/show_bug.cgi?id=269059),因此没有采用。

Posted in Linux | 19 Comments

推荐:【葛平金曲】循环

其实几天前就听了。

We Need a break for while (true);

神曲。

A站:http://acfun.cn/html/ent/20110330/186700.html 有神弹幕,推荐。

B站:http://www.bilibili.us/video/av75179/

Posted in 日志 | 2 Comments

一个KDE用户的GNOME 3 Launch Party

因为好玩所以去的。

首先是一开始……我记错时间了,1:30才急急忙忙骑车飞奔出去,不过后来看到1:30-2:00是入场,所以没错过啥。老实说感谢Google Map指路。

首先在门口登记,我写了真名和邮箱,不过没选择订阅邮件列表,因为不是GNOME用户的说。首先是介绍组织,讲的其实挺好的。当时看到后面有Gnome-shell插件的展示,还有点小期待。然后我掏出了自己的本本,自然上面是……KDE啦!然后接受局部围观。然后我非常happy的推销KDE。由于没有网络,我手机的wifi tether帮了大忙,然后电脑开vpn,今天的tweet都是通过twitalker发的,因为这个最流畅了。

Fedora13……自己编译的GNOME-Shell……哎。准备工作的杯具啊。

现场我玩KDE哦,吼吼。

以前活动时候的蛋糕照片。旁边有个Firefox乱入。

弗拉明戈舞蹈……乱入。

然后就是各种人讲话,中标也派人去了。谋智也有人(我出门被推销了一张firefox4传单,firefox铁杆用户毫无压力。),没想到Canonial也有人去了。到场人数众多,据说有250-300人。

中间的余兴节目是弗拉明戈的舞蹈……虽然我没搞清楚和GNOME有什么关系。不过既然是Party所以没关系。

今天最杯具的就是那个负责技术演示和回答问题的人了。老实说对于那些问题我都可以回答的比他更好。最悲惨的是……他不认为Linux是给一般用户用的……当然这只是他的个人问题,和GNOME没关系。提问的感觉有很多隐藏的踢馆选手……例如“Ubuntu为什么不用GNOME3”,“GNOME3为什么没有全局菜单”,“GNOME3为啥卡”。本来没好意思的,看大家都这么犀利,于是我也提问了个问题:“GNOME-Shell是采用混成的,为什么没有像KWin或者Unity-2D设计GNOME-Shell的Fallback”。然后回答是:“我不太懂底层渲染”……。好吧。

由于似乎他不认为Linux应该给无基础的人用……于是有数次问GNOME3你觉得最好用在哪里的问题时,他非常执着于GNOME-Shell的插件可以用JavaScript开发这一点上,难道你真心没觉得GNOME3好用?……我在下面都受不了了……我替你卖GNOME3都能比你卖的好啊。且不说除了Gnome-Shell之外的其他技术,你没卖到,Gnome-Shell为触屏优化怎么讲你也可以随便提一提吧。

我个人可是充满着对Linux的爱的,另外我个人的实用主义也使得我是因为Linux好用而用的linux,并不是为了用Linux而用Linux。害得我不断向身边的大叔澄清,Linux完全是可以给普通用户用的。我个人认为Linux现在比不上Windows的一是游戏,二是办公,吐嘈了好久没有进步的OOo之后,顺便给大叔Show了Latex做的Slide,大叔表示很有兴趣。后边有人问我KDE有没全局菜单,我就一句“全局菜单是个糟糕的设计”给他堵回去了,然后顺便show了我设置成最大化窗口无边框的KDE。

总之他的回答问题是本次唯一败笔,仅针对他个人,不针对GNOME3。主持人明显比他回答得好得多,就算现在没有,有时候有的东西也是可以圆过去的。

另外他的演示也有值得改进的地方……他的系统是Fedora 13,自己编译的GNOME-Shell,似乎不那么稳定……

中间有人询问我的输入法,我表示很happy地告诉他们是Fcitx。然后最后似乎我成功推销某人安装OpenSUSE以及KDE。和身边的大叔聊了很多,也替GNOME3卖了很多,例如在卖KDE的Nepomuk的时候,我也顺便卖了GNOME3的Gnome Activity Journal/Zeitgeist。还卖了GNOME3的Aero Snap,算是对我现场推销KDE的补偿吧,嘿嘿。

主持人一谈到怎么帮GNOME做贡献就很激动,其实开源社区都需要大家的贡献的。与其骂bug,不如主动汇报bug。不懂coding,也可以帮助宣传,帮助翻译,做一些coding无关的事情。顺便号召下KDE的用户在用KDE的时候也别忘了给KDE汇报bug哦。

一个小插曲,由于播放是使用的那里的Windows……最后播放没声音的时候……其实他们没看见Media Player静音了……我上去指点了下。。(虽然除了那个还有一个问题是有个讲台面板的按钮没按)。吐嘈到……大家Linux用得太多不会用Windows了。

战利品。

顺便:KDE党发来贺电,祝GNOME3发布!

Posted in Linux | Tagged , , | 26 Comments

诸君莫要以为我在fcitx上跑路了。

refactor是很没意思的也不开发新特性的工作。

另一方面也是为了将来能够更好的开发新特性的工作。

好吧,到现在也就是刚刚让区位(最简单最适合做test的im)和inputwindow回到了功能中。

贴点点代码说明下别的问题。

FCITX_EXPORT_API
FcitxBackend backend =
{
 Init : XimInit,
 Run : NULL,
 Destroy : XimDestroy,
 CreateIC : XimCreateIC,
 CheckIC : XimCheckIC,
 DestroyIC : XimDestroyIC,
 CloseIM : XimCloseIM,
 CommitString: XimCommitString,
 ForwardKey : XimForwardKey,
 SetWindowOffset : XimSetWindowOffset,
 GetWindowPosition : XimGetWindowPosition,
 backendid: 0
};

xephyr里面用了openbox和kwrite调试。xephyr还是好用啊。

Posted in fcitx development | 23 Comments

流水帐

昨天早上做了个梦,很高兴。虽然似乎情节受了点最近推的GALGAME的影响,不过还是很高兴,算是个好梦吧。

话说我一般是不鸟清明还是不清明,不过既然放假总之很愉快。计划周二和宿舍的人去吃全聚德(当然是外卖),然后剩下的就去我家做。

以下内容可能导致你感到不适,请确保你的年龄大于⑨周岁。

随便唠叨唠叨,TL上总有很多很激动的人,不知道有毛线可激动的。P大的事都能激动成什么样。不管到底可以接受还是不可以接受,骂来骂去永远解决不了问题。不管是技术也好,还是politics也好,有些事情知道就好,像发现新大陆一样得瑟很没有意思。有的事情没必要先入为主的看问题,例如网站一挂就是功夫网,或者一出问题就是有预谋。现在说话都得讲证据,自觉怀疑无来源的新闻,避免过度解读。

例如“承认使用facebook”的李戡和李戡“上网成瘾”。前者虽然是后来加上去的,但是会给人误解有因果关系。其实这次这屁事完全是没有的。http://t.sina.com.cn/1781789543/3f4DcQ41G1 一摸你G点你就高潮,高你妹啊。这年头就像百度文库说是网友上传一样,不是看见个新闻写个转载就他妈没你事了。因为这次毕竟还扯到鄙校,搞得人心惶惶。其实会商还是不会商我都没啥意见,对于身边的一些人来说,真的没必要等生活抽了你一嘴巴子你才能醒悟。这件事在被证实被用于某些目的之前我只认同从教育手段上的讨论。

另外顺便承诺,如果有朝一日我能有幸体验喝茶(好难……),一定告诉大家来围观。

另外我讨厌360的原因也就是因为它很慢。我也不因为腾讯喜欢拿来而讨厌腾讯,老实说我还挺欣赏腾讯的。我不喜欢道德上谴责别人,如果在规则内可以这么做,就算是钻空子,我也不会说什么。有意见的话还是请去干规则。

被生活强奸不代表你还一定要叫春叫出来,也不代表你有什么事都要怀疑性骚扰,如果真的被生活强奸了,那也默默地为了将来有一天能踢断它的屌而努力吧。

另外之前b掉了@mikeandmore 我也不介意讲出来…我受不了你成天装正太了。太你妹啊。

Posted in 日志 | 1 Comment