heckelson / i3-and-kde-plasma

How to install the i3 window manager on KDE
GNU General Public License v3.0
868 stars 34 forks source link

Using xwinwrap to fix "Desktop - Plasma" window issue #27

Open JuniorSuperTux opened 2 years ago

JuniorSuperTux commented 2 years ago

As mentioned, there is a big window on startup, which is the Plasma desktop. I'm just wondering, is is possible to use xwinwrap to make this window stay on back instead of just killing it and using other applications for desktop (like feh) since by doing so we'll have access to desktop widgets?

vanessa-luna commented 2 years ago

You can use https://i3wm.org/docs/userguide.html#_scratchpad

for_window [title="Desktop — Plasma"] move scratchpad

instead of the kill line suggested in the README. Although this hides it completely.

leandro-lucarella-frequenz commented 1 year ago

When I upgraded to plasma 5.27, I noticed killing the desktop window would kill the whole plasma (or at least the panel too) and will get restarted. Using this trick fixed the issue for me. Maybe this info should be included in the main README.

Thaodan commented 3 months ago

You don't have to kill the desktops if you use this patch: https://github.com/Thaodan/i3/commit/f383283052a4269858b872789295f8b109356734

Note the patch is already applied in openSUSE.

ImGGAAVVIINN commented 1 month ago

I installed your fork, but the plasma desktop window is still not pushing to the back of all other windows. Are there any further configuration that I need to do to achieve the desired effect?

Thaodan commented 1 month ago

Do you still kill the desktop windows?

ImGGAAVVIINN commented 1 month ago

no I did not kill them or add any configuration to the i3 config that tempers with the desktop windows Also, I cannot kill the desktop windows since my plasma crashes when I kill them

Thaodan commented 1 month ago

How does it looks for you? (screenshot).

Just to be sure these are my window rules:

# -*- i3wm-config -*-

#for_window [title="Desktop @ QRect.*"] kill; floating enable; border none

# >>> Window rules <<<
# >>> Avoid tiling Plasma popups, dropdown windows, etc. <<<
# For the first time, manually resize them, i3 will remember the setting for floating windows
for_window [class="yakuake"] floating enable;
for_window [class="lattedock"] floating enable;
for_window [class="plasmashell"] floating enable;
for_window [class="Kmix"] floating enable; border none
for_window [class="kruler"] floating enable; border none
for_window [class="Plasma"] floating enable; border none
for_window [class="Klipper"] floating enable; border none
for_window [class="krunner"] floating enable; border none
for_window [class="Plasmoidviewer"] floating enable; border none
for_window [title="plasma-desktop"] floating enable; border none
for_window [class="plasmashell" window_type="notification"] floating enable, border none, move position 1450px 20px
no_focus [class="plasmashell" window_type="notification"] 

# >>> Avoid tiling for non-Plasma stuff <<<
for_window [window_role="Organizer"] floating enable
for_window [window_role="pop-up"] floating enable
for_window [window_role="bubble"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [window_role="Preferences"] floating enable
for_window [window_role="About"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [instance="__scratchpad"] floating enable
for_window [window_role="toolbox"] floating enable
for_window [window_role="webconsole"] floating enable

no_focus [class="plasmashell"]
no_focus [window_role="pop-up"]
no_focus [window_type="notification"]

# Maybe import some of the rules from
# https://github.com/Madic-/Sway-DE/blob/master/config/sway/sway.d/06_floating.conf

for_window [title = "About Mozilla Firefox"] floating enable
for_window [window_role = "About"] floating enable
# Kill Firefox sharing indicator. It opens as an own container. Does not kill functionality
for_window [title = "Firefox - Sharing Indicator"] floating enable
for_window [title = "Firefox — Sharing Indicator"] floating enable
for_window [title = "LibreWolf — Sharing Indicator"] floating enable
for_window [title = "LibreWolf - Sharing Indicator"] floating enable

for_window [title = "^Open File$"] floating enable
for_window [class = "davmail-DavGateway"] floating enable
ImGGAAVVIINN commented 1 month ago

I tried to use the config you gave me but the desktop windows are still on top of everything for_window [title="Desktop — Plasma"] move scratchpad Make them not visible anymore, I want the desktop to be behind all other windows, just like in plasma originally


Here is my plasma and i3 versions

$> i3 -version i3 version 4.22-74-g910e5858 © 2009 Michael Stapelberg and contributors

$> plasmashell --version plasmashell 5.25.5


When I run i3 -V I can see the output of 10/10/24 19:46:24 - Regular expression "LibreWolf — Sharing Indicator" does not match "Ignoring desktop windows and moving them on the bottom of the stack. · Thaodan/i3@f383283 - Vivaldi" Which from my understanding is supposed to show when the plasma desktop window was found and hidden, but the code seem to be unable to find the plasma desktop window

Here are the logs https://mega.nz/file/X8ZzBRBL#WFAeVReXa2G3xiZ0jlCFZZGVXJi0f4xMJpok9vnZeuY

Also I can't see your image on my side

ImGGAAVVIINN commented 1 month ago

Okay, it was my fault, I didn't download the zip from your commit, but instead I cloned the repo, which didn't have the changes. it was my mistake sorry!!!
For future vistors the corrent link is THIS ONE