taj-ny / kwin-effects-forceblur Goto Github PK
View Code? Open in Web Editor NEWFork of the KWin Blur effect for KDE Plasma 6 with additional features (including force blur) and bug fixes
License: GNU General Public License v3.0
Fork of the KWin Blur effect for KDE Plasma 6 with additional features (including force blur) and bug fixes
License: GNU General Public License v3.0
After update I tried to rebuild forceblur and got this errpors:
Please, If someone can help?
Can this be ported to Plasma 6?
Reproduction steps
Now the area that was not in the geometry of the whole monitor isn't blurred.
WindowPaintData::projectionMatrix() was removed in KWin 6.0.90, so this effect won't work anymore.
When trying to rebuild with kwin-effects-forceblur, it reports an issue with it.
Here is the error result with --show-trace.
My NixOS configuration does not report any errors when I exclude kwin-effects-forceblur.
I am not that experienced with NixOS, so sorry if the solution is something obvious.
Force blur isn't really an appropriate name anymore, since the effect does more than just that.
On Plasma 6.1.3 w/ Wayland :(
I'd imagine making these two effects work together would be quite difficult, so I understand if it's not even possible — however, maybe then mention the incompatibility in the README so that people won't get confused :)
When starting steam, the moment the window appears, new windows appearing after that won't get properly blurred, including new windows from processes already running, for example plasmashell.
I'm on a nvidia 3060 Ti with the proprietary driver. That may be relevant. I have not tested with AMD or Intel.
Distro: Fedora 40 KDE Wayland.
Logs since steam started:
abr 14 22:11:21 localhost plasmashell[79908]: steam.sh[79908]: Running Steam on fedora 40 64-bit
abr 14 22:11:21 localhost systemd[2400]: Started app-steam-4b82fb22041946c5b1d8943e7a205d41.scope - Steam.
abr 14 22:11:21 localhost plasmashell[79908]: steam.sh[79908]: STEAM_RUNTIME is enabled automatically
abr 14 22:11:21 localhost plasmashell[79984]: setup.sh[79984]: Steam runtime environment up-to-date!
abr 14 22:11:21 localhost plasmashell[79908]: steam.sh[79908]: Steam client's requirements are satisfied
abr 14 22:11:21 localhost plasmashell[80029]: 04/14 22:11:21 Init: Installing breakpad exception handler for appid(steam)/version(1709846872)/tid(80029)
abr 14 22:11:21 localhost xdg-desktop-portal-kde[77585]: xdp-kde-settings: Namespace "org.gnome.desktop.interface" is not supported
abr 14 22:11:22 localhost plasmashell[80049]: steamwebhelper.sh[80040]: === dom 14 abr 2024 22:11:22 CEST ===
abr 14 22:11:22 localhost plasmashell[80052]: steamwebhelper.sh[80040]: Starting steamwebhelper under bootstrap sniper steam runtime at /home/Carlos/.local/share/Steam/ubuntu12_64/steam-runtime-sniper
abr 14 22:11:22 localhost plasmashell[80029]: tid(80029) burning pthread_key_t == 0 so we never use it
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] Startup - updater built Mar 6 2024 20:27:25
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] Startup - Steam Client launched with: '/home/Carlos/.local/share/Steam/ubuntu12_32/steam'
abr 14 22:11:22 localhost plasmashell[80029]: minidumps folder is set to /tmp/dumps
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] Loading cached metrics from disk (/home/Carlos/.local/share/Steam/package/steam_client_metrics.bin)
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] Using the following download hosts for Public, Realm steamglobal
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] 1. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 1000, source = 'update_hosts_cached.vdf'
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'update_hosts_cached.vdf'
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] 3. https://cdn.steamstatic.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] Verificando instalación...
abr 14 22:11:22 localhost plasmashell[80029]: [2024-04-14 22:11:21] Verification complete
abr 14 22:11:22 localhost plasmashell[80029]: UpdateUI: skip show logo
abr 14 22:11:22 localhost plasmashell[80029]: Steam logging initialized: directory: /home/Carlos/.local/share/Steam/logs
abr 14 22:11:22 localhost plasmashell[80029]: XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xf02f0e90
abr 14 22:11:22 localhost plasmashell[80029]: XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xf02ef5f0
abr 14 22:11:22 localhost plasmashell[80029]: CAppInfoCacheReadFromDiskThread took 31 milliseconds to initialize
abr 14 22:11:22 localhost xdg-desktop-portal-kde[77585]: xdp-kde-settings: Namespace "org.gnome.desktop.interface" is not supported
abr 14 22:11:22 localhost plasmashell[80029]: Steam Runtime Launch Service: starting steam-runtime-launcher-service
abr 14 22:11:22 localhost plasmashell[80029]: Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 80284
abr 14 22:11:22 localhost steam-runtime-launcher-service[80284]: bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
abr 14 22:11:22 localhost xdg-desktop-portal-kde[77585]: xdp-kde-settings: Namespace "org.gnome.desktop.interface" is not supported
abr 14 22:11:22 localhost xdg-desktop-portal-kde[77585]: xdp-kde-settings: Namespace "org.gnome.desktop.interface" is not supported
abr 14 22:11:22 localhost plasmashell[80291]: libEGL warning: egl: failed to create dri2 screen
abr 14 22:11:22 localhost plasmashell[80291]: DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
abr 14 22:11:23 localhost plasmashell[80029]: /usr/share/themes/Adwaita/gtk-2.0/main.rc:733: error: unexpected identifier 'direction', expected character '}'
abr 14 22:11:23 localhost plasmashell[80029]: /usr/share/themes/Adwaita/gtk-2.0/hacks.rc:28: error: invalid string constant "normal_entry", expected valid string constant
abr 14 22:11:23 localhost plasmashell[80029]: /usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier 'direction', expected character '}'
abr 14 22:11:23 localhost plasmashell[80029]: /usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
abr 14 22:11:23 localhost plasmashell[80376]: DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
abr 14 22:11:24 localhost plasmashell[80398]: DRM kernel driver 'nvidia-drm' in use. NVK requires nouveau.
abr 14 22:11:24 localhost kwin_wayland[77366]: kf.windowsystem: static bool KX11Extras::mapViewport() may only be used on X11
abr 14 22:11:24 localhost plasmashell[80029]: BRefreshApplicationsInLibrary 1: 1ms
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: Failed to focus 0x2e00033 (error 8)
abr 14 22:11:24 localhost kwin_wayland[77366]: kf.windowsystem: static bool KX11Extras::mapViewport() may only be used on X11
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: Failed to focus 0x2a00005 (error 3)
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: Failed to focus 0x2a00005 (error 3)
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: XCB error: 3 (BadWindow), sequence: 797, resource id: 44040197, major code: 129 (SHAPE), minor code: 3 (Combine)
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: XCB error: 3 (BadWindow), sequence: 798, resource id: 44040197, major code: 129 (SHAPE), minor code: 3 (Combine)
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: XCB error: 3 (BadWindow), sequence: 813, resource id: 44040197, major code: 129 (SHAPE), minor code: 3 (Combine)
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: XCB error: 3 (BadWindow), sequence: 814, resource id: 44040197, major code: 129 (SHAPE), minor code: 3 (Combine)
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: Could not find window with uuid "{20bdc72c-a537-4d2d-b084-aa8fe5467535}"
abr 14 22:11:24 localhost kwin_wayland[77366]: kwin_core: Could not find window with uuid "{20bdc72c-a537-4d2d-b084-aa8fe5467535}"
abr 14 22:11:24 localhost plasmashell[80029]: BuildCompleteAppOverviewChange: 245 apps
abr 14 22:11:25 localhost kwin_wayland[77366]: kwin_core: Could not find window with uuid "{20bdc72c-a537-4d2d-b084-aa8fe5467535}"
abr 14 22:11:25 localhost plasmashell[80029]: RegisterForAppOverview 1: 12ms
abr 14 22:11:25 localhost plasmashell[80029]: RegisterForAppOverview 2: 12ms
abr 14 22:11:25 localhost kwin_wayland[77366]: kf.windowsystem: static bool KX11Extras::mapViewport() may only be used on X11
abr 14 22:11:25 localhost plasmashell[77514]: qt.gui.imageio: libpng warning: iCCP: known incorrect sRGB profile
abr 14 22:11:59 localhost kwin_wayland[77366]: kf.windowsystem: static bool KX11Extras::mapViewport() may only be used on X11
abr 14 22:12:06 localhost systemd[2400]: Started app-org.kde.konsole-71dc2365919f43b68aba49ad188e928f.scope - Konsole - Terminal.
Also adding steam to the blacklist doesn't prevent this issue.
I added only these windows to match the force blur options, but with the enabling of borce blur script the systemsetting and dolphin still be blured.
The force blur with 'blur menu' didn't affect KDE start menu. If I add plasma shell to the match list the start menu will be blured. But there will be a blur ring around the task bar and right-click menu.
If I enable the system built-in blur script, the KDE start menu will be blured, but dolphin, systemsettings will be blured twice
Thanks a lot for this! I packaged it for Nix, maybe others will be interested in this.
I'm not sure if all these deps need to be explicitly added, but it works
{ pkgs, lib, }:
pkgs.kdePackages.mkKdeDerivation rec {
pname = "kwin-forceblur";
version = "2a967dfa98675bcca65fdd4d5e8801fe10b40e3f";
src = pkgs.fetchFromGitHub {
owner = "taj-ny";
repo = "kwin-forceblur";
rev = version;
sha256 = "sha256-PGqQWb1M/mUS4cYUsxeEzA/fSX7a36rKt/Jzc7Hq97Q=";
};
extraBuildInputs = with pkgs.kdePackages; [
qttools
kglobalaccel
kwindowsystem
kconfig
kconfigwidgets
kcmutils
kcrash
ki18n
kio
kcoreaddons
kwidgetsaddons
kservice
knotifications
kwin
];
extraNativeBuildInputs = with pkgs.kdePackages; [ extra-cmake-modules ];
meta = with lib; {
description = ''A fork of the KWin Blur effect for Plasma 6 that allows blurring any
user-specified window on both X11 and Wayland Resources.'';
license = licenses.gpl3;
maintainers = with maintainers; [ kasper ]; # edit this?
homepage = "https://github.com/taj-ny/kwin-forceblur";
inherit (pkgs.kdePackages.kwindowsystem.meta) platforms;
};
}
After adding some windows into the list of exceptions, I find that removing them from that list does nothing and there is no documentation anywhere that indicates where the configuration files are stored.
Issue #1 is that the gui configuration doesn't work properly
Issue #2 Is that debugging is hampered by the lack of documentation
I'll now try to remember what the exceptions were that I added and scour my home directory in hopes of finding the elusive secret hidden config file.
I've been using this effect for a little while on plasma 6 and while it's great, there's something about it that annoys me. If you use lightlyshaders and set the blur roundness to the same radius as lightlyshaders, everything looks pretty much identical to if I was using the lightlyshaders blur. However, lightlyshaders shadows look really ugly on my theme, so I'm using KDE-Rounded-Corners. But when using that effect, the rounding doesn't quite look right. When using 12px window rounding and 12px blur rounding, it gives this weird beveled edge effect that doesn't quite look right.
KDE-Rounded-Corners
LightlyShaders
Setting blur radius to 14px makes it look better, but in certain situations it is quite obvious that the blur radius is smaller than the window radius.
It's a very minor issue but I thought it would be a good idea to make an issue for it.
My system has been beyond sluggish ever since Plasma 6.1 released on Fedora, and I just found forceblur to be the culprit. This was especially bad when watching videos, even moving the mouse would cause the video to stutter and drop to around 10fps, so forget about multitasking. I'm on a 12th gen Intel NUC for reference.
This sluggishness was completely eliminated when I disabled forceblur, re-enabled native blur, and restarted my system.
oops, forgot to test
The UI is getting too large.
The effect is disabled, and no longer listed under "desktop effects", since Plasma update to 6.0.4.
I've been trying to install it several times but no success (
❯ git clone https://github.com/taj-ny/kwin-forceblur
cd kwin-forceblur
mkdir qt6build; cd qt6build; cmake ../ -DCMAKE_INSTALL_PREFIX=/usr && make && sudo make install
Cloning in «kwin-forceblur»...
remote: Enumerating objects: 228203, done.
remote: Counting objects: 100% (151/151), done.
remote: Compressing objects: 100% (74/74), done.
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 2731 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: unexpected end of the file
fatal: fetch-pack: invalid index-pack output
cd: no such a file or directory: kwin-forceblur
CMake Warning:
Ignoring extra path from command line:
"../"
CMake Error: The source directory "/home/user" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
The same errors from AUR
error: 2195 bytes of body are still expected
Manjaro KDE, unstable, plasma 6.0.1
Since this can't be used at the same time with any other blur effect, I think it would be nice to have an option to round the blur region, so that this can be used along with KDE-Rounded-Corners or similar effects.
No longer showing up in window management with aur reinstall and manual build fails.
[ 4%] Automatic MOC for target forceblur
AutoMoc warning
---------------
"SRC:/src/main.cpp"
includes the moc file "main.moc", but does not contain a Q_OBJECT, Q_GADGET, Q_NAMESPACE, Q_NAMESPACE_EXPORT, Q_GADGET_EXPORT, Q_ENUM_NS, K_PLUGIN_FACTORY, K_PLUGIN_CLASS, K_PLUGIN_FACTORY_WITH_JSON or K_PLUGIN_CLASS_WITH_JSON macro.
[ 4%] Built target forceblur_autogen
[ 9%] Building CXX object src/CMakeFiles/forceblur.dir/blur.cpp.o
/home/elite/kwin-effects-forceblur/src/blur.cpp: In member function ‘virtual void KWin::BlurEffect::reconfigure(KWin::Effect::ReconfigureFlags)’:
/home/elite/kwin-effects-forceblur/src/blur.cpp:199:47: warning: unused parameter ‘flags’ [-Wunused-parameter]
199 | void BlurEffect::reconfigure(ReconfigureFlags flags)
| ~~~~~~~~~~~~~~~~~^~~~~
/home/elite/kwin-effects-forceblur/src/blur.cpp: In member function ‘void KWin::BlurEffect::updateBlurRegion(KWin::EffectWindow*)’:
/home/elite/kwin-effects-forceblur/src/blur.cpp:271:28: warning: variable ‘borders’ set but not used [-Wunused-but-set-variable]
271 | const QMargins borders = w->decoration()->borders();
| ^~~~~~~
/home/elite/kwin-effects-forceblur/src/blur.cpp: In static member function ‘static bool KWin::BlurEffect::supported()’:
/home/elite/kwin-effects-forceblur/src/blur.cpp:411:61: error: ‘supported’ is not a member of ‘KWin::GLFramebuffer’
411 | return effects->isOpenGLCompositing() && GLFramebuffer::supported() && GLFramebuffer::blitSupported();
| ^~~~~~~~~
/home/elite/kwin-effects-forceblur/src/blur.cpp:411:91: error: ‘blitSupported’ is not a member of ‘KWin::GLFramebuffer’
411 | return effects->isOpenGLCompositing() && GLFramebuffer::supported() && GLFramebuffer::blitSupported();
| ^~~~~~~~~~~~~
/home/elite/kwin-effects-forceblur/src/blur.cpp: In member function ‘void KWin::BlurEffect::blur(const KWin::RenderTarget&, const KWin::RenderViewport&, KWin::EffectWindow*, int, const QRegion&, KWin::WindowPaintData&)’:
/home/elite/kwin-effects-forceblur/src/blur.cpp:853:33: error: ‘class KWin::WindowPaintData’ has no member named ‘projectionMatrix’
853 | projectionMatrix = data.projectionMatrix();
| ^~~~~~~~~~~~~~~~
/home/elite/kwin-effects-forceblur/src/blur.cpp:895:48: error: ‘class KWin::WindowPaintData’ has no member named ‘projectionMatrix’
895 | QMatrix4x4 projectionMatrix = data.projectionMatrix();
| ^~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/forceblur.dir/build.make:120: src/CMakeFiles/forceblur.dir/blur.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:714: src/CMakeFiles/forceblur.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Operating System: Garuda Linux
KDE Plasma Version: 6.1.0
KDE Frameworks Version: 6.3.0
Qt Version: 6.7.1
Kernel Version: 6.9.5-1-cachyos (64-bit)
Graphics Platform: Wayland
added vscodium and systemsettings to the window classes to force blur as shown in the screenshot, however neither of these windows were blurred. is there a specific theme or colourscheme I need to install?
I'm using Lightly with a transparent colourscheme already
EDIT: info i should probably add
Operating System: Arch Linux
KDE Plasma Version: 6.0.1
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.7.8-zen1-1-zen (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i5-8350U CPU @ 1.70GHz
Memory: 15.4 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics 620
This error is shown when trying to build it with cmake.
-- Could NOT find KF6KCMUtils (found version "6.2.0"), checked the following files: /usr/lib/cmake/KF6KCMUtils/KF6KCMUtilsConfig.cmake (version 6.2.0) Reason given by package: KF6KCMUtils could not be found because dependency KF6CoreAddons could not be found. CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find KF6 (missing: KIO Service Service KCMUtils) (found suitable version "6.0.0", minimum required is "5.240.0") Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE) /usr/share/ECM/find-modules/FindKF6.cmake:93 (find_package_handle_standard_args) CMakeLists.txt:42 (find_package)
The window type must be different on Wayland for some reason, since EffectWindow::isMenu()
, EffectWindow::isDropdownMenu()
and EffectWindow::isPopupMenu()
all return false. It could be a KWin bug, as the Translucency effect uses the same properties and doesn't work on Wayland as well.
if (window.dialog === true) {
checkWindow(window, translucencyEffect.settings.dialogs);
} else if (window.dropdownMenu === true) {
checkWindow(window, translucencyEffect.settings.dropdownmenus);
} else if (window.popupMenu === true) {
checkWindow(window, translucencyEffect.settings.popupmenus);
} else if (window.comboBox === true) {
checkWindow(window, translucencyEffect.settings.comboboxpopups);
} else if (window.menu === true) {
checkWindow(window, translucencyEffect.settings.tornoffmenus);
}
When you shift+drag a window (a feature of the kwin window tiling) the blur effect is applied in very incorrect areas in relation to the "window" being show.
Attached is a screenshot of the bug. The window is being dragged while shift is held, which shows you a grey area representing where the window will be if you let go.
Below that grey area there is a region that should be totally transparent, yet is blurred.
Also attached is what this tile effect looks like with the default plasma blur desktop effect.
In my opinion, disabling Dock blur isn't a good idea. That's what I observed after making those changes: before and after.
before
after
In the 'after' version, I ended up with a completely transparent dock using a Transparent Panel Button for both variants.
Additionally, here is a variant with native panel blur.
As a result, I decided to roll back to the previous script version. Perhaps it would be better to add an option to toggle this effect? Thank you )
The methods to get window classes described in the README don't work for some windows, such as all context menus (they disappear immediately when using the qdbus method), Spectacle's Wayland recording window and probably some more.
I thought about just logging some information whenever a window is added, but that would require users to launch KWin in a terminal, which is not very convenient. Another approach would be to display some information about the last n added windows in a table in the options.
Resource name | Resource class | Window type | Size |
---|---|---|---|
spectacle | spectacle | Normal | 1920x1080 |
firefox | firefox | Normal | 521x899 |
Due to the lack of granularity the only useful mode of the application is to have it blur behind all windows all of the time, which causes a massive performance hit.
Every other application of this type that I've seen has a mechanism to allow more specific matching of Window types making them actually usable.
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
Could NOT find KF6 (missing: Config ConfigWidgets Crash GlobalAccel I18n
KIO Service Notifications Service WidgetsAddons GuiAddons KCMUtils) (found
suitable version "6.0.0", minimum required is "5.240.0")
Call Stack (most recent call first):
/usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
/usr/share/ECM/find-modules/FindKF6.cmake:93 (find_package_handle_standard_args)
CMakeLists.txt:42 (find_package)
I use Polonium, so windows almost never overlap and they're always in front of the wallpaper. Blurring the wallpaper only once, keeping it in memory and drawing it behind the windows would result in a reduction of the GPU load, which would also result in longer battery life on my laptop.
Of course this would be an optional feature.
If you use the "Blur all except matching" option in Force Blur's settings, the entire screen gets blurred when trying to record a region of the screen with Spectacle. This is specifically tied to recording a screen region with Spectacle. It doesn't happen when taking screenshots and it doesn't happen if doing a whole screen recording.
N.b.: Spectacle's screen recording functionality is only available under Wayland.
I did try to add Spectacle's window class (org.kde.spectacle
) to Force Blur's exceptions. That makes it so the blur doesn't start when you're selecting the region to record. But as soon as you start recording, the screen gets blurred. It goes away as soon as you stop.
org.kde.spectacle
to the list of exceptionsDescribe the bug
As of today, after updating my system, the Force Blur desktop effect is no longer applied and doesn't show up under Desktop Effects anymore.
I've tried rebooting. I've also tried reinstalling by deleting these 2 files:
/usr/lib64/qt6/plugins/kwin/effects/configs/kwin_forceblur_config.so
/usr/lib64/qt6/plugins/kwin/effects/plugins/forceblur.so
rebuilding the source, and then reinstalling using the steps in the readme. The effect still doesn't show up.
To Reproduce
sudo zypper refresh && sudo zypper dup
). Restart if zypper recommends itkwin-effects-forceblur
source, compile it and install it (see this for needed dependencies)Expected behavior
The effect should be enabled and available under Desktop Effects.
System information
When I use a Kvantum theme with the forceblur effect, all context menus and tooltips have a thick, blurry outline. It doesn't seem to matter what Kvantum theme I use.
It also doesn't seem to matter whether I enable or disable menu-related blurring settings in the Kvantum Manager (as recommended in #70 (comment)).
If I don't use Kvantum, everything looks fine. If I disable forceblur, the issue goes away.
If the user checks Match all windows, all the other options will be disabled.
Blur strength and noise strength will apply globally. The ability to specify them in a rule will be implemented in the future.
Each property will have a checkbox next to it, which will allow you to enable/disable it. Since boolean properties would look a bit weird with two checkboxes, two radio buttons (Yes/No) will be used instead. This allows for one window to inherit properties from multiple rules.
KWin effects have to be rebuilt after updating Plasma.
I tried installing the AUR package and it doesn't appear in the Desktop Effects even after a reboot.
It looks like the files are in the right location, and I'm getting this warning in journalctl so I'm assuming the plugin is getting loaded:
win_wayland[4528]: kf.coreaddons: The plugin "/usr/lib/qt6/plugins/kwin/effects/plugins/forceblur.so" explicitly states an Id in the embedded metadata, which is different from the one derived from the filename The Id field from the KPlugin object in the metadata should be removed
EDIT: I just noticed it is showing up in the list of "unsuported effects". I'm running KDE 6.0.2 on wayland. Here's the output from the infocenter wayland Window Manager section:
KWin Support Information:
The following information should be used when requesting support on e.g. https://discuss.kde.org.
It provides information about the currently running instance, which options are used,
what OpenGL driver and which effects are running.
Please post the information provided underneath this introductory text to a paste bin service
like https://paste.kde.org instead of pasting into support threads.
==========================
Version
=======
KWin version: 6.0.2
Qt Version: 6.6.2
Qt compile version: 6.6.2
XCB compile version: 1.16.1
Operation Mode: Xwayland
Build Options
=============
KWIN_BUILD_DECORATIONS: yes
KWIN_BUILD_TABBOX: yes
KWIN_BUILD_ACTIVITIES: yes
HAVE_X11_XCB: yes
HAVE_GLX: yes
X11
===
Vendor: The X.Org Foundation
Vendor Release: 12302004
Protocol Version/Revision: 11/0
SHAPE: yes; Version: 0x11
RANDR: yes; Version: 0x14
DAMAGE: yes; Version: 0x11
Composite: yes; Version: 0x4
RENDER: yes; Version: 0xb
XFIXES: yes; Version: 0x50
SYNC: yes; Version: 0x31
GLX: yes; Version: 0x0
Decoration
==========
Plugin: org.kde.kwin.aurorae
Theme: __aurorae__svg__Sweet-Dark-transparent
Plugin recommends border size: No
onAllDesktopsAvailable: false
alphaChannelSupported: true
closeOnDoubleClickOnMenu: false
decorationButtonsLeft: 5, 4, 3
decorationButtonsRight:
borderSize: 3
gridUnit: 10
font: Fira Sans,10,-1,5,700,0,0,0,0,0,0,0,0,0,0,1,Bold
smallSpacing: 2
largeSpacing: 10
Output backend
==============
Name: DRM
Atomic Mode Setting on GPU 0: true
Cursor
======
themeName: Sweet-cursors
themeSize: 24
Options
=======
focusPolicy: ClickToFocus
xwaylandCrashPolicy: 1
xwaylandMaxCrashCount: 3
nextFocusPrefersMouse: false
clickRaise: true
autoRaise: false
autoRaiseInterval: 0
delayFocusInterval: 0
shadeHover: false
shadeHoverInterval: 250
separateScreenFocus: false
activeMouseScreen: true
placement: 5
activationDesktopPolicy: SwitchToOtherDesktop
focusPolicyIsReasonable: true
borderSnapZone: 10
windowSnapZone: 10
centerSnapZone: 0
snapOnlyWhenOverlapping: false
rollOverDesktops: false
focusStealingPreventionLevel: 1
operationTitlebarDblClick: 5000
operationMaxButtonLeftClick: 5000
operationMaxButtonMiddleClick: 5015
operationMaxButtonRightClick: 5014
commandActiveTitlebar1: MouseRaise
commandActiveTitlebar2: MouseNothing
commandActiveTitlebar3: MouseOperationsMenu
commandInactiveTitlebar1: MouseActivateAndRaise
commandInactiveTitlebar2: MouseNothing
commandInactiveTitlebar3: MouseOperationsMenu
commandWindow1: MouseActivateRaiseAndPassClick
commandWindow2: MouseActivateAndPassClick
commandWindow3: MouseActivateAndPassClick
commandWindowWheel: MouseNothing
commandAll1: MouseUnrestrictedMove
commandAll2: MouseToggleRaiseAndLower
commandAll3: MouseUnrestrictedResize
keyCmdAllModKey: 16777250
condensedTitle: false
electricBorderMaximize: true
electricBorderTiling: true
electricBorderCornerRatio: 0.25
borderlessMaximizedWindows: true
killPingTimeout: 5000
hideUtilityWindowsForInactive: true
compositingMode: 1
useCompositing: true
hiddenPreviews: 1
glSmoothScale: 2
glStrictBinding: true
glStrictBindingFollowsDriver: true
glPreferBufferSwap: AutoSwapStrategy
glPlatformInterface: 2
windowsBlockCompositing: true
allowTearing: true
Screen Edges
============
desktopSwitching: false
desktopSwitchingMovingClients: false
cursorPushBackDistance: 1x1
timeThreshold: 75
reActivateThreshold: 350
actionTopLeft: 0
actionTop: 0
actionTopRight: 0
actionRight: 0
actionBottomRight: 0
actionBottom: 0
actionBottomLeft: 0
actionLeft: 0
Screens
=======
Active screen follows mouse: yes
Number of Screens: 3
Screen 0:
---------
Name: DP-1
Enabled: 1
Geometry: 3072,0,3072x1728
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable
Screen 1:
---------
Name: DP-2
Enabled: 1
Geometry: 6144,0,3072x1728
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable
Screen 2:
---------
Name: DP-3
Enabled: 1
Geometry: 0,0,3072x1728
Scale: 1.25
Refresh Rate: 59997
Adaptive Sync: incapable
Compositing
===========
Compositing is active
Compositing Type: OpenGL
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 7900 XTX (radeonsi, navi31, LLVM 17.0.6, DRM 3.57, 6.8.1-zen1-1-zen)
OpenGL version string: 4.6 (Core Profile) Mesa 24.0.2-arch1.2
OpenGL platform interface: EGL
OpenGL shading language version string: 4.60
Driver: Unknown
GPU class: Unknown
OpenGL version: 4.6
GLSL version: 4.60
Mesa version: 24.0.2
X server version: 1.23.2
Linux kernel version: 6.8.1
Direct rendering: Requires strict binding: no
Virtual Machine: no
OpenGL 2 Shaders are used
Loaded Effects:
---------------
screenshot
outputlocator
colorpicker
zoom
screenedge
contrast
sessionquit
logout
login
slidingpopups
windowaperture
slide
magiclamp
squash
scale
morphingpopups
maximize
fullscreen
frozenapp
fadingpopups
dialogparent
windowview
tileseditor
overview
highlightwindow
blendchanges
startupfeedback
screentransform
kscreen
Currently Active Effects:
-------------------------
contrast
Effect Settings:
----------------
screenshot:
outputlocator:
colorpicker:
zoom:
zoomFactor: 1.2
mousePointer: 0
mouseTracking: 0
focusTrackingEnabled: false
textCaretTrackingEnabled: false
focusDelay: 350
moveFactor: 20
targetZoom: 1
screenedge:
contrast:
sessionquit:
pluginId: sessionquit
isActiveFullScreenEffect: false
logout:
pluginId: logout
isActiveFullScreenEffect: false
login:
pluginId: login
isActiveFullScreenEffect: false
slidingpopups:
slideInDuration: 150
slideOutDuration: 250
windowaperture:
pluginId: windowaperture
isActiveFullScreenEffect: false
slide:
horizontalGap: 45
verticalGap: 20
slideBackground: true
magiclamp:
squash:
pluginId: squash
isActiveFullScreenEffect: false
scale:
pluginId: scale
isActiveFullScreenEffect: false
morphingpopups:
pluginId: morphingpopups
isActiveFullScreenEffect: false
maximize:
pluginId: maximize
isActiveFullScreenEffect: false
fullscreen:
pluginId: fullscreen
isActiveFullScreenEffect: false
frozenapp:
pluginId: frozenapp
isActiveFullScreenEffect: false
fadingpopups:
pluginId: fadingpopups
isActiveFullScreenEffect: false
dialogparent:
pluginId: dialogparent
isActiveFullScreenEffect: false
windowview:
activeView:
delegate:
animationDuration: 300
layout: 1
ignoreMinimized: false
mode:
partialActivationFactor: 0
gestureInProgress: false
searchText:
selectedIds:
tileseditor:
activeView:
delegate:
animationDuration: 200
overview:
activeView:
delegate:
animationDuration: 300
layout: 1
ignoreMinimized: false
filterWindows: true
organizedGrid: true
overviewPartialActivationFactor: 0
overviewGestureInProgress: false
transitionPartialActivationFactor: 0
transitionGestureInProgress: false
gridPartialActivationFactor: 0
gridGestureInProgress: false
desktopOffset:
searchText:
highlightwindow:
blendchanges:
startupfeedback:
type: 1
screentransform:
kscreen:
Loaded Plugins:
---------------
BounceKeysPlugin
StickyKeysPlugin
buttonsrebind
krunnerintegration
nightcolor
screencast
Available Plugins:
------------------
BounceKeysPlugin
StickyKeysPlugin
buttonsrebind
krunnerintegration
nightcolor
screencast
The desktop is not blurred, but it does have a blur region, which is used to determine which areas of the screen should be repainted.
try reinstalling but apparently something broke with the kde update.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.