Hi,

I'm running kde with i3 as window manager and it's working very well. I did
have to make a few changes to i3 to make them play nicely together, which
I'll describe below.

First of all to tell kde to use i3 instead of kwin I used the KDEWM
environment variable which is set inside the .kde/env/set_window_manager.sh
shell script.

Inside i3's config file I have added the following commands to prevent
various kde pop-ups from being decorated/tiled:

for_window [class="Plasma-desktop"] border none
for_window [class="krunner"] border none
for_window [class="Kmix"] floating enable;
for_window [class="Plasmoidviewer"] floating enable;
for_window [class="Klipper"] floating enable; border none

Lastly, I have a set of patches on top of the i3 next branch (they should
apply fine on top of 4.5 as well), which I'm attaching to this email. Not
all are needed for kde/i3 integration, I'm including all of them here
because I don't have time to check if they apply cleanly when some are
missing.

0001-Fix-crash-in-some-situations.patch
This should fix the krunner crash.

0002-Added-support-for-window-icons-_NET_WM_ICON-property.patch
This adds support for displaying the window icons (_NET_WM_ICON) on the
window's title. I find that when I have many windows in tabbed/stacked mode
it's much quicker to find some window if there are icons next to the window
titles. Not needed for kde/i3 integration.

0003-Close-window-s-on-middle-click.patch
This added support for closing a window by middle clicking on it's title.
Not needed for kde/i3 integration.

0004-Don-t-manage-desktop-type-windows-only-map-them.patch
This adds "support" for desktop windows(_NET_WM_WINDOW_TYPE_DESKTOP) by
just mapping them instead of managing them.

0005-Handling-_NET_WM_STATE_STAYS_ON_TOP-window-state-use.patch
Implements support for _NET_WM_STATE_STAYS_ON_TOP window states (useful for
most KDE4 popups).

0006-Allow-focusing-to-change-to-worskpaces-that-are-not-.patch
Allows focus change to workspaces that are not visible. Not needed for
kde/i3 integration.

0007-Workaround-for-resize-to-work-while-krunner-is-start.patch
Window resizing using the mouse doesn't work while krunner is started. This
patch is a workaround to fix that.

0008-Fix-for-invisible-borders-after-restart-when-composi.patch
I using a compositor, after restarting i3 some window borders become
invisible. This patch is a workaround to fix that, not needed for kde/i3
integration.


Hope this helps,
Marius




> Basically, I'd like to just use i3wm for its window-handling
> and management, but I'd like to use as much of kde and
> kde-integration as possible.
>
>
> So I guess I can list this another way - what I'd like to
> be able to do:
>
> * access system-tray stuff either via a kde panel, or via
>   i3bar/i3status.
>
> * execute krunner without crashes, possibly use krunner
>   in lieue of dmenu if possible.
>
> * be able to properly exit/logout-of the kde session
>
>
> Anyone else using i3 as an alternative to kwin in a mostly
> kde environment, primarily for i3's tiling window management
> features?
>
>
> Thanks for any assistance, much appreciated! I did spend
> quite a bit of time last night experimenting and hunting
> google and forums for solutions, but to no avail.
>
>
>

Attachment: 0001-Fix-crash-in-some-situations.patch
Description: Binary data

Attachment: 0002-Added-support-for-window-icons-_NET_WM_ICON-property.patch
Description: Binary data

Attachment: 0003-Close-window-s-on-middle-click.patch
Description: Binary data

Attachment: 0004-Don-t-manage-desktop-type-windows-only-map-them.patch
Description: Binary data

Attachment: 0005-Handling-_NET_WM_STATE_STAYS_ON_TOP-window-state-use.patch
Description: Binary data

Attachment: 0006-Allow-focusing-to-change-to-worskpaces-that-are-not-.patch
Description: Binary data

Attachment: 0007-Workaround-for-resize-to-work-while-krunner-is-start.patch
Description: Binary data

Attachment: 0008-Fix-for-invisible-borders-after-restart-when-composi.patch
Description: Binary data

Attachment: set_window_manager.sh
Description: Bourne shell script

Reply via email to