All Projects → heckelson → I3 And Kde Plasma

heckelson / I3 And Kde Plasma

Licence: gpl-3.0
How to install the i3 window manager on KDE

Projects that are alternatives of or similar to I3 And Kde Plasma

I3 Config
I3-gaps configuration
Stars: ✭ 67 (-75.99%)
Mutual labels:  i3, i3wm, i3-gaps
Autotiling
Script for sway and i3 to automatically switch the horizontal / vertical window split orientation
Stars: ✭ 243 (-12.9%)
Mutual labels:  i3, i3wm, i3-gaps
Dotfiles
🐲 My Arch Linux config [i3-gaps + i3blocks + Zsh + Spacemacs + Rofi + Alacritty + Neofetch]
Stars: ✭ 725 (+159.86%)
Mutual labels:  i3, i3wm, i3-gaps
I3
A fork of the i3 window manager with gaps and some other features
Stars: ✭ 5,512 (+1875.63%)
Mutual labels:  i3, i3wm, i3-gaps
i3-create-config
Script to create an i3 config from multiple files.
Stars: ✭ 27 (-90.32%)
Mutual labels:  i3, i3wm, i3-gaps
Dotfiles
i3 + Plasma: using the i3 window manager on the top of KDE Plasma and other dotfiles, configurations, scripts, workarounds and practises from my Debian Sid machines.
Stars: ✭ 651 (+133.33%)
Mutual labels:  plasma, i3wm, i3-gaps
I3 Gaps Deb
Tool to create and install Debian (or Ubuntu) packages of i3-gaps.
Stars: ✭ 236 (-15.41%)
Mutual labels:  i3, i3wm, i3-gaps
ansible-debian
Buildfiles: Ansible automated leight-weight and sensible Debian provisioning
Stars: ✭ 83 (-70.25%)
Mutual labels:  i3, i3wm, i3-gaps
dotfiles
My dotfiles, with an out-of-date install-script. Arch, Tiling WM (i3, sway), ZSH, Neovim
Stars: ✭ 20 (-92.83%)
Mutual labels:  i3, i3wm, i3-gaps
no-mans-sky-rice-i3wm
i3WM rice themed using No Man's Sky's colors
Stars: ✭ 34 (-87.81%)
Mutual labels:  i3, i3wm, i3-gaps
i3status
Simple status bar for i3 / i3-gaps / sway written in bash and python
Stars: ✭ 69 (-75.27%)
Mutual labels:  i3, i3wm, i3-gaps
dotfiles
💻 🍚 🔳 🔲 My riced-up Kali dotfiles – off-white | dark leet | chrome lambo
Stars: ✭ 55 (-80.29%)
Mutual labels:  i3, i3wm, i3-gaps
polybar-now-playing
Script for polybar to display and control media(not only Spotify) using DBus.
Stars: ✭ 34 (-87.81%)
Mutual labels:  i3, i3wm
i3nator
i3nator is Tmuxinator for the i3 window manager
Stars: ✭ 57 (-79.57%)
Mutual labels:  i3, i3wm
rofi-todo
📓 Minimal todo client for the rofi launcher
Stars: ✭ 20 (-92.83%)
Mutual labels:  i3, i3wm
dotfiles
A collection of dotfiles for i3, polybar and more.
Stars: ✭ 25 (-91.04%)
Mutual labels:  i3, i3wm
swayinfo
Some goodies for use in Sway and i3 wm
Stars: ✭ 30 (-89.25%)
Mutual labels:  i3, i3wm
i3blocks-modules
Custom modules for i3blocks status bar
Stars: ✭ 36 (-87.1%)
Mutual labels:  i3, i3wm
i3lock-next
Create a fancy image to use with i3lock.
Stars: ✭ 64 (-77.06%)
Mutual labels:  i3, i3wm
dotfiles
collection (and a backup) of my config files
Stars: ✭ 49 (-82.44%)
Mutual labels:  i3, i3wm

i3 and KDE Plasma

How to install the i3 window manager on KDE Plasma.

Preview image:

screenshot of my current setup

Situation before the installation

  • Manjaro KDE Edition, all updates installed
  • KDE Plasma
  • KWin

Installation

Packages

