tsujan / BreezeEnhanced

A fork of KDE Breeze decoration with additional options
GNU General Public License v3.0
165 stars 13 forks source link

Feature requests #1

Closed trmdi closed 6 years ago

trmdi commented 6 years ago

Some guys would love a transparent blur titlebar for Konsole, like what SierraBreeze and BreezeBlurred can do. Will you add such an option ?

breezeblurred sierrabreeze

tsujan commented 6 years ago

Plasma 5.14 should be released today and will come to my distro with a short delay. I still think that those box shadows have a problem when they're large but I'm ready to upgrade BreezeEnhanced as soon as Plasma 5.14 comes to Manjaro testing.

trmdi commented 6 years ago

/OT Sorry to bother you, do you have a way to make this be true? https://bugs.kde.org/show_bug.cgi?id=399757 Read Chris Holand's comments. After hours played with C++ and Qt, KDecoration, I can not find one, because I'm not very good at them. I see you very good at those, can you give me some insights to continue playing with it. :P

We can get it to draw a non-animated button. Unfortunately, it's not animated. img https://gist.github.com/Zren/40f657da96e4d8a29b13d74b74e956c5

What I want is to have animated buttons (from BreezeEnhanced) to be shown with QML.

tsujan commented 6 years ago

You're asking that from someone who hates QML and QtQuick ;) I'm serious; IMO, QML is the worst thing happened to Qt.

tsujan commented 6 years ago

This is one explanation: https://github.com/lxqt/lxqt/issues/1433 . There are others.

trmdi commented 6 years ago

Then I want to ask a Qt question.

I'm not saying about the only buttons like in the picture above. This time I created a fully client that has titlebar, window, border... from QML code, and it has the hover effect on close/min/max buttons like a normal window.

But when I try: connect(m_button, &KDecoration::DecorateButton::onHoveredChanged, [] () { qDebug() << "hmm..."}) it didn't work as expected when I move the mouse in and out of the buttons. m_button is a object of BreezeButton class.

What am I understanding/doing wrong with connect() ? Or those buttons are not objects of BreezeButton class?

tsujan commented 6 years ago

@trmdi See here:https://github.com/tsujan/BreezeEnhanced/blob/4269128339f581392bdfe66bc72fe8c0a2e82871/breezebutton.cpp#L57

trmdi commented 6 years ago

Yes, I mean this. But no qDebug() msg is out ??? (There are some typos in my comment above)

For example, can I create an small console app that show a qDebug message when I hover on those BreezeButton everywhere ?

(A stupid idea that I didn't test yet)

// sorry, I just started to learn C++ and Qt so I'm asking so stupid questions.

tsujan commented 6 years ago

For example, can I create an small console app that show a qDebug message when I hover on those BreezeButton everywhere ?

I can't be sure about anything related to QML because I run away from it ;) However, if you use qDebug() in a Qt/C++ program and if debug messages aren't suppressed on you system (they aren't by default), you'll usually see the message in the terminal.

That also depends on what you do in the terminal. If the program is an app and you run it from the terminal, you'll see the message. If it's a library and you run an app that uses it, it may or may not be seen because the app can suppress it.

tsujan commented 6 years ago

BTW, Qt Creator suppresses qDebug() messages in its own output. I don't know whose idea it was but it was a very bad idea.

tsujan commented 6 years ago

Maybe a real example could help:

I use a lot of qDebug() in Kvantum when doing complex things (and remove them later). kvantumpreview and many other apps show the debug messages when I run them in the terminal but, for example, smplayer shows nothing.

I think no Qt dev codes without qDebug() ;) It's the best tool for finding and fixing bugs.