justforlxz / deepin-topbar

Provide the function of the top bar, beautiful, easy to use.
https://blog.justforlxz.com/
GNU General Public License v3.0
326 stars 51 forks source link

update it to new deepin desktop v20 #178

Open elswerky opened 4 years ago

elswerky commented 4 years ago

Can you please update it to work on new version of deepin desktop v20 please

it is no longer working on it

SeptemberHX commented 4 years ago

I compiled it on V20 Beta, and it works, though a little ugly. See the attachment.

image

deepin-topbar.zip

If you want to compile it on your own, you should:

  1. modify src/CMakeLists.txt, add DtkGui dependency just like DtkWidgets
  2. add #include <DRegionMonitor> and DGUI_USE_NAMESPACE in files using DRegionMonitor class which are the main reason that it can't pass the compilation.
SeptemberHX commented 4 years ago

Hi, I have created dde-top-panel for Deepin V20: https://github.com/SeptemberHX/dde-top-panel. It integrates the window title with the top panel so you can hide the window title for maxmized window !

JunioCalu commented 4 years ago

I compiled it on V20 Beta, and it works, though a little ugly. See the attachment.

image

deepin-topbar.zip

If you want to compile it on your own, you should:

  1. modify src/CMakeLists.txt, add DtkGui dependency just like DtkWidgets
  2. add #include <DRegionMonitor> and DGUI_USE_NAMESPACE in files using DRegionMonitor class which are the main reason that it can't pass the compilation.

I made a repair for archlinux based on your suggestion, where it can be seen here:

https://aur.archlinux.org/cgit/aur.git/tree/fix_depends.patch?h=deepin-topbar-git

elswerky commented 4 years ago

I compiled it on V20 Beta, and it works, though a little ugly. See the attachment. image deepin-topbar.zip If you want to compile it on your own, you should:

  1. modify src/CMakeLists.txt, add DtkGui dependency just like DtkWidgets
  2. add #include <DRegionMonitor> and DGUI_USE_NAMESPACE in files using DRegionMonitor class which are the main reason that it can't pass the compilation.

I made a repair for archlinux based on your suggestion, where it can be seen here:

https://aur.archlinux.org/cgit/aur.git/tree/fix_depends.patch?h=deepin-topbar-git

thank you ,, i installed it from aur and yes it works now ,,just the drawbacks are on desktop ,icons doesn't shift below it ,,,and also preference settings doesn't open ,, i need it to enable show tray icons on topbar and hide it from dock ,,,but preference not opening ,,also don't konw if hide tray icons on dock will work on v20 or won't work ,,thank you for making it alive again for arch

elswerky commented 4 years ago

Hi, I have created dde-top-panel for Deepin V20: https://github.com/SeptemberHX/dde-top-panel. It integrates the window title with the top panel so you can hide the window title for maxmized window !

it doesn't work on arch i tried it untill latest version of dde-top-panel but not working ,soekthing related to qt and gcc as i remember

SeptemberHX commented 4 years ago

Hi, I have created dde-top-panel for Deepin V20: https://github.com/SeptemberHX/dde-top-panel. It integrates the window title with the top panel so you can hide the window title for maxmized window !

it doesn't work on arch i tried it untill latest version of dde-top-panel but not working ,soekthing related to qt and gcc as i remember

Yes, arch cannnot run the binary in the release file, because the release file is compiled only for deepin v20. I think it may work for arch if building from source,

JunioCalu commented 4 years ago

I compiled it on V20 Beta, and it works, though a little ugly. See the attachment. image deepin-topbar.zip If you want to compile it on your own, you should:

  1. modify src/CMakeLists.txt, add DtkGui dependency just like DtkWidgets
  2. add #include <DRegionMonitor> and DGUI_USE_NAMESPACE in files using DRegionMonitor class which are the main reason that it can't pass the compilation.

I made a repair for archlinux based on your suggestion, where it can be seen here: https://aur.archlinux.org/cgit/aur.git/tree/fix_depends.patch?h=deepin-topbar-git

thank you ,, i installed it from aur and yes it works now ,,just the drawbacks are on desktop ,icons doesn't shift below it ,,,and also preference settings doesn't open ,, i need it to enable show tray icons on topbar and hide it from dock ,,,but preference not opening ,,also don't konw if hide tray icons on dock will work on v20 or won't work ,,thank you for making it alive again for arch

I also noticed this, some functions of dtkwidget and qt5-base are obsolete and should be updated in the deepin-topbar, as can be seen in the build warning outputs, it would take a little more time to study the libraries and make changes necessary for the full execution of the application.

JunioCalu commented 4 years ago

Hi, I have created dde-top-panel for Deepin V20: https://github.com/SeptemberHX/dde-top-panel. It integrates the window title with the top panel so you can hide the window title for maxmized window !

it doesn't work on arch i tried it untill latest version of dde-top-panel but not working ,soekthing related to qt and gcc as i remember

Yes, arch cannnot run the binary in the release file, because the release file is compiled only for deepin v20. I think it may work for arch if building from source,