We're gonna install a couple packages that are required or nice-to-haves on i3. This consists of:

  • i3-gaps, obviously
  • feh to set up the background
  • dmenu (not required)
  • morc_menu (not required)
  • i3status for the status bar of i3
  • wmctrl to add to the i3 config (if you're not on an English installation of Plasma)

Here's a oneliner on how I installed everything: $ sudo pacman -Syu && sudo pacman -S i3-gaps feh i3-dmenu-desktop morc_menu i3status wmctrl

Configuration

Create a new XSession

Create a new file called plasma-i3.desktop in the /usr/share/xsessions directory as su. [1]

Write the following into /usr/share/xsessions/plasma-i3.desktop:

[Desktop Entry]
Type=XSession
Exec=env KDEWM=/usr/bin/i3 /usr/bin/startplasma-x11
DesktopNames=KDE
Name=Plasma with i3
Comment=Plasma with i3

The i3 installation could have installed other .desktop files, you can remove them if you'd like. I only have the default plasma.dektop and plasma-i3.desktop in my folder.

For the following use your existing i3 config or create a new config using $ i3-config-wizard (this also works when you're still in KWin).

Your i3 config should be located at ~/.config/i3/config, although other locations are possible (depending on your personal configuration).

Adding stuff to the i3 config

To improve compatibility with Plasma, add the following lines in your i3 config.

# Plasma compatibility improvements
for_window [window_role="pop-up"] floating enable
for_window [window_role="task_dialog"] floating enable

for_window [class="yakuake"] floating enable
for_window [class="systemsettings"] floating enable
for_window [class="plasmashell"] floating enable;
for_window [class="Plasma"] floating enable; border none
for_window [title="plasma-desktop"] floating enable; border none
for_window [title="win7"] floating enable; border none
for_window [class="krunner"] floating enable; border none
for_window [class="Kmix"] floating enable; border none
for_window [class="Klipper"] floating enable; border none
for_window [class="Plasmoidviewer"] floating enable; border none
for_window [class="(?i)*nextcloud*"] floating disable
for_window [class="plasmashell" window_type="notification"] border none, move right 700px, move down 450px
no_focus [class="plasmashell" window_type="notification"]

Killing the existing window that covers everything

With my installation, there was a Plasma Desktop window that covered everything and had to be closed with $mod+Shift+q every time I logged in. To circumvent that, follow this tutorial.

English Plasma settings instructions

If you're on an English installation of Plasma, add this line to your i3 config: for_window [title="Desktop — Plasma"] kill; floating enable; border none

Non-English Plasma settings instructions

If you're not on the English setting, do this instead. This example is using the German Plasma setting.

Find out the name of your Plasma desktop

Directly after logging into your i3 environment, switch to a new workspace with $mod+2. Then enter the following in your terminal:

$ wmctrl -l

The output should contain the name of the Plasma window. Copy the name into your clipboard.

...
0x04400006  0 alex-mi Arbeitsfläche — Plasma
...

Set it in the i3 config

Using the name from the clipboard as te title, add the following lines to your i3 config:

for_window [title="Desktop — Plasma"] kill; floating enable; border none
for_window [title="Arbeitsfläche — Plasma"] kill; floating enable; border none

Disabling a shortcut that breaks stuff

Launch the Plasma System Settings and go to Category Workspace > Shortcuts > Category System Services > Plasma and disable the shortcut "Activities..." that uses the combination Meta+Q.

Using the plasma shutdown screen

To use the plasma shutdown/logout/reboot screen, delete this line (or comment out)

bindsym $mod+Shift+e exec "i3-nagbar " ...

and add the following one(s) instead:

# using plasma's logout screen instead of i3's
bindsym $mod+Shift+e exec --no-startup-id qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout -1 -1 -1

(Note: This seems to not work on some distros.)

Setting the Background (optional)

(Note: This section is outdated. The "Andromeda" packages are no longer in the Manjaro repositories.)

By default, i3 doesn't set a background and it requires a third party to do that. I am using the default background provided by the Plasma theme with the name of "Andromeda" and a program called feh to set the background.

I installed these following packages for the background and theme:

$ sudo pacman -S andromeda-wallpaper plasma5-themes-andromeda sddm-andromeda-theme andromeda-icon-theme

and enabled the theming in the Plasma settings.

To set up the same wallpaper in i3, add the following line to the i3 config:

exec --no-startup-id feh --bg-scale /usr/share/plasma/look-and-feel/org.manjaro.andromeda.desktop/contents/components/artwork/background.png

Editing the bar (optional)

The i3 bar has a nice feature that allows it to be hidden, unless you press $mod. I enabled this, because I have the Plasma status bar.

This is my bar config. It sets the command that should be called to get the current system status, makes it a bit larger and a bit less black. To use the i3 bar instead of the plasma one, you should be able to just remove it with your mouse (navigate through the right click menus of the bar).

bar {
    status_command i3status
    mode hide
    height 30
    colors {
      background #242424
    }
}

That's it! I hope this little tutorial helped you, and if you see anything you'd like to improve, absolutely feel free to do so! My issues are open, as are pull requests.

If you'd like to buy me a coffee, follow this link.


Enable transparency (optional)

If you'd like to enable transparency, you need to install a compositor. I use picom, and it works really well with minimal (no) configuration. First, install picom: $ sudo pacman -S picom

Then, add this line to your i3 config: exec_always --no-startup-id picom -bc

The result is something like this:

screenshot of my setup with transparency enabled


Dual Kawase blur (optional)

This was a bit more tricky to do. Instead of the normal picom from Manjaro's repository, I used a fork called picom-tryone-git to replace my existing picom.

To configure picom, I copied /etc/xdg/picom.conf.example to ~/.config/picom.conf. Picom should already pick up this config. There are a couple of things you need to change.

My changes were:

...
shadow = true;
shadow-radius = 12;
...
shadow-opacity = 1;
shadow-red = 0.0;
shadow-green = 0.0;
shadow-blue = 0.0;
...
# inactive opacity = 1;
...
frame_opacity = 1;
...
fading = false;
...
backend = "glx";
...
blur:
{
method = "dual_kawase";
size = 25;
deviation = 5.0;
}

Make sure the blur: section is on the bottom of the file.

To start picom in a way that supports kawase blur, replace the line in your i3 config that starts picom with this one:

exec --no-startup-id picom --backend glx --experimental-backends -bc

The result can look something like this:

with blur and looking good

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].