This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Kwin Aero like: transparent glass

Tags: None
(comma "," separated)
crose
Registered Member
Posts
14
Karma
0

Kwin Aero like: transparent glass

Sun Jun 29, 2014 5:11 am
Is there a switch to enable a feature known in Windows Aero as 'transparent glass' in Kwin? Currently, with the smooth-tasks widget installed, you almost get this effect, except the window displayed hovering over the taskbar applicaton icon can be very difficult to read when all other windows over that window in the stack are also displayed with some transparency. In Windows Aero, the hovered window is completely displayed as if the user had selected that window popping it to the top of the stack. That is, other windows in the stack above the target window are not displayed, only the hovered target window.

I apologize if my description of the desired Windows Aero effect is confusing or not clear. Running within windows shows this different effect pretty clearly.

If there is no switch, would I need to modify the kwin source, create a new theme, or other method?

I'm using KDE 4.10.5 on Fedora 18 and the oxygen theme.

Thank you very much,
Chris
chrisrose@hawaii.rr.com
luebking
Karma
0
effects/highlightwindow/highlightwindow.cpp
Translucency is hardcoded to 15%, you'd have to make it configurable and/or replace the occurrences of "0.15" in the code.

Then please present the result at git.reviewboard.kde.org for, well, review ;-)
crose
Registered Member
Posts
14
Karma
0

Re: Kwin Aero like: transparent glass

Mon Jun 30, 2014 11:34 pm
Luebking,
thank you so much for your pointers on what KWin code to mod. I was able to git the kde-workspace following the instructions on this web page in order to look at the code you indicated and attempt to build kwn: https://community.kde.org/KWin/Building

I've worked through a number of problems and dependencies, But after a few days, I'm unable to pull it all together to do the build. I'm still getting many cMake errors like the following:

emachines2 /home/chris/kdebuild ! $ cmake "$KDE_WORKSPACE" -DCMAKE_INSTALL_PREFIX=$KWIN_INSTALL_DIR -DCMAKE_BUILD_TYPE=debugfull -DKWIN_BUILD_OXYGEN=OFF -DKDE4_BUILD_TESTS=TRUE
CMake Warning (dev) at /usr/lib64/cmake/KF5KDE4Support/KF5KDE4SupportConfig.cmake:104 (message):
The KF5KDE4Support package is deprecated: use
find_package(KF5KDELibs4Support) or
find_package(KF5 COMPONENTS KDELibs4Support) instead.
Call Stack (most recent call first):
/usr/lib64/cmake/KF5/KF5Config.cmake:28 (find_package)
libksysguard/CMakeLists.txt:12 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at /usr/lib64/cmake/KF5/KF5Config.cmake:28 (find_package):
Could not find a package configuration file provided by "KF5Plasma" with
any of the following names:

KF5PlasmaConfig.cmake
kf5plasma-config.cmake

Add the installation prefix of "KF5Plasma" to CMAKE_PREFIX_PATH or set
"KF5Plasma_DIR" to a directory containing one of the above files. If
"KF5Plasma" provides a separate development package or SDK, be sure it has
been installed.
Call Stack (most recent call first):
libksysguard/CMakeLists.txt:12 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/chris/kdesrc/CMakeFiles/CMakeOutput.log".

I'm currently running Fedora 20:
[root@emachines2 ~]# uname -a
Linux emachines2 3.14.8-200.fc20.x86_64 #1 SMP Mon Jun 16 21:57:53 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

I sure wish I could build the src as after looking at your indicated source effects/highlightwindow/highlightwindow.cpp
it looks like such a simple change. And the results would be so dramatic making the smooth-tasks widget with real "transparent glass" such a truly useful feature. As it is now, with the partially transparent stacked window(s), a complete view of the target window is less than optimal. If you know of a procedure to put together a buildable KWin source repository, it would be greatly appreciated.

