Giter Club home page Giter Club logo

kwin-effects-forceblur's Issues

Change project name

Force blur isn't really an appropriate name anymore, since the effect does more than just that.

installation issue

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)

Fake blur

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.

Is there any way to disable blur affect for systemsetting and dolphin?

image
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

Blur missing when window is smaller and then maximized

Reproduction steps

  • Have a window that is not maximized and force blur enabled
  • Resize it to be relatively small (needs to be a smaller geometry than your monitor)
  • Maximize that window

Now the area that was not in the geometry of the whole monitor isn't blurred.

Konsole background blurring broken

Konsole background blurring doesn't work properly when using this plugin, it puts an ugly black border several pixels thick around the content area, making it look worse than the proverbial dog's allegorical breakfast.

For me at least, this plugin is unusable if it breaks Konsole.

hideous

Menus are always blurred on Wayland, even if "Blur menus" is disabled

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);
}

Build error openSUSE Tumbleweed

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)

resourceClass and resourceName are not specific enough.

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.

Can't install

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

Steam breaks the effect until relogin

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.

Plasma 6.1 support

WindowPaintData::projectionMatrix() was removed in KWin 6.0.90, so this effect won't work anymore.

Nix package

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;
  };
}

Kvantum + Forceblur => blurry outline around context menus and tooltips

Description

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.

Screenshots

ss-11-07-2024_01-53-45
ss-12-07-2024_10-18-12

Kvantum Manager settings

ss-12-07-2024_10-11-10
ss-12-07-2024_10-11-19
ss-12-07-2024_10-11-38
ss-12-07-2024_10-11-32

System information

  • OS: OpenSUSE Tumbleweed
  • Plasmashell version: 6.1.2
  • Forceblur version: latest git (b9dd76a)
  • Kvantum version: 1.1.3

Question about the blur effect

Hello, when you said "Disable the Blur effect" you talk about the default one in the desktops effects section of the System Settings ? And why we have to do that ?

image

Using the "Blur all except matching" option blurs the entire screen when using Spectacle's screen recording

Description

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.

Steps to reproduce

  1. Use a Plasma Wayland session
  2. Install Spectacle
  3. Install Force Blur
  4. Configure Force Blur to use the "blur all except matching" option
  5. Optionally, add org.kde.spectacle to the list of exceptions
  6. Start screen recording (I used key combos: SUPER + SHIFT + R or SUPER + R)
  7. Select a screen region to record
  8. Press enter to start recording
  9. Watch as the screen gets blurred (to cancel, you have to stop recording by repeating the above key combo)

Settings used

screenshot_08-04-2024_17-05-53

OS information

  • Plasma version: 6.0.3
  • Force Blur version: latest git (commit b6a4389)

OpenSUSE Tumbleweed: Force Blur no longer works

Describe 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

  1. Install OpenSUSE Tumbleweed
  2. Update it (sudo zypper refresh && sudo zypper dup). Restart if zypper recommends it
  3. Download the kwin-effects-forceblur source, compile it and install it (see this for needed dependencies)
  4. Try to find the effect under Desktop Effects - it should be missing

Expected behavior
The effect should be enabled and available under Desktop Effects.

System information

  • OS: OpenSUSE Tumbleweed
  • Plasma version: 6.0.4
  • Kwin-effects-forceblur version: latest git (v1.2.0)

Dock blur

In my opinion, disabling Dock blur isn't a good idea. That's what I observed after making those changes: before and after.
before
Dock_old
after
Dock_new

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.
Dock_without_transparent
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 )

Needs to be patched for kde 6.1

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

A way to find classes of windows for which the methods from README don't work

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

validating source files with sha256sums failed

I was able to successfully install this on my laptop, however when trying it on my desktop I get this issue.
(the package still build fine when directly git cloning and installing from source)

image

is anyone else having this issue?

Rounded corners

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.

Persistent settings despite changing config file

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.

Rounded corner effect doesn't work well on KDE-Rounded-Corners

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.

image

KDE-Rounded-Corners

image

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.

image

It's a very minor issue but I thought it would be a good idea to make an issue for it.

KWin tiles blurs wrong areas

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.
Screenshot_20240619_031739

Also attached is what this tile effect looks like with the default plasma blur desktop effect.
Screenshot_20240619_031739x

And finally the theoretical expected output
Screenshot_20240619_031739t

System-wide slowdown since Plasma 6.1

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.

force blur not working as in screenshot

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

image

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

Won't show up in Desktop Effects

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

Window rules

Conditions

  • Match all windows
  • Match windows by type
    • normal window,
    • dialog window,
    • utility window,
    • dock (panel),
    • toolbar
    • context menu
  • Match windows by state
    • Focused
    • Unfocused
  • Match windows by class

If the user checks Match all windows, all the other options will be disabled.

Properties

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.