[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
......7 / 32
To page
tangjc
deepin
2020-06-06 00:33
#121
看起来很不错啊,linux自由的优势已经显现出来了啊。提个美化建议,网速同时显示上传下载布局很奇怪,可以参考安卓手机的网速显示,显示总和或者双击切换为上传网速、下载网速。
Reply View the author
septemberhx
deepin
2020-06-06 01:24
#122
zq332088467 replied at 2020-6-5 16:22
更新应用安装有时安装不上

啊哈? 啥更新应用安装不上
Reply View the author
septemberhx
deepin
2020-06-06 01:25
#123
n_tang replied at 2020-6-5 16:33
看起来很不错啊,linux自由的优势已经显现出来了啊。提个美化建议,网速同时显示上传下载布局很奇怪,可以 ...

网速是插件,不是顶栏的功能,顶栏只提供加载插件的能力
Reply View the author
InReality啟
deepin
2020-06-06 03:15
#124
牛批牛批
Reply View the author
咿呀
deepin beta test group
2020-06-06 05:49
#125
本帖最后由 geniusking 于 2020-6-5 21:50 编辑

我发现两个小问题:
1、顶栏会挡住第一排的桌面图标
2、新版本的inkscape的菜单栏没有提取到顶栏上




Reply View the author
septemberhx
deepin
2020-06-06 06:45
#126
https://bbs.deepin.org/post/195128
我发现两个小问题:
1、顶栏会挡住第一排的桌面图标
2、新版本的inkscape的菜单栏没有提取到顶栏上

1. 这个暂时无解。其实是能让图标让路的——只要你先启动顶栏再启动 dock。然而,他俩同时只能有一个起效,所以,无解。。
2. inkscape 的新版本看起来像是 appimage 或者 snap或者 flatpak 一类的吧,因为菜单栏还在程序内部的话,那就说明可能本身就还不支持全局菜单。你可以试试在命令行里 export GTK_MODULES=appmenu-gtk-module   然后紧接着在命令行启动新版本的 inkscape 试试看
Reply View the author
咿呀
deepin beta test group
2020-06-06 07:05
#127
https://bbs.deepin.org/post/195128
1. 这个暂时无解。其实是能让图标让路的——只要你先启动顶栏再启动 dock。然而,他俩同时只能有一个起效 ...

hah谢谢,我用的好些appimage格式的软件,就这个新版inkscape和qv2ray不给面子;inkscape菜单栏、qv2ray打开后在顶栏只要右键qv2ray,顶栏就关了(我看到qv2ray有更新了,更新后再看看会不会)
Reply View the author
septemberhx
deepin
2020-06-06 07:19
#128
geniusking replied at 2020-6-5 23:05
hah谢谢,我用的好些appimage格式的软件,就这个新版inkscape和qv2ray不给面子;inkscape菜单栏、qv2ray ...

顶栏崩了可能是今天修复的一个bug导致的,下个版本就好了。
Reply View the author
jianguo922
deepin
2020-06-06 16:28
#129
支持,支持
Reply View the author
walkerjin
deepin
2020-06-07 01:31
#130
septemberhx 发表于 2020-6-5 16:08
1. 你的意思应该是某些应用在非最大化、非激活状态依然显示标题栏按钮或者菜单吧?这个我用 vscode 和 ty ...

我试了下关闭顶栏程序,发现vscode和typora时软件顶栏没了,也就是说不开启顶栏这两个软件也没顶栏,开了顶栏就直接到这个顶栏上了,其他程序没有这个问题。
Reply View the author
septemberhx
deepin
2020-06-07 01:47
#131
https://bbs.deepin.org/post/195128
我试了下关闭顶栏程序,发现vscode和typora时软件顶栏没了,也就是说不开启顶栏这两个软件也没顶栏,开了 ...

这应该是 electron 的全局菜单逻辑。如果想关闭全局菜单的话,必须停掉 dde-globalmenu-service 而不是顶栏。关闭这个 service 后,就不会有全局菜单了。

目前以及以后也不会支持针对某个程序开启顶栏(上游的全局菜单代码不支持),不过如果你想让 electron 程序一直在程序内部显示菜单的话,可以加上环境变量 ELECTRON_FORCE_WINDOW_MENU_BAR=1
Reply View the author
walkerjin
deepin
2020-06-07 05:13
#132
https://bbs.deepin.org/post/195128
这应该是 electron 的全局菜单逻辑。如果想关闭全局菜单的话,必须停掉 dde-globalmenu-service 而不是顶 ...

好的,谢谢
Reply View the author
baizeyv
deepin
2020-06-07 17:08
#133
大佬,我下载后 dde-globalmenu-service这个文件我这里怎么没有呢?(STEP 2)
Reply View the author
septemberhx
deepin
2020-06-07 17:37
#134
baizeyv replied at 2020-6-7 09:08
大佬,我下载后 dde-globalmenu-service这个文件我这里怎么没有呢?(STEP 2)

这是另外一个git仓库,文中有附链接
Reply View the author
jingle
deepin
2020-06-08 16:46
#135
https://bbs.deepin.org/user/238373 可以搞个插件专题
Reply View the author
158******20
deepin
2020-06-09 16:55
#136
感谢楼主分享,但是发现,屏幕缩放 1.25后,整个顶栏的宽度 也只剩下大四分之三了。
Reply View the author
158******20
deepin
2020-06-09 16:58
#137
宽度 断了一节,大概我的缩放比例为 1.25



Reply View the author
septemberhx
deepin
2020-06-09 17:12
#138
szpoppy replied at 2020-6-9 08:58
宽度 断了一节,大概我的缩放比例为 1.25

我这边缩放2倍没问题。

只是不支持动态调整,像切换主屏幕也算
Reply View the author
houyawei
deepin
2020-06-09 18:54
#139
大佬,我照做了,但是为啥没见插件目录,是哪步做错了吗


  1. (gdb) r
  2. Starting program: /home/houyawei/dde-top-panel
  3. [Thread debugging using libthread_db enabled]
  4. Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
  5. [New Thread 0x7ffff1aea700 (LWP 13225)]
  6. [New Thread 0x7ffff1171700 (LWP 13226)]
  7. [New Thread 0x7ffff08d5700 (LWP 13227)]
  8. [New Thread 0x7fffe3fff700 (LWP 13228)]
  9. "dde-top-panel" can not find qm files
  10. [New Thread 0x7fffe37fe700 (LWP 13229)]
  11. ===========> create top panel on "eDP-1-1"
  12. Not allowed to change display mode
  13. 1
  14. Abandon the plugin "" due to the unnecessary plugin type
  15. 1
  16. Abandon the plugin "" due to the unnecessary plugin type
  17. 1
  18. Abandon the plugin "" due to the unnecessary plugin type
  19. 1
  20. Abandon the plugin "" due to the unnecessary plugin type
  21. 1
  22. Abandon the plugin "" due to the unnecessary plugin type
  23. 1
  24. Abandon the plugin "" due to the unnecessary plugin type
  25. 1
  26. Abandon the plugin "" due to the unnecessary plugin type
    Failed to update property: "updateTranslucentBackgroundFromProperty"
  27. using dock plugins dir: "/usr/lib/dde-top-panel/plugins"
  28. [New Thread 0x7fffdbfff700 (LWP 13230)]
  29. [Thread 0x7fffdbfff700 (LWP 13230) exited]
  30. XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1)
  31. Failed to get active window id !
  32. XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1)
  33. Failed to get active window id !
  34. XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1)
  35. Failed to get active window id !
Copy the Code



Reply View the author
septemberhx
deepin
2020-06-09 19:01
#140
https://bbs.deepin.org/post/195128
大佬,我照做了,但是为啥没见插件目录,是哪步做错了吗

程序不会主动创建那个目录的,自己创建一个,然后把插件放进去就好了
Reply View the author
......7 / 32
To page