Thank you very much,
Chris
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Ah, you appear to be trying to build the 'master' branch - you need to build the KDE/4.11 branch in this case (actually contains the 4.13 code as workspace is in bug fix mode).


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
crose
Registered Member
Posts
14
Karma
0
Ben,
thank you for that suggestion. I did figure this out after much trial and error. So I reverted back to what you'd think would be a simpler fool proof procedure using kdesrc-build. This script does give me some problems initially when it checks out a module (hangs in the attempt) and then finally gives the message continuing anyway. I got around that by doing the git myself and re-running the script. But I can't figure out the git command options to check out any branch other than the master branch (as you're sort of suggesting). If you could supply the detailed git command options to check out the appropriate branch or better yet the edits to .kdesrc-buildrc it would be greatly appreciated.

I've added the following to the end of the .kdesrc-buildrc generated by running kdesrc-build-setup (complete file attached at the bottom). The only setup items other than default options were: ' I do not have commit permission' and 'build qt'. Not that I need to change those options. I just wanted to see what would happen, as I had previously encountered so many errors relative to qt5 when trying to do the build by hand:

module-set
repository kde-projects
use-modules kdelibs kde-workspace kde-runtime
branch-group latest-qt4
#branch-group kf5-qt5 # or latest-qt4 or stable-qt4
end module-set

For example, qt does not successfully build after 3+ hrs along with many other modules. kde-workspace, which is where kwin lives, is not even attempted, even though it appears to be referenced in .kdesrc-buildrc:

Unable to build qt!
Took 3 hours, 19 minutes, and 32 seconds.
Overall time for qt was 3 hours, 19 minutes, and 44 seconds.

module-set workspace
repository kde-projects

use-modules kde-workspace kdeplasma-addons
end module-set

With this possible mis-matched setup, I still get a lot of cMake errors like this:
Building nepomuk-core from baselibs-kdelibs (19/30)
Updating nepomuk-core (to branch master)
No source update, but nepomuk-core meets other building criteria.
Source update complete for nepomuk-core: no files affected
Preparing build system for nepomuk-core.
Running cmake...
Unable to configure nepomuk-core with CMake!
Unable to configure nepomuk-core with KDE
Overall time for nepomuk-core was 1 second.

And then finally:

<<< PACKAGES SUCCESSFULLY BUILT >>>
extra-cmake-modules
automoc
cagibi
attica
soprano
phonon
phonon-gstreamer
phonon-vlc
libstreams
libstreamanalyzer
strigiutils
strigidaemon
strigiclient

Removing 2 out of 2 old log directories...

<<< PACKAGES FAILED TO BUILD >>>
qt - ~/kdesrc/log/2014-06-30-03/qt/build.log
polkit-qt-1 - ~/kdesrc/log/2014-06-30-03/polkit-qt-1/cmake.log
kactivities - ~/kdesrc/log/2014-06-30-03/kactivities/cmake.log
kfilemetadata - ~/kdesrc/log/2014-06-30-03/kfilemetadata/cmake.log
baloo - ~/kdesrc/log/2014-06-30-03/baloo/cmake.log
nepomuk-core - ~/kdesrc/log/2014-06-30-03/nepomuk-core/cmake.log
nepomuk-widgets - ~/kdesrc/log/2014-06-30-03/nepomuk-widgets/cmake.log
baloo-widgets - ~/kdesrc/log/2014-06-30-03/baloo-widgets/cmake.log
kde-runtime - ~/kdesrc/log/2014-06-30-03/kde-runtime/cmake.log
akonadi - ~/kdesrc/log/2014-06-30-03/akonadi/cmake.log
kdepimlibs - ~/kdesrc/log/2014-06-30-03/kdepimlibs/cmake.log
kdeplasma-addons - ~/kdesrc/log/2014-06-30-03/kdeplasma-addons/cmake.log
kate - ~/kdesrc/log/2014-06-30-03/kate/cmake.log
kde-baseapps - ~/kdesrc/log/2014-06-30-03/kde-baseapps/cmake.log
konsole - ~/kdesrc/log/2014-06-30-03/konsole/cmake.log
kdepim - ~/kdesrc/log/2014-06-30-03/kdepim/cmake.log
kdepim-runtime - ~/kdesrc/log/2014-06-30-03/kdepim-runtime/cmake.log
:-(
Your logs are saved in /home/chris/kdesrc/log/2014-06-30-03

As an aside, I also get the following on all modules, when trying to re-run kdesrc-build (maybe since I can't commit?):

emachines2 /home/chris/src/kwin/kdesrc-build ! $ ./kdesrc-build --refresh-build
* Downloading projects.kde.org project database...
Updating kde-build-metadata (to branch master)
Local changes detected, stashing them away...
* Unable to download required metadata for build process
* Will attempt to press onward...
* Exception message: Runtime Error: Unable to stash local changes for kde-build-metadata, aborting update.

Building qt (1/30)
Updating qt (to branch 4.8)
Local changes detected
Error updating qt, removing from list of packages to build.
> Unable to stash local changes for qt, aborting update.
Unable to update qt, build canceled.

Building extra-cmake-modules from baselibs-support (1/30)
Updating extra-cmake-modules (to branch master)
Local changes detected
Error updating extra-cmake-modules, removing from list of packages to build.
> Unable to stash local changes for extra-cmake-modules, aborting update.
Unable to update extra-cmake-modules, build canceled.
...


----------- Complete .kdesrc-buildrc ----------------

# Autogenerated by kdesrc-build-setup. You may modify this file if desired.
global

# The path to your Qt installation.
qtdir ~/qt4

# KDE install directory
kdedir ~/kde4

# Directory for downloaded source code
source-dir ~/kdesrc

# Directory to build KDE into before installing
build-dir build

# Use multiple cores for building. Other options to GNU make may also be
# set.
make-options -j2

end global

module qt
configure-flags -fast -debug -system-zlib -system-libpng -system-libjpeg \
-plugin-sql-mysql -no-phonon \
-dbus -webkit -nomake examples -nomake demos

# KDE's unmodified copy of Qt is used by default since git.kde.org supports
# cloning the module more reliably than gitorious. To use standard Qt as
# provided by Nokia, comment the following line and uncomment the next
# repository line.
repository kde:qt

# Nokia's Qt. Note that gitorious has had known issues checking out large
# git modules such as Qt. If there are failures try using KDE's qt (see
# above).
# repository git://gitorious.org/qt/qt.git

branch 4.8
end module

# These encompass modules that are not directly a part of KDE proper but are
# required or highly recommended for the KDE framework and are developed in
# the KDE source repository.
module-set baselibs-support
repository kde-projects

use-modules extra-cmake-modules automoc cagibi attica soprano polkit-qt-1
end module-set

# Phonon provides the KDE multimedia layer. It requires an appropriate backend
# to be installed to actually implement multimedia.
module-set framework-phonon
repository kde-projects

use-modules phonon/phonon phonon-gstreamer phonon-vlc
end module-set

# Strigi provides file analysis tools for extracting information from files
# (e.g. music length, picture size, etc.) It is split into several submodules
# so do not alter the order in the use-modules below.
module-set strigi
repository kde-projects

use-modules strigi/libstreams strigi/libstreamanalyzer strigi/strigiutils \
strigi/strigidaemon strigi/strigiclient
end module-set

# libdbusmenu is needed to support new-style Plasma system tray icons and
# support in the Unity shell. Installing a recent development package from your
# distribution should be sufficient, but if you want to have the latest then
# make sure you have the "Bazaar" program installed and uncomment the
# following:
#module libdbusmenu-qt
# The lp: prefix refers to Canonical's Launchpad repository
# repository bzr://lp:libdbusmenu-qt
#end module

# Base/essential KDE libraries and the required runtime programs.
# Split into two module-sets to setup the right branch for kdelibs.
module-set baselibs-kdelibs
repository kde-projects

use-modules kdelibs
end module-set

module-set baselibs-other
repository kde-projects

use-modules kactivities kde-runtime nepomuk-core
end module-set

module-set baselibs-pimlibs
repository kde-projects

use-modules akonadi kdepimlibs
end module-set

module-set workspace
repository kde-projects

use-modules kde-workspace kdeplasma-addons
end module-set

module-set base
repository kde-projects

# kde-baseapps requires kate to be built first.
use-modules kate kde-baseapps konsole
end module-set

module-set pim
repository kde-projects

use-modules nepomuk-widgets kdepim-runtime kdepim
end module-set

module-set
repository kde-projects
use-modules kdelibs kde-workspace kde-runtime
branch-group latest-qt4
#branch-group kf5-qt5 # or latest-qt4 or stable-qt4
end module-set
luebking
Karma
0
Code: Select all
git clone git://anongit.kde.org/kde-workspace.git
cd kde-workspace
git checkout KDE/4.11
mkdir build
cd build
ccmake .. # sic, ccmake is ncurses cmake =)
# you can deactivate all BUILD_* except for BUILD_kwin, adjust the path
# press c)onfigure - watch for errors!, g)enerate, q)uit
cd kwin
make && sudo make install
crose
Registered Member
Posts
14
Karma
0

Re: Kwin Aero like: transparent glass

Tue Jul 01, 2014 10:26 pm
Lubeking,
thank you for the recipe. Progress so far:

312 git clone git://anongit.kde.org/kde-workspace.git
313 ls
314 cd kde-workspace
315 git checkout KDE/4.11
316 mkdir build
317 cd build
318 ccmake ..

Regarding: "# you can deactivate all BUILD_* except for BUILD_kwin, adjust the path"

I don't see any BUILD_s nor a reference to BUILD_kwin in the 2 advanced screens other than: CMAKE_BUILD_TYPE which is blank - which is left blank.

Maybe my ccmake version is incorrect?

emachines2 /home/chris/src/kwin2/kde-workspace/build ! $ ccmake .. --version
ccmake version 2.8.12.2

In addition I see:

KDE4Internal_DIR KDE4Internal_DIR-NOTFOUND
KDE4_DATA_DIR /home/chris/src/kwin2/kde-workspace
KDE4_KDECONFIG_EXECUTABLE /usr/bin/kde4-config

--->>> modified

KDE4Internal_DIR /home/chris/src/kwin2/kde-workspace
KDE4_DATA_DIR /home/chris/src/kwin2/kde-workspace
KDE4_KDECONFIG_EXECUTABLE /usr/bin/kde4-config

I set KDE4Internal_DIR and KDE_DATA_DIR to /home/chris/src/kwin2/kde-workspace to eliminate the following error, but to no avail:

CMake Error at /usr/share/cmake/Modules/FindKDE4.cmake:95 (find_package):
By not providing "FindKDE4Internal.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"KDE4Internal", but CMake did not find one.

Could not find a package configuration file provided by "KDE4Internal" with
any of the following names:

KDE4InternalConfig.cmake
kde4internal-config.cmake

Add the installation prefix of "KDE4Internal" to CMAKE_PREFIX_PATH or set
"KDE4Internal_DIR" to a directory containing one of the above files. If
"KDE4Internal" provides a separate development package or SDK, be sure it
has been installed.
Call Stack (most recent call first):
CMakeLists.txt:18 (find_package)

Also, when this works, will the executable /usr/bin/kde4-config be moidified? If so, is that a good thing? Current Settings are:

KDE4_KDECONFIG_EXECUTABLE /usr/bin/kde4-config
CMAKE_INSTALL_PREFIX /home/chris/src/kwin2/install

Thanks again,
Chris
crose
Registered Member
Posts
14
Karma
0
Lue,
I also just did a git for kdelibs as some googling showed KDE4InternalConfig.cmake could be found there - which it is. But my cmake settings via ccmake must still be incorrect as the above CMake error persists.

Thanks again,
Chris
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS
Please install the appropriate kdelibs development package from your package manager. On Debian derivates this is kdelibs5-dev.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]
crose
Registered Member
Posts
14
Karma
0

Re: Kwin Aero like: transparent glass

Wed Jul 02, 2014 10:54 pm
Got it built! Making a build dir in kwin and starting from there allowed me to get at all the BUILD_* vars.

cd kwin/build
ccmake ../..
make

The (g)enerate did not complete as there was a policy issue that needed to be assigned new/old somewhere with cmake_policy. But w/o that step, exiting ccmake and trying the make was successful.

Thanks for all the help.

Chris
crose
Registered Member
Posts
14
Karma
0
Ben,
do you have any pointers on getting the code change submitted for review? I've looked over:

https://techbase.kde.org/Development/Review_Board

After installing many packages on Fedora 20, I still don't have the command post-review. But I do have rbt.

$ rbt --version
RBTools 0.6.2

Thanks,
Chris
luebking
Karma
0
For a single review, you don't have to use rvbt (to need to set up your account and stuff. Makes sense for regular review requests, otherwise rather wastes time) but can use the webinterface.
Commit (not push) your changes, then perform "git format-patch HEAD~1" and upload the patch file on reviewboard ("kwin" for plasma-next/KF5, "kde-workspace" for KDE SC4)
Fill in the mandatory fields, ensure "kwin" is added as group and click submit.
crose
Registered Member
Posts
14
Karma
0

Re: Kwin Aero like: transparent glass

Mon Jul 14, 2014 10:27 am
webinterface? are you referencing a browser url?

/home/chris/src/kwin2/kde-workspace $ git config --global user.email "chrisrose@hawaii.rr.com"
/home/chris/src/kwin2/kde-workspace $ git config --global user.name "chris rose"
/home/chris/src/kwin2/kde-workspace $ git commit
On branch KDE/4.11
Your branch is up-to-date with 'origin/KDE/4.11'.

Changes not staged for commit:
modified: kwin/effects/highlightwindow/highlightwindow.cpp

no changes added to commit
/home/chris/src/kwin2/kde-workspace$ git format-patch HEAD~1
0001-SVN_SILENT-made-messages-.desktop-file.patch
/home/chris/src/kwin2/kde-workspace $ ls *.patch
0001-SVN_SILENT-made-messages-.desktop-file.patch

"Changes not staged for commit"? "no changes added to commit"? that doesn't sound good.
crose
Registered Member
Posts
14
Karma
0

Re: Kwin Aero like: transparent glass

Mon Jul 14, 2014 11:06 am
you're referring to this url?: https://svn.reviewboard.kde.org/dashboard/

Review Request #7116 - Created and updated 6 minutes ago

filled in fields:

branch: kde-workspace
group: kwin
update->addFIle: 0001-SVN_SILENT-made-messages-.desktop-file.patch

correct?

click submit? don't see that. publish? shipIt!?

Must be pushing the wrong (or not enough buttons) somewhere as I don't see the review request at: https://reviewboard.kde.org/r/
User avatar
bcooksley
Administrator
Posts
19765
Karma
87
OS

Re: Kwin Aero like: transparent glass

Mon Jul 14, 2014 11:33 am
After modifying files with Git, you need to run "git add" on them to stage the changes before committing.
In regards to your review - yes, you need to submit it before it becomes visible to anyone else.


KDE Sysadmin
[img]content/bcooksley_sig.png[/img]


Bookmarks



Who is online

Registered users: bartoloni, Bing [Bot], Evergrowing, Google [Bot], q.ignora, watchstar