How can I create a 'desktop dropdown' similar to yakuake?

75 Views Asked by At

I've been working on a messenger app (mainly written in Python) for me and my friends as a sideproject. Now since desktops are generally an endless mess and most people usually have way too many windows open, I would really like to wrap it in a 'desktop dropdown' (sorry I don't have a better word for it). This way I could make it pop up with a shortcut-key when needed, but it wouldn't add a window to the clutter when it's not. My inspiration for the whole idea is Yakuake (Linux dropdown terminal).

enter image description here

Now the problem is that I literally don't know where to start. I'm aware that this is not the kind of question people on SO generally appreciate, but all my research so far has not brought me any results and I just don't know where else I could ask a question like this. So, in a nutshell, what am I looking for:

  • I'm looking for advise which language/framework/etc. I could use to create something like this
  • It would be primarily for Linux (but I'm open for input for other OS too)
  • I'm currently mainly working in Python and JS, but I would also like to learn something new if needed

Sorry again for the very open question. At this point, after all my research, I'm just hoping to get lucky and find somebody who can give me any advise on where to start looking.

1

There are 1 best solutions below

1
On BEST ANSWER

This is not a complete answer but I did some digging how Yakuake does it:

Yakuake is written using KDE Frameworks, a C++ library that extends the Qt Framework. Qt is a UI framework mainly for C++ but it also has Python bindings.

In the source code for Yakuake, they are mainly referring to this function in KFW which sets some data to the actual window system. So in short, Yakuake does some fancy stuff with native window effects using KFW.

If you don't want to learn C++ for this, you can just use Qt (or any other Python UI framework for that matter) and do some tricks with animating the window height.

Another thing you probably have to consider is setting shortcut keys, which will also vary depending on the OS/DE you use.