I built a binary of the dde-top-panel with this PKGBUILD, the problem is in libtray.so, for some reason even compiled from the source it is not recognizable, it is necessary to copy libtray.so from the system's native deepin-dock, from /usr/lib/dde-dock/plugins/libtray.so to /usr/lib/dde-top-panel/plugins/ after installation to make it work.

PKGBUILD, and the installation file: PKGBUILD.txt dde-top-panel.install.txt

SeptemberHX commented 4 years ago

Hi, I have created dde-top-panel for Deepin V20: https://github.com/SeptemberHX/dde-top-panel. It integrates the window title with the top panel so you can hide the window title for maxmized window !

it doesn't work on arch i tried it untill latest version of dde-top-panel but not working ,soekthing related to qt and gcc as i remember

Yes, arch cannnot run the binary in the release file, because the release file is compiled only for deepin v20. I think it may work for arch if building from source,

I built a binary of the dde-top-panel with this PKBUILD, the problem is in libtray.so, for some reason even compiled from the source it is not recognizable, it is necessary to copy libtray.so from the system's native deepin-dock, from /usr/lib/dde-dock/plugins/libtray.so to /usr/lib/dde-top-panel/plugins/ after installation to make it work.

PKGBUILD, and the installation file: PKGBUILD.txt dde-top-panel.install.txt

I have removed the tray plugin from the source since I found the plugin file should be copied from the /usr/lib/dde-dock/plugins

JunioCalu commented 4 years ago

Hi, I have created dde-top-panel for Deepin V20: https://github.com/SeptemberHX/dde-top-panel. It integrates the window title with the top panel so you can hide the window title for maxmized window !

it doesn't work on arch i tried it untill latest version of dde-top-panel but not working ,soekthing related to qt and gcc as i remember

Yes, arch cannnot run the binary in the release file, because the release file is compiled only for deepin v20. I think it may work for arch if building from source,

I built a binary of the dde-top-panel with this PKBUILD, the problem is in libtray.so, for some reason even compiled from the source it is not recognizable, it is necessary to copy libtray.so from the system's native deepin-dock, from /usr/lib/dde-dock/plugins/libtray.so to /usr/lib/dde-top-panel/plugins/ after installation to make it work. PKGBUILD, and the installation file: PKGBUILD.txt dde-top-panel.install.txt

I have removed the tray plugin from the source since I found the plugin file should be copied from the /usr/lib/dde-dock/plugins

Output of dde-top-panel and libtray.so compiled from source, on archlinux:

"dde-top-panel" can not find qm files Attribute Qt::AA_EnableHighDpiScaling must be set before QCoreApplication is created. ===========> create top panel on "eDP1" Not allowed to cQhange display mode Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString) 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type 1 Abandon the plugin "" due to the unnecessary plugin type QMetaObject::invokeMethod: No such method deepin_platform_plugin::DNoTitlebarWindowHelper::updateTranslucentBackgroundFromProperty() Failed to update property: "updateTranslucentBackgroundFromProperty" using dock plugins dir: "/usr/lib/dde-top-panel/plugins" qt.qpa.xcb: QXcbConnection: XCB error: 5 (BadAtom), sequence: 480, resource id: 0, major code: 20 (GetProperty), minor code: 0 "DockPlugin" load plugin failed!!! "Cannot load library /usr/lib/dde-top-panel/plugins/libtray.so: (/usr/lib/dde-top-panel/plugins/libtray.so: undefined symbol: _ZNK14CustomSettings13getActiveFontEv)" "/usr/lib/dde-top-panel/plugins/libtray.so" "DockPlugin" init plugin: "datetime" load plugins item: "datetime" "datetime" DatetimeWidget(0x7f3738015e90) "DockPlugin" init plugin finished: "datetime" "DockPlugin" init plugin: "keyboard" "DockPlugin" init plugin finished: "keyboard" "DockPlugin" init plugin: "multitasking" load plugins item: "multitasking" "multitasking" MultitaskingWidget(0x563a24f47c10) "DockPlugin" init plugin finished: "multitasking" "DockPlugin" init plugin: "onboard" load plugins item: "onboard" "onboard" OnboardItem(0x563a24f77250) "DockPlugin" init plugin finished: "onboard" "DockPlugin" init plugin: "overlay-warning" "DockPlugin" init plugin finished: "overlay-warning" "DockPlugin" init plugin: "show-desktop" load plugins item: "show-desktop" "show-desktop" ShowDesktopWidget(0x563a24f46070) "DockPlugin" init plugin finished: "show-desktop" "DockPlugin" init plugin: "shutdown" load plugins item: "shutdown" "shutdown" ShutdownWidget(0x563a24f69cf0) "DockPlugin" init plugin finished: "shutdown" "DockPlugin" init plugin: "trash" true load plugins item: "trash" "trash" TrashWidget(0x563a24f645b0) "DockPlugin" init plugin finished: "trash" 2 3 Abandon the plugin "" due to the unnecessary plugin type 2 3 Abandon the plugin "" due to the unnecessary plugin type 2 2 XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id ! XGetWindowProperty[_NET_ACTIVE_WINDOW] failed (code=1) Failed to get active window id !