Third-party dock (C++): how to support AutoHide (Screen Edge) and Global Shortcuts ?

Viet Dang dangvd at gmail.com
Mon Oct 21 18:20:17 BST 2024


Thanks Vlad, I'll give them a go.

On Mon, Oct 21, 2024 at 10:19 AM Vlad Zahorodnii <vlad.zahorodnii at kde.org>
wrote:

> Hi,
>
> On 10/18/24 11:03 PM, Viet Dang wrote:
> > Hi,
> >
> > I'm working on some improvements of my third-party dock (written in
> > C++ here: https://github.com/dangvd/crystal-dock) and have some
> > questions about AutoHide (Screen Edge) and Global Shortcuts support in
> > KWin:
> > - AutoHide: I'd like to get my dock to have an AutoHide behaviour like
> > that of a Plasma panel. Is Screen Edge protocol
> > (https://wayland.app/protocols/kde-screen-edge-v1) the right one to
> > use? And if it is, what's the best way to get wl_surface object from
> > my main widget? (I already use layer-shell-qt for my main widget)
>
> You could use the QNativeInterface API to access the wl_surface object.
> See
>
> https://invent.kde.org/plasma/kwin/-/blob/3740a1b52adc1e5dcaa13320e28bf988e9fb5aec/src/helpers/killer/killer.cpp#L298
> for an example how to do it.
>
> > - Global Shortcuts: how do I support global shortcuts for my dock
> > (e.g. Meta-1 to activate launcher 1 and so on). Is xdg-desktop-portal
> > (
> https://github.com/flatpak/xdg-desktop-portal/blob/main/data/org.freedesktop.portal.GlobalShortcuts.xml)
>
> > the right one to use?
>
> That, or if you know that the dock will run mostly in Plasma, you could
> use KGlobalAccel to save yourself some time.
>
> Regards,
> Vlad
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20241021/c0d735a2/attachment.htm>


More information about the kwin mailing list