[App Sharing] 【应用】dde-top-panel 顶栏程序+全局菜单 (V20) 【2022/03/09】
Tofloor
poster avatar
septemberhx
deepin
2020-05-27 23:06
Author
  • 因为顶栏高度问题,官方的时间插件显示会挤在一起,这个只能用其它插件:https://bbs.deepin.org/post/198163  (原贴找不到了,作者看见请联系我修改。。)
  • 卸载 panel 后如果出现窗口最大化后不显示三个按钮:看一下 ~/.config/.kwinrc 文件,里面有一个配置项就是最大化时隐藏按钮,删掉那一行,然后注销重新登录就行了;或者先把 dde-top-panel 装回来,然后 panel 设置里取消勾选最大化隐藏按钮,然后在卸载 panel,注销并重新登录
  • 多个显示器出现panel错位:很奇怪,一部分人遇到了,一部分人没有遇到。如果遇见了,先把多余屏幕拔下来,设置好缩放后,再插回来
  • 如果 panel 上托盘异常,请确保 dde-top-panel 插件目录下的 libtray.so 是系统的最新版本!系统升级时 panel 不会主动更新 libtray.so 文件。

欢迎 star:https://github.com/SeptemberHX/dde-top-panel  你的 star 就是我更新的动力!

 ------ 2022-03-09

Bug 修复:

  • 某些时候切换窗口导致的随机崩溃 => 详情见 https://github.com/SeptemberHX/dde-top-panel/issues/50

没啥好继续实现的了感觉,更多的顶栏功能都能以插件的形式解决,后面估计就继续完善一下多屏幕上的体验以及修复bug了

如何使用

