A list of puns related to "Kwin"
After a while of my pc being on I notice kwin_x11is pinning some core to 100% and switching between cores at irregular intervals, usually my pc only uses 0-3% cpu on idle (with a few programs open) but when this occurs it jumps to 10%. It does not bother me too much but im not a big fan of my cpu doing work when I am not using it. It goes away after I restart. relog does not seem to have a effect, also when I enable show paints, and I remove my clock and resource monitor, then there is no paints occurring, and my cpu usage stays the same.
Hello everyone, I have a bit of a weird case here.
I'm running Fedora Silverblue with GNOME, I rebased to Kinoite (KDE version) and then I set my Librewolf (running on flatpak) application-specific options to always started Maximized vertically and horizontally, it might have been Window-specific options, I don't know!
Then I decided to go back to GNOME and I ran the following command rm -rf .kde/ .local/share/k* .config/k* .cache/k* .config/plasma* .local/share/plasm* .cache/plasm*
. I also used a terminal file manager to go around deleting any kde-related files.
But my Librewolf is still running Maximized, I have no idea why! I'm not complaining, I prefer this behavior but I'd like to know why and if possible I'd like to save the configuration file on the cloud so I can use it on different installations.
Here is ls
ran on some key directories, could someone help me identify where kwin is saving my librewolf config?
[I] raphael@fedora ~> command ls -1 .config/
cef_user_data
cni
dconf
dconf_sucks
dotfiles
evolution
fish
fontconfig
gnome-control-center
gnome-initial-setup-done
gnome-session
goa-1.0
gtk-3.0
ibus
libaccounts-glib
mimeapps.list
nautilus
pulse
ranger
session
toolbox
user-dirs.dirs
user-dirs.locale
xsettingsd
[N] raphael@fedora ~> command ls -1 .local/share/
applications
backgrounds
'CipSoft GmbH'
containers
evolution
fish
flatpak
fonts
gnome-settings-daemon
gnome-shell
gvfs-metadata
icc
keyrings
nautilus
pki
ranger
recently-used.xbel
sounds
Trash
user-places.xbel
user-places.xbel.bak
user-places.xbel.tbcache
vulkan
xorg
[N] raphael@fedora ~> command ls -1 .cache/
appstream
'CipSoft GmbH'
containers
event-sound-cache.tdb.c0c06d0dabac44c2a54e848926db79b9.x86_64-redhat-linux-gnu
evolution
flatpak
fontconfig
gnome-desktop-thumbnailer
gnome-screenshot
gnome-software
gstreamer-1.0
ibus
icon-cache.kcache
libgweather
mesa_shader_cache
mozilla
obexd
qmlcache
qtshadercache-x86_64-little_endian-lp64
ranger
samba
systemsettings
thumbnails
tracker3
wayland-errors
[N] raphael@fedora ~> command ls -1 .var/app/io.gitlab.librewolf-community/config/
glib-2.0
gtk-3.0
pulse
user-dirs.dirs
Is it possible to create a KWin patch which has rounded corners like the mutter-rounded patch for Gnome?
I'm aware of the existence of shapecorners and LightlyShaders but those come at with a significant performance cost which doesn't seem to happen in the mutter-rounded patch as per my experience.
I just want to change one line of code of KWin (permanently and only for my machine). It's in the file kwin/effects/presentwindows/presentwindows.cpp.
I cloned the repo and chanaged that line. Now I want to build/compile it and replace kwin with it. How can I do that? I looked through the guide to build KWin but nothing helped. Any help would be appreciated.
Under shortcuts menu in the settings I have three entries for Latte Dock for whatever reason. One of "Latte Dock" shortcuts are actually KWin shortcuts. Changing them works flawlessly (well sometimes it bugs out and I have to change shortcuts multiple times for it to work but I can live with that) it's just that the name is wrong.
I checked in ~/.config/kglobalshortcuts and everything seems to be fine there. There are separate entries for kwin and latte dock so why there are 3 entries for Latte Dock in the settings?
Could it have something to do with me uninstalling latte-dock-git and installing latte-dock package?
Kwin_x11 is using 2.1GB and Plasmashell is using almost 900MB does this seem excessive to anyone?
OS: Arch
CPU: Ryzen 7 5800X
GPU: Nvidia GTX 1070
RAM: 32GB
https://preview.redd.it/7rn643fzq1181.png?width=792&format=png&auto=webp&s=df3dfe134c1611b85d49cd925e46e17dbb8b59aa
https://preview.redd.it/b2czafzts1181.png?width=784&format=png&auto=webp&s=6aa387e601275e6111bf3e9f03f33a9ef4aef8c5
I don't really like KrΓΆhnkite, I'm searching for something similar to Pop Shell
I was using an svg based theme for KWin until a couple months ago because it broke. The buttons are still being rendered, but the background is not. The svg file for the background is no longer rendered in Gwenview either. The theme wasn't updated. I ran the file through an svg validator just to make sure and found no errors. I'm thinking either there was a regression in a KDE library, or a new dependency that didn't get added to the appropriate package in Arch repos. I'm hoping someone knows what changed that may have caused this.
Using the "TearFree" option in Xorg, it gets all my monitors to be tear free. But
Is there a way to do a similar tearfree thing in kwin, because I want to be able to toggle it on and off (if I don't want to lose performance because of it, however marginal it may be)
Edit: well actually, does anyone know how much of a hit the TearFree Xorg option puts on input latency and framerate?
Hi all, I know that I can substitute kwin with i3 but Can I use sway instead kwin? I use Wayland everyday and I love plasma,so I'd like try sway with kde
Ever since I upgraded to 5.23, I see kwin_x11 RAM utilization start pretty normal at 100-200 MB but climb to upwards of 500MB in the following hours (over 700 now), which seems very high. Never seen that on a lower version.
https://preview.redd.it/1wfz9mzj49w71.png?width=282&format=png&auto=webp&s=392d74ab5e0df383965a7d3150c9a16a3a9a2383
https://preview.redd.it/jqlligql49w71.png?width=431&format=png&auto=webp&s=b90b0eea9eb6dae1ac11d6dff5f62f783dbbca75
Arch Linux, non-lts kernel, proprietary nvidia driver.
(I want to check whether or not I'm the only one experiencing this behavior before filing a report on the issue tracker) Edit: not plasma, JUST kwin
On a recent update KDE mentioned:
"based on support information from various bug reports, it doesn't look like those effects are used widely. So, given that disadvantages of keeping those hard to maintain effects outweigh the advantages and limited man power of the kwin development team, we'd like to remove them."
The effects that we would like to drop are
I just want to know if these effects would return at any time in future as coverswitch was the most advanced task switcher at the point. Or, if someone could develop and upload it on kde repository to download for other users?
Basically I am using this new patched Blur effect which rounds the corners to prevent the infamous korners bug. However the force blur script still uses the original blur effect causing the korners bug in the apps I use that with.
I want to replace the Original blur effect used in that with this new desktop effect blur.
Hello!
I have recently switched back to KDE for my DE and got interested in KWin scripting, as I need it to run a command whenever a window is focused. But the interactive console doesn't seem to be working, instead every time i press the "Execute" button with the valid code, it immediately returns with no output. And it doesn't matter whether or not the code is valid or not that is always the result.
Here is the code in question:
var spawn = require('child_process').spawn;
workspace.clientActivated.connect(function(client) {
let output = spawn('obs-macros', ['setcap_id',client.windowId]);
output.stdout.on('data', function(data) {
print(data);
});
print(client.windowId);
});
I'm developing an alternative "move a window to another screen" KWin script that ALSO moves the mouse cursor into the moved window. To move the mouse cursor, I have not yet found anything useful in the "KWin Scripting API", but the KWin script could call a qdbus operation to place the cursor; however, but I also have not found an applicable qdbus operation.
Can you offer any suggestions to programmatically move the mouse cursor within the KWin script?
P.S. Solutions considered and discounted thus far:
Is there a way to disable the KWin composit manually? I check under System Settings > Hardware > Display and Monitor > Compositor but there is no option to to disable on startup.
Is there something i can disable via systemctl?
I want to activate the window by the class of windows. But if there are two or more windows, it always activates the first open window. I just want to activate the most front one. So I think if there is a api which specify the order of the clients.
function activateWindowByClass(className) {
var clients = workspace.clientList();
for (var i = 0; i < clients.length; i++) {
var client = clients[i];
if (client.resourceClass == className) {
workspace.activeClient = client
}
}
}
I saw a api in KWinSystem source, if is it can be called in script?
https://api.kde.org/frameworks/kwindowsystem/html/classKWindowSystem.html#a625644ee62355a88f32ab4e84130122a
QList< WId > KWindowSystem::stackingOrder ( )
static
Returns the list of all toplevel windows currently managed by the window manager in the current stacking order (from lower to higher).
May be useful for pagers.
Returns
the list of all toplevel windows in stacking order
Definition at line 391 of file kwindowsystem.cpp.
OK, So I'm giving Wayland a try on KDE (Manjaro) and seeing some strange behaviour. This isn't blocking me on anything as I can just switch back to X11 for now, but I'm keen to do some digging to learn a bit more and help push Wayland forwards.
I've recently performed a full system update (including bumping kernel) and KDE has become very slow / unresponsive under Wayland. I tried Wayland a couple of weeks ago and I experienced some 'visual glitches', but the system was very responsive, now it seems to be the opposite - visual are stable, but very slow (I think its kwin?).
For example the time from SDDM to Desktop Wallpaper showing is about 3 seconds under X11, for Wayland it's about 1 minute 30 seconds.
From that point anything on-wards my task bar and KRunner have about 15 second input lag and fail to launch anything besides Konsole. Once I'm in Konsole everything is quick and I can launch 'some' other applications that also perform well - Dolphin, Firefox. Some applications won't launch even from Konsole - Alacritty, System Settings.
Syslogs logs look consistent enough between X11 and Wayland (although Baloo core dumps on both).
plasma-wayland logs a bunch of these that look suspicious "kwin_core: Provided presentation timestamp is invalid: 2138807 (current: 2138811)"
I also get desktop notifications come through for "Filesystem is not responding. Filesystem mounted at '/' is not responding". This doesn't happen under X11.
Some stats:
CPU: kwin_wayland is using the most CPU, but never more than 5% (mostly < 1%)
Memory: 29GB available
IO: 98.9% idle
Some versions:
Kernel: 5.15.4-1-MANJARO
KDE Plasma: 5.23.3
KDE Frameworks: 5.88.0
Qt: 5.15.2
Nvidia Driver: 495.44 (proprietary)
egl-wayland: 1.1.9
CPU: Ryzen 7 3700X
GPU: Titan XP
I have also created a new temporary user on the system to eliminate any user specific config. New user also exhibits the same symptoms.
I'm not really sure where the bottle neck is. Nothing seems overloaded from a system point of view.
Keen to know if there's anything I should try and if anyone else is experiencing the same issues.
That's the error I get in my journal when I try to enable compositing (via the keyboard shortcut) and when I first launch from SDDM. This started after the new (5.23) Plasma release, which removed Xrender as a rendering option. I'm on Arch using an rx580 (AMDGPU). I installed the proprietary AMDGPU drivers and then removed them again when they didn't help. The issue occurs with both EGL and GLX, and both eglgears
and glxgears
work just fine.
Interestingly neither Plasma Wayland nor Gnome Wayland work on my system, but Gnome Xorg composites fine. Sway doesn't work either. When starting both DEs in Wayland I get a black screen, and then it goes back to SDDM. Sway shows a black screen with a moveable cursor after I switch back and forth between TTYs, and that's it. Here's the error I get when I try startplasma-wayland
:
Failed to create wl_display (No such file or directory)
And, once again, the error that I get when I try doing kwin_x11 --replace
:
kwin_core: Failed to initialize compositing, compositing disabled
If you would like more logs/specific details I'll add them in a comment. Any help would be appreciated, as I currently can't composite!!
>So I'm a new user of KDE, and I was poking through the settings, trying to learn the keyboard shortcuts.
>At Shortcuts -> Shortcuts -> KWin, there is an action "Actual Size", bound to Meta+0 by default. I have no idea what that means outside of the context of image viewer and editor and other programs with a zoom func-
OH! KWin does have a zoom function. But the keybinds are in alphabetical order, so "Actual Size" is way at the top of the list, and "Zoom" is way at the bottom. And as I found, "Actual Size" is hard to interpret without context. (Edit: also note that "just push it and see what it does" didn't work for obvious reasons.)
Might I suggest renaming that action to "Zoom 100%" or maybe "Zoom Reset"?
It all started when I wanted to set up a global shortcut to activate the correct global menu widget. "Correct" in this context means the one that's on the top panel of the currently active screen in my dualhead setup. Some googling later and as a first iteration/PoC I came up with the following KWin script:
const shortcuts = [
'activate widget 132',
'activate widget 133',
];
function activateAppmenu() {
callDBus(
"org.kde.kglobalaccel",
"/component/plasmashell",
"org.kde.kglobalaccel.Component",
"invokeShortcut",
shortcuts[workspace.activeScreen]
);
}
registerShortcut(
"activate_current_screen_appmenu",
"Activate Current Screen Global Menu",
"Menu",
activateAppmenu
);
This works fine, however you may notice that there are some hardcoded widget IDs in there. So when I want to use the script on multiple computers I have to dig around in ~/.config/plasma-org.kde.plasma.desktop-appletsrc
to find out what IDs the menu widgets have on the local machine.
So I thought there must be some better way, surely there must be some way to programmatically poke around in plasmashell's widget data to find the correct widgets. Back to googling and dicking around in the Plasma scripting console, and indeed there is, but unfortunately not from a KWin script, only from a Plasma script:
const allPanels = panels();
for (var panelIdx in allPanels) {
const panel = allPanels[panelIdx];
if (panel.screen === 0) {
const appmenus = panel.widgets('org.kde.plasma.appmenu');
if (appmenus.length > 0) {
print("Found appmenu widget with ID "+appmenus[0].id);
}
}
}
This prints the ID of the appmenu widget on screen 0. So far so good. But there seems to be absolutely no way to somehow activate the widget from a Plasma script. The callDBus()
function I used in the KWin script above to trigger the widget's shortcut isn't available in a Plasma script.
Some digging around in DBus revealed that plasmashell
has a callable method org.kde.PlasmaShell.evaluateScript()
that takes a string and runs it as a script. Great! Maybe I can call this from a KWin script to find out the widget ID for the active screen? Well, no. Sure, I can call it just fine, the script runs and all. But there's no way to pass any data back to KWin from the Plasma script (t
I love KDE Plasma. It's a go to DE in my eyes. I tried everything available and settled down with Plasma as DE. But I had so much issues with kwin compositing; From crashing to vsync and performance issues some of which were addressed in kwin-lowlatency fork. Disabling kwin compositing solves the issues but then I got terrible screen tear. So after years of living with the issue, praying to gods to fix it, finally I decided to do something about it.
I couldn't just abandon Kwin as I really do like it and it's the best WM around, polished and feature rich. So I decided to stick with KWin WM and disable it's compositing part that was having issues (i think that issues are related to nvidia, but as i'm stuck with nvidia now, can't really test with AMD gpu) and instead used picom for compositing!
Picom compositor got rid of all issues and even expanded the possibilities with Plasma. Again I fall in love with Plasma finding it most advanced DE. With picom I have increased stability and got far better performance with vsync. Best thing is that I don't see micro-stutter now in Plasma (ex. when notification shows up all other parts of plasma start to micro-stutter). Now when playing games there's no need for disabling compositing, with no performance loss (noticeable), where with Kwin it was impossible to play games + compositing enabled.
So what I did was:
- In system settings -> Display and monitor -> compositor i disabled the option "Enable compositor on startup
" to get rid of Kwin compositing.
- Installed picom - sudo add-apt-repository ppa:yurivkhan/picom && sudo apt install picom
- Created picom.conf and picom systemd service (note: in order for service to work with xserver service is used as user not root - place unit file in ~/.config/systemd/user/picom.service
and systemctl --user start picom
)
- Start systemd service and enable it
And enjoy KDE Plasma like it's brand new!
With picom compositing I can now make transparent and blurred just about anything! Sky is the limit!
I wish i knew this way before, but i never found any guide, review or heard that anyone used KWin + Picom. So i wanted to share this gem that I found with the community.
I hope this makes someone else as happy as it made me!
I'm getting this error on running cmake ..
Could not find a package configuration file provided by "KWaylandServer"
Could someone please help me with compiling Kwin? I'm on KDE neon 5.23
https://reddit.com/link/qa9bg4/video/5rwpn1g073u71/player
I have never quite gotten used to the concept of layers of stacked windows piling up on the desktop, but also couldn't fully warm up to tiling window managers as I felt I was missing control and flexibility. So I created Floating Tiles, a KWin script that tries to combine the best of both worlds. This is an extension for KDE's window manager that will prevent windows from covering each other by minimizing and optionally restoring background windows as needed, with the purpose of keeping the workspace clutter-free. The result is something like no-stacking stacking window management, where toplevel windows never overlap but are always freely floatingly positionable. It's just some 200 lines of code on top of KWin, but it noticeably improves my workflow, and I thought perhaps someone else finds use for it too.
Floating Tiles are available in the KDE store: https://www.pling.com/p/1619690/ and on GitHub: https://github.com/nclarius/floating-tiles
While at it, here are some more scripts I created that may be of use for some:
Heya. So every time i disable desktop effects/compositing and i re-enable them i get really bad stutters and lag, even affects audio that becomes distorted. only way to fix this at that point is to log out and back in or disable the compositing again. I play a game where i get noticeable input lag when compositing is on and it really affects gameplay (its a rhythm game) and even with other games i usually let it auto disable the composting.
I use EndeavourOS with an Nvidia GPU and the Proprietary Drivers.
Edit: i gave KWinFT a go for about a day now and so far it resolved most of my annoyances i had.
noticed my dbus-daemon is eating up a ton of memory and found my logs are just getting mass filled with this message, seemingly related to kwin_x11
[system] Rejected: destination has a full message queue, 0 matched rules; type="error", sender="(unset)" ((bus)) interface="(unset)" member="(unset)" error name="org.freedesktop.DBus.Error.ServiceUnknown" requested_reply="1" destination=":1.17" (uid=1000 pid=693 comm="/usr/bin/kwin_x11 ")
here is what my logs look like, you can see its just roll'n.https://i.imgur.com/b1jbJW5.png
any idea whats up with that? should I just file a bug report and if so what all should I put for it, this kde bug report page has a shit ton of drop downs and options im not sure which to pick for? I dont know that the issue is actually with anything kde yet or if its just something that happened due to nvidia nonsense. my system has been less than stable after trying the nvidia 495 beta a few weeks back, reverting to 470, then finally getting the non-beta 495 a little while ago.
With the KWin scripting API, I know I can connect a signal with
client.signal.connect(myFunction);
to trigger some action when the script receives a signal.
But how can I emit a signal from my KWin script for other components to pick up?
I want something like
client.emit(signal);
but couldn't find anything in the API documentation and unsuccessfully tried various possible syntaxes.
My use case is that I want to emit a clientStartUserMovedResized
signal before doing a geometry change, so that another script can detect that a window is about to be changed with the window with the old geometry passed over, before the clientGeometryChanged
signal is automatically emitted after the change in geometry has already happened and the old geometry is lost.
I have heard that it could be Kwin not having the proper API setup for window placement in Wayland yet. How true is this?
Also, is anyone continuing the project somewhere else?
Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.