15.10研发心得——新的旅程、新的开始

15.10.png

先水点题外话

正如 @Hualet 前辈所言,我接了一口又大又厚的锅:deepin桌面环境的所有“bug”。自然,系统发布之后写研发心得的优良传统也必须要传承下去!我的昵称叫 @zccrs,说个大实话,看到这个词我也一脸懵逼,不知道该怎么读,索性大家可以叫我“榨(z)菜(c)炒(c)肉(r)丝(s)”,应该会更好记一些😂。

万事开头难啊,第一次写研发心得,居然有些莫名的紧张,另外还掺杂着些小激动。虽然都是敲键盘,但是和写代码时相比,这感觉完全是从二次元到了三次元。不过,幸好年龄大了,脸皮也厚了,写起东西来没以前那么费劲了。别的废话不说,先鼓励一下自己来点自信😘。跟 @Hualet 老哥相比,系统研发方面我还是个新手,虽不知能否像长江的“浪”一样把前浪“拍在沙滩上”,但至少比 @Hualet 长得帅些😏。欢迎大家以后多找我报bug,多多益善,毕竟bug不挑食😎。

谁说写研发心得就非要苦思一个漂亮的开头,我直接就进入主题🤪。

进入正题

大家也都知道,从15.8开始,我们把项目都迁移到了github,更加方便其他大牛们参与进来贡献代码,也能通过github的issue提交和管理bug。与此同时,为了更好的和用户互动,deepin系统的社区版对外发布也采用了一种新的方式:滚动更新。由之前每三个月一次的系统大版本更新,改成了每三周一次的小版本更新,例如 15.8.1、 15.8.2 ...15.8.4 等等。但是总体上来讲系统发布周期是没有变化的,最后一个小版本发布的同时也就是这个阶段大版本完成之时。这样做的好处呢,不用我多说,大家都有自己的感受,更新频率的增加,也就意味着能够更早的“吃到螃蟹”,想想就很开心😍。不过,这样做自然也有坏处,别的先不说,就拿大版本更新的发布来讲,新功能早就在小阶段更新中体验过了,大版本更新中完全没有了之前那种强烈的期待感,系统发布文章中描述更新内容时,会给人一种“这不是上个版本就已经有了的功能吗”的错觉 😂 。也就间接导致在研发心得中又少了一个介绍新功能的理由,没错,被大家发现了,说了那么多,我就是想吐槽一下研发心得里不能再介绍新功能了😱。咳咳,开个玩笑,其实这次也没准备过多的介绍新功能,另外有一些非功能上的改变需要说一下,关于功能上的更新内容,大家可以移步到 深度操作系统 V15.10,这里有详细的说明。

基于 Debian stable 仓库(By @hualet)

15.10最大的变动要数仓库的切换了。从unstable切换到stable,系统组的同学哼哧哼哧地干了两个多月,已然发布了,赞许的声音自然是不少,但是不可否认的是社区中各种震惊的帖子也不罕见。我琢磨着,有时候他夜半惊醒,想到那些两三个月前满嘴“你们要是敢切到stable,我就全盘格了上deepin”的同学们,只能暗自神伤:“这么坑我,你们的良心真的不会痛么……”

玩笑归玩笑,经过这么一段时间的把玩和使用,我觉得这次仓库切换还是值得的。毕竟stable仓库可以说“人”如其名——行走江湖多年,就靠一个稳字。这也是我们切换到stable仓库的初衷了。除此之外,也很少出现以前那种装一个软件动不动就有可能出现依赖冲突等问题了。作为一个开发者,深感欣慰。

这时候有些“好事”的同学一定会问,商店里面的软件不够新怎么办?别着急,底层系统的稳定不代表上层应用不够新,我们已经为把商店应用更新准备了“激进”的方案,就差一个程(da)序(bao)员(zhe)了。

---------- 硬广分割线 -----------

为了满足deepin社区各位小伙伴对应用更新速度的极致需求,诚聘一名对开源和系统构建有足够兴趣的“准“大牛(到深度以后一定会成大牛的),有兴趣的请发简历到 hr@deepin.com

---------- 硬广交差线------------

DDE KWin 现在&将来

使用 dde-kwin 代替之前的 deepin-wm,这可能是这次系统发布后大家所争论的最多的点。这个锅我背了 😂。

issue.png

如这个issue中所言,被吐槽最多的点就是 KWin 的界面。的确,我也觉得,它有些地方的确长的不够精致 😂 ,像是一个🧟‍♂️ 。

DDE环境中窗口管理器的界面主要分为五个部分:

  • 窗口标题栏
  • 屏幕热区触发
  • Alt+Tab任务切换
  • Win+W窗口切换
  • Win+S工作区切换。

dde-kwin的开发分成了两个阶段:

第一个阶段主要是在做一些看不到的工作,增加对DDE环境的兼容性,例如支持窗管相关的所有快捷键设置、热区设置、窗口主题设置、窗口缩放跟随系统、窗管特效开关、工作区切换等功能,另外还包含了两个deepin风格的窗口标题栏主题插件。在deepin系统上,为了让KWin更好的“入乡随俗”,我们从kwin fork出了deepin-kwin项目,用于实现一些只能通过修改代码才能支持的功能,比如 “_GTK_FRAME_EXTENTS” 窗口属性的支持。另外,因为其它发行版中没有deepin-kwin,所以在修改kwin代码的同时,我们也会在dde-kwin中通过其它方式实现一个尽可能类似的效果,以保证DDE在其它系统上的兼容性。

第二个阶段则是着重处理UI方面的问题,KWin和deepin-wm这两个项目有着本质上的差别,deepin-wm中已完成的窗管界面无法直接在KWin中复用,一切工作都需要从头开始。不过,我们不会因此而妥协,为了带给大家一个💯的KWin,这一步无论多么艰难都要迈出去🏋🏽‍♂️。😱一下子没把持住,是不是有点太煽情了(:手动斜眼:)🤣。

额......刚刚才发现,说了那么多废话,居然没有介绍为什么要那么青睐KWin👿,下面就要真的进入到正题了🤫,这不是在为KDE背书,这不是在为KDE背书,这不是在为KDE背书---重要的事情先说三遍😉 。

从产品发展的角度

在众多X11的窗口管理器项目中,毫无争议,KWin绝对是最强大的存在,先丢一个官方的介绍。KWin提供了“自定义窗口规则”、“窗口特效插件”等一系列扩展支持,以及强大的可配置性等等...但这一切还不是最重要的!接触过Linux的人都知道,生态环境是多么的重要(说多了都是泪🤐),KWin在窗口管理器的生态环境中有着绝对的优势,从KDE商店中可以看到

图片.png

光KWin本身的插件就有将近80个,窗口标题栏主题 Aurora Themes 更是有几百个之多,各式各样的插件,能满足酸甜苦辣各种口味需求😂。另外,KWin原生支持2D/3D模式切换,一个人能代替 deepin-wm 和 deepin-metacity 两大兄弟,也就意味着,使用DDE时,窗管再也不用装一送一了。

既然都已经把KWin表扬到这般地步了,那自然也得再捅deepin-wm几刀(@sonald 不要打我🤕)。从上游fork出deepin-wm之后,改了包名,而且所有的功能实现都是直接在原代码基础上进行的修改,导致现在的代码拉出来做DNA鉴定,都看不出和mutter有半毛钱关系😂 。时隔几年,deepin-wm已经无法再跟随上游的脚步,同步不了最新代码,也就是说它现在已经变成了一潭死水,遇到新的产品需求时,在上面耗费了大量的时间也无法达到人民对它的期望。但也不可否认,deepin-wm服役这些年获得了无数的好评,也得到了大家的认可。不过, “设想英雄垂暮日,温柔不住住何乡”,现在的确是到了它该“解甲归田”的时候了,江山代有才人出,接下来应该给dde-kwin一个证明自己的机会,我相信它一定能领风骚数百年!

deepin-wm的UI已经定型,无论如何,它就只能是目前这个样子了。但KWin它还可以是这样的:


图片.png

甚至是这样的(千万不要被设计师看到,会被打死的🤫):

图片.png
从开发者角度

DDE全家桶中,除了“深度终端”,其它所有的产品都是基于Qt开发,选择KWin自然也有这方面的理由。未来,我们希望窗管这个项目是deepin所有开发人员都能参与进去的,人多力量大,让这个项目一直都能有新鲜血液的注入,永远保持着年轻的活力。因此只有和DDE项目有着同样的技术基础,才能更好的帮助我们实现这个目标。

写到这个点眼睛都有点累了,稍微休息了一下,把前面写的捋了一遍。看完了关于KWin这部分后,我感觉说了那么多其实就概括为一句话:“俱往矣,数风流窗管,还看KWin”。正如标题所言,这是一个新的旅程,deepin-wm已经定格在了这里,但是,dde-kwin的未来还有着无限的可能。

后记

书到用时方恨少啊,偷偷瞄了几眼前辈们写的“研发心得”,文体幽默而又不失风趣,心得感悟深而不腻,正好印证了一句话:姜还是老的辣啊🤭。思来想去,也不知道怎样才能写个漂亮的结尾,所以就到这里吧,省下点时间多修几个bug绝对没有错💪。

虽然15.10没有做到最好,但是我还是希望大家能够尝试一下,提出更多的问题。宝剑锋从磨砺出,新的选择也将会打造出新的deepin。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 207,113评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,644评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 153,340评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,449评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,445评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,166评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,442评论 3 401
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,105评论 0 261
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,601评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,066评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,161评论 1 334
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,792评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,351评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,352评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,584评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,618评论 2 355
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,916评论 2 344

推荐阅读更多精彩内容