github访问有问题的请直接从网盘下载(太大了,超过了论坛附件大小限制:

  • 前往 https://github.com/SeptemberHX/dde-top-panel/releases 下载最新 release 包,如果是 zip 解压后即可得到 deb,直接安装,并在启动器设置自启动
  • 以下步骤为全局菜单开启步骤,不需要的不用做。
    • 前往 https://github.com/SeptemberHX/dde-globalmenu-service.git 下载最新 release 安装包
    • 安装即可,在 启动器中右键设置成自启动
    • 修改文件 ~/.gtkrc-2.0 ,添加 gtk-modules=appmenu-gtk-module
    • 修改文件 ~/.config/gtk-3.0/settings.ini ,[Settings] 条目下 添加 gtk-modules=appmenu-gtk-module
    • 注销或者重启

网盘:https://wwi.lanzoup.com/b01bh6pfg
密码:fih3

截图: 

 

-------------------------2021/07/28【0.6.3】

  1. 跟随系统的 白/黑 主题【设置中需开启跟随系统主题】
  2. bug 修复

另:dde-dock 的托盘插件 libtray.so 能够直接移动 panel 的插件目录了,并且 dock 显示正常

配套的全局菜单服务 dde-globalmenu-service 现已一并构建成 deb 安装包。

-------------------------2021/07/19【0.6.2】

  1. 终于弄好了 cmake 自动生成翻译的问题,现已增加中文
  2. 三大按钮增加可配置背景色
  3. deb 安装包自动构建,现可直接 deb 安装
  4. 允许设置中直接设置:窗口最大化时隐藏标题栏(需要注销或者重启)
  5. 若干问题修复

-------------------------2021/07/08【0.6.0】

  1. 在顶栏空间不足的时候,自动折叠全局菜单(见截图)

 

  1. bug 修复

-------------------------2021/06/21【0.5.7】

Bug 修复:合并了 dde-dock 到 2021/06/14 为止的所有代码提交,修复了中间 dock 变化导致的一系列插件问题。

-------------------------2020/08/14【0.5.5】

  • 允许将三大按钮放到顶栏右侧
  • 允许在没有运行 dock 的情况下,不遮挡桌面图标(必须停用 dock,但不能卸载 dde-dock,除非有强迫症,否则建议不开。出现问题关闭该项,重启 dde-dock 即可)
  • bug 修复

-------------------------2020/08/010【0.5.4】

  • 修复魔灯特效下的奇怪问题 @hxhlb
  • UI 提升

-------------------------2020/08/03【0.5.3】

  • 调整顶栏高度至 24px(mac上的是 22px,但是 22px 下托盘部分的观感很差)
  • 允许使用应用名称代替图标时,一直显示用户选择的图标(参考 mac)

-------------------------2020/07/04【0.5.2】

  • 修复部分 gtk 全局菜单无效(只有一级菜单,没有子菜单的情况)
  • 多屏幕提升:每个窗口会记住上一个在本窗口的激活窗口,当前窗口失效时,自动寻找上一个窗口为当前窗口
  • 添加设置项:是否使用窗口程序名称来替代窗口图标(效果见下图),是否在全屏时显示三个按钮(配合不在最大化时隐藏窗口标题栏)


2020/06/19【0.5.1-rc1】rc为测试版本,尽管我日常使用,依旧有些bug碰不到,所以需要放出rc帮忙找bug。需要稳定性的同学就不要尝试 rc 后缀的版本了

  • 若干bug修复
  • 菜单在显示状态下,可以直接移动鼠标切换各个菜单选项
  • 点击窗口图标显示启动器(位置控制不了)

2020/06/17【0.5.0-rc1】rc为测试版本,尽管我日常使用,依旧有些bug碰不到,所以需要放出rc帮忙找bug。需要稳定性的同学就不要尝试 rc 后缀的版本了
多屏幕支持提升,现在能够像 macOS 那样,每个屏幕上的顶栏仅仅会显示该屏幕上的窗口的相关信息及菜单。

2020/06/11 【0.4.1】

  • 添加配置:仅当鼠标移动到顶栏上时,才为当前的最大化窗口显示菜单,否则显示标题栏
  • UI 调整

2020-06-06 更新 (0.4.0)

  • 添加配置功能:右键->Settings,包含:顶栏颜色,透明程度,字体颜色,关闭、最大化、最小化图标以及默认图标(在桌面显示的那个)
  • 修复由 nullptr 导致的崩溃问题
  • 其他UI调整

2020-06-05 更新 (0.3.1)

  • 修复内存泄露
  • 修复拖动顶栏来移动窗口的误触问题
  • 修复有时候关闭最后一个窗口依然显示菜单的问题

Todo:

  • 添加按钮自定义配置(图片)
  • 添加透明度、字体颜色配置

2020-06-04 更新 (0.3.0)

  • 允许拖拽调整插件顺序
  • 顶栏上的操作按钮显示、消失的动画效果
  • 更好的顶栏按钮显示逻辑:只要当前窗口最大化,就显示按钮
  • 当前窗口最大化时,允许通过拖拽顶栏空白区域移动当前窗口(弥补没有标题栏,移动窗口需要先最小化的缺憾)

2020-06-03 更新 (0.2.1)

  • 完整的全局菜单功能(Qt,Gtk,Electron)
Reply Favorite View the author
All Replies
...1 / 32
To page
Hello
deepin
2020-05-27 23:47
#1
好!不过xml在你的项目中没有啊,这是啥意思啊
Reply View the author
boom01
deepin
2020-05-28 00:02
#2
牛逼了牛逼了牛逼
Reply View the author
septemberhx
deepin
2020-05-28 00:02
#3
https://bbs.deepin.org/post/195128
好!不过xml在你的项目中没有啊,这是啥意思啊

漏提交这个文件了,已经补上了
Reply View the author
wvb
deepin
2020-05-28 00:56
#4
支持,支持
Reply View the author
chen5903710
deepin
2020-05-28 07:58
#5
强势围观。。。。。。。。
Reply View the author
心平气和
deepin
2020-05-28 15:24
#6
类似mac os 那样顶部栏 不香么
Reply View the author
xieqin74123
deepin
2020-05-28 17:03
#7
感谢分享,效果很棒,已设置好开机启动以及插件,正在想方法去掉dock中丑的要命的托盘
Reply View the author
WangZhongyun
deepin
2020-05-28 17:27
#8
如何最有效利用桌面空间是需要考虑的。你这顶栏程序可以说仅适合手机用户。对桌面用户来说,有启动器、程序任务切换区域会更便捷操作。如果想兼并发展的话,至少在程序设置中勾选启动器、程序任务切换区域就要能启用相应功能。
Reply View the author
septemberhx
deepin
2020-05-28 18:12
#9
本帖最后由 septemberhx 于 2020-5-28 10:13 编辑
https://bbs.deepin.org/post/195128
如何最有效利用桌面空间是需要考虑的。你这顶栏程序可以说仅适合手机用户。对桌面用户来说,有启动器、程序 ...

我觉得 Unity 模式或者是 mac 模式才是更好的空间利用率

Unity 模式下 dock 可以放在左侧,这样不影响任务切换。我之所以把顶栏的任务区域删掉了,最大的一个原因是顶栏空间不足,没有足够的空间再放一个任务区域。

顶栏设计的最初目的就是在窗口最大化的时候,能够兼并标题栏(省下 40px),且保留通知以及插件区域;我的计划是后期再加上全局菜单,这样就能进一步省下一个菜单栏的高度,综合来看,顶栏上不能有任务切换区。

至于你说的切换不方便的问题,你也不能放着 dock 不用吧,像unity一样,常驻左侧,牺牲横向区域换纵向空间,在16:9的今天,我觉得很合理,或者你可以把dock设置在下方,像 mac 一样。

但不管怎么样,顶栏都没有浪费空间——最大化的时候,没有标题栏,仅有顶栏,且顶栏的高度和标题栏一致;也没有牺牲可用性,因为它不是 dock 的替代产品,而是增强工具

个人认为,ubuntu的unity模式以及mac的空间设计,能够比较合理利用。
Reply View the author
septemberhx
deepin
2020-05-28 18:21
#10
https://bbs.deepin.org/post/195128
类似mac os 那样顶部栏 不香么

我也确实有意向 mac 那样的靠拢,但是有很多麻烦的地方。

1. 顶栏必须在每个显示器上都存在:这个也能实现,但是有很大局限性。官方在写托盘的时候,是没有考虑同时有多个托盘存在的,你会发现,wine 的一些程序的托盘,只能在最后一个启动的托盘区域生效,且之前的托盘区域图标依然驻留,但是不能进行任何交互,这更难受了,因为用户可不知道哪个顶栏是最后启动的,必须要一个一个顶栏试过去才能打开QQ 一类的

目前的可能解决办法是主屏幕之外的所有屏幕,仅提供一个功能有限的顶栏——去掉托盘

2. 顶栏的全局菜单:这个日后才可能实现,目前不现实

3. 最大化的逻辑:mac 的最大化逻辑有两个,一个是和Windows以及deepin一样,铺满屏幕,另一个是窗口全屏,移动到下一个虚拟桌面,且顶栏自动隐藏。这个实现可能更困难。因为我没有找到 deepin 提供的窗口最大化信号,这就意味着当有一个窗口最大化的时候,顶栏不知道。那想做什么操作都不可能了
Reply View the author
走钢丝
deepin
2020-05-28 18:22
#11
虽然不用,还是支持一下。
Reply View the author
cheesezhang
deepin
2020-05-28 18:44
#12
./dde-top-panel: error while loading shared libraries: libdtkwidget.so.5: cannot open shared object file: No such file or directory
我这是缺了什么库吧
Reply View the author
心平气和
deepin
2020-05-28 18:49
#13
https://bbs.deepin.org/post/195128
我也确实有意向 mac 那样的靠拢,但是有很多麻烦的地方。

1. 顶栏必须在每个显示器上都存在:这个也能实 ...

我觉得你可以去看看kde 源码
Reply View the author
septemberhx
deepin
2020-05-28 19:29
#14
xiaobaizhang 发表于 2020-5-28 10:49
我觉得你可以去看看kde 源码

这不是看kde源码能解决的。关键是deepin官方的托盘可能设计上就不支持多个同时存在。
其次kde用的很多他自己的消息传输,deepin整了一套自己的dbus,没法参考。
Reply View the author
septemberhx
deepin
2020-05-28 19:30
#15
cheesezhang 发表于 2020-5-28 10:44
./dde-top-panel: error while loading shared libraries: libdtkwidget.so.5: cannot open shared object  ...

以来应该和 dock 的一直才对,我没有加其他依赖。你的 dde-dock 能正常运行么?
Reply View the author
155******69
deepin
2020-05-28 19:46
#16
挺不错的 回去试一试
Reply View the author
cheesezhang
deepin
2020-05-28 19:55
#17
https://bbs.deepin.org/post/195128
以来应该和 dock 的一直才对,我没有加其他依赖。你的 dde-dock 能正常运行么? ...

那自然是可以运行的呀 要不我这看着得多难受
Reply View the author
septemberhx
deepin
2020-05-28 20:38
#18
cheesezhang 发表于 2020-5-28 11:55
那自然是可以运行的呀 要不我这看着得多难受

那命令行 apt search libdtkwidget 看看有没有版本5的包,装上应该就好了
Reply View the author
cheesezhang
deepin
2020-05-28 21:36
#19
https://bbs.deepin.org/post/195128
那命令行 apt search libdtkwidget 看看有没有版本5的包,装上应该就好了

你不会是基于v20开发的吧
Reply View the author
septemberhx
deepin
2020-05-28 23:19
#20
cheesezhang 发表于 2020-5-28 13:36
你不会是基于v20开发的吧

是啊,只能给 20 用
Reply View the author
...1 / 32
To page