KDE下完美的Unity桌面体验,扔掉active window control
psifidotos 的 applet-window 系列完全实现unity当年风采
熟悉我对Linux
桌面态度的人都知道我个人是很推崇当年Ubuntu
的Unity
桌面的全局菜单的整合功能的,其有着能把窗口标题栏以及窗口按钮和全局菜单整合为一体的功能,能够大大节省屏幕的纵向空间而不影响使用菜单以及查看窗口标题和使用窗口按钮。在我个人看来,Ubuntu
的Unity
桌面简直就是Linux
桌面环境的最强代表,直到它退出历史舞台。
至今我仍然向往那种能够有效率节省屏幕空间的功能却苦于没有什么桌面能够原生支持,但是,在我转向了archlinux+KDE
之后便发现了此事有所转机。
一开始我是使用KDE
的一个名为active window control
的插件进行使用,它能够将窗口标题栏和顶栏进行结合,但是全局菜单需要使用KDE
的原生全局菜单插件,并且其使用起来并不是很友好,不过它也能够在一定程度上节省了屏幕的纵向空间,所以也能够勉强够用,但是使用起来并不是很开心。
但是在KDE
桌面的强大的可定制化插件的支持下,由psifidotos所编写的applet-window
系列插件能够配合Plasma KDE
桌面来完美来达成‘这一愿想。
要实现Unity
桌面的功能需要安装他写的三个插件:
- applet-window-title
- applet-window-buttons
- applet-window-appmenu
说明:archlinux+KDE
(原理上来说manjaro+KDE
也可以)在安装好桌面后还需要安装cmake
和extra-cmake-modules
,一般在安装了这两个编译依赖之后如果还是编译不成功请在评论区说明清楚哦。
安装并配置三个插件
applet-window-title
github地址点击此处
克隆仓库
git clone https://github.com/psifidotos/applet-window-title.git
由于此插件使用QML
编写,所以可以直接使用命令装入插件
cd applet-window-title
plasmapkg2 -i .
- 图示
至此applet-window-title
安装完毕
applet-window-buttons
github地址点击此处
克隆仓库
git clone https://github.com/psifidotos/applet-window-buttons.git
因为该插件使用C++
进行编写,所以需要进行编译安装
cd applet-window-buttons
sh install.sh
- 图示
基本上如果没有编译依赖缺失的话可以一路编译下去然后自动安装
至此applet-window-buttons
安装完毕
applet-window-appmenu
github地址点击此处
克隆仓库
git clone https://github.com/psifidotos/applet-window-appmenu.git
同样因为该插件使用C++
进行编写,所以需要进行编译安装
cd applet-window-appmenu
sh install.sh
- 图示
基本上如果没有编译依赖缺失的话也是可以一路编译下去然后自动安装
至此applet-window-appmenu
安装完毕
配置
- applet-window-title
- applet-window-buttons
- applet-window-appmenu
后记
现在基本上已经能够得到和Unity
桌面那样的机制体验了,舒服。
impressionyang
- SQL Server 学习笔记
- Collaborative Filtering(协同过滤)算法详解
- 【Hadoop】三句话告诉你 mapreduce 中MAP进程的数量怎么控制?
- Spark系列课程-00xxSpark RDD持久化
- RDD持久化
- P02_Hadoop CDH 5.3.6集群搭建
- P01_Spark开发测试运行环境安装Spark开发测试运行环境安装
- spark2.x依赖包POM
- P03_Hive 安装
- P06_flume-ng-1.5.0-cdh5.3.6安装
- P04_zookeeper-cdh5集群搭建
- P05_kafka_2.9.2-0.8.1集群搭建
- 再探matplotlib
- 分布式系统(Distributed System)资料
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 算法集锦(9)|自动驾驶|道路图像增强算法
- 基于OpenCV实现海岸线变化检测
- 爬取bilibili再也不用头疼了,bilibili-api一步到位!
- 「React」很多人在滥用 state
- == 与equals和hashCode与equals
- 算法集锦(10)| 自动驾驶、机器人 | 物品图像动态检测算法实现
- Hystrix仪表盘
- Centos7 Nginx的SSL证书安装
- 算法集锦(11)| 自动驾驶 | 基于HOG和SVM的车辆识别算法
- 剑指offer(一):找出数组中重复的数字
- 剑指offer(二):不修改数组找出重复的数字
- 漫画:什么是树状数组?
- poiAndEasyExcel学习(五)
- 两分钟真能搞懂桶排序
- SpringMVC文件上传下载