Skip to content

Commit af4624a

Browse files
committed
📝 Add new content
1 parent 39b6a06 commit af4624a

File tree

4 files changed

+177
-3
lines changed

4 files changed

+177
-3
lines changed

src/content/docs/getting-involved/compile-from-source.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,10 @@ sidebar:
99

1010
macOS: If you run Kando from source, you will need to grant the permissions to the terminal you are using to start Kando.
1111
You will have to grant Kando Accessibility and Screen Recording permissions in the system settings. Accessibility permissions are required to simulate key presses and move the mouse cursor. Screen Recording permissions are required to get the name of the currently focused window.
12+
13+
On some distributions, you may encounter the error `The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now`. This is related to [this issue](https://github.com/electron/electron/issues/17972) and can be fixed by running these commands:
14+
15+
```bash
16+
sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
17+
sudo chown root node_modules/electron/dist/chrome-sandbox
18+
```

src/content/docs/getting-started/installation-linux.mdx

Lines changed: 163 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
---
22
title: Installing Kando on Linux
33
description: How to install Kando on Linux.
4-
banner:
5-
content: 🚧 This page is under construction! 🚧
64
sidebar:
75
label: Installing on Linux
86
order: 3
@@ -13,3 +11,166 @@ next:
1311
link: /getting-started/usage
1412
label: How to Use the Menu
1513
---
14+
15+
import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components';
16+
import { Icon } from 'astro-icon/components';
17+
import { YouTube } from '@astro-community/astro-embed-youtube';
18+
import Intro from '../../../components/Intro.astro';
19+
20+
![banner](../../../assets/banner06.png)
21+
22+
<Intro>
23+
On Linux, you can either install Kando from your package manager, or via any of the pre-packaged binaries from GitHub releases.
24+
</Intro>
25+
26+
## 📦 Installation via a Package Manager
27+
28+
<Steps>
29+
30+
1. Kando is already available in several package managers.
31+
<Tabs>
32+
<TabItem label="AUR">
33+
You can install [`kando-bin`](https://aur.archlinux.org/packages/kando-bin/) from the AUR.
34+
```bash
35+
yay -S kando-bin
36+
```
37+
</TabItem>
38+
<TabItem label="NixOS">
39+
A [`kando`](https://search.nixos.org/packages?channel=24.11&show=kando) package is available in Nixpkgs.
40+
```bash
41+
nix-shell -p kando
42+
```
43+
</TabItem>
44+
<TabItem label="AM or AppMan">
45+
You can install Kando from the [AppMan](https://portable-linux-apps.github.io/apps) package manager.
46+
```bash
47+
am -i kando
48+
```
49+
</TabItem>
50+
</Tabs>
51+
52+
2. After the installation, you can start Kando from your application launcher! Not much will happen, as Kando is a tray application and will run in the background.
53+
54+
3. On most X11 based distributions, you can now press <kbd>Ctrl</kbd> + <kbd>Space</kbd> to open the example menu!
55+
<Aside type="note" title='This does not work?'>
56+
On some desktop environments, especially those based on Wayland, you will have to perform some additional steps. Read more in the [Desktop Specifics](#desktop-specifics) section below for more information.
57+
</Aside>
58+
59+
</Steps>
60+
61+
## 🗜️ Installation via a Pre-Packaged Binary
62+
63+
<Steps>
64+
65+
1. Just head over to the [releases page](https://github.com/kando-menu/kando/releases) and download a package that fits your distribution.
66+
<Tabs syncKey="download-type">
67+
<TabItem label="Ubuntu">
68+
On Ubuntu and other Debian-based distributions, you can download the `Kando_*_amd64.deb` package.
69+
</TabItem>
70+
<TabItem label="Fedora">
71+
On Fedora and other RPM-based distributions, you can download the `Kando-*.x86_64.rpm` package.
72+
</TabItem>
73+
<TabItem label="AppImage">
74+
The `Kando-*-x86_64.AppImage` package is a universal package that should work on most distributions.
75+
</TabItem>
76+
<TabItem label="Zip Archive">
77+
The `Kando-linux-x64-*.zip` package is a generic package that should work on most distributions.
78+
</TabItem>
79+
</Tabs>
80+
81+
2. Install the package. The AppImage and Zip Archive packages are standalone and can be run directly. The other packages need to be installed.
82+
<Tabs syncKey="download-type">
83+
<TabItem label="Ubuntu">
84+
```bash
85+
sudo dpkg -i Kando_*_amd64.deb
86+
```
87+
After the installation, you can start Kando from your application launcher! Not much will happen, as Kando is a tray application and will run in the background.
88+
</TabItem>
89+
<TabItem label="Fedora">
90+
```bash
91+
sudo rpm -i Kando-*.x86_64.rpm
92+
```
93+
After the installation, you can start Kando from your application launcher! Not much will happen, as Kando is a tray application and will run in the background.
94+
</TabItem>
95+
<TabItem label="AppImage">
96+
```bash
97+
chmod +x Kando-*-x86_64.AppImage
98+
./Kando-*-x86_64.AppImage
99+
```
100+
</TabItem>
101+
<TabItem label="Zip Archive">
102+
```bash
103+
unzip Kando-linux-x64-*.zip
104+
./Kando-linux-x64/kando
105+
```
106+
</TabItem>
107+
</Tabs>
108+
109+
3. On most X11 based distributions, you can now press <kbd>Ctrl</kbd> + <kbd>Space</kbd> to open the example menu!
110+
<Aside type="note" title='This does not work?'>
111+
On some desktop environments, especially those based on Wayland, you will have to perform some additional steps. Read more in the [Desktop Specifics](#desktop-specifics) section below for more information.
112+
</Aside>
113+
114+
</Steps>
115+
116+
## Desktop Specifics
117+
118+
Implementing a menu like Kando on Wayland is not exactly easy.
119+
Things like getting the mouse position before opening a window, simulating key presses, or getting the name of the currently focused application window does not work out of the box.
120+
Therefore, Kando needs some additional setup on Wayland based desktop environments.
121+
There are also some X11 based desktop environments that need some additional setup.
122+
123+
### <Icon name="simple-icons:gnome" class="inline-icon" /> GNOME on Wayland
124+
125+
You will also need to install the [🐚 Kando Integration Extension](https://github.com/kando-menu/gnome-shell-integration).
126+
Via a D-Bus interface, it provides the name of the currently focused window, and the current mouse pointer position.
127+
Furthermore, it allows registering and simulating keyboard shortcuts.
128+
129+
130+
### <Icon name="simple-icons:kde" class="inline-icon" /> KDE Plasma on Wayland
131+
132+
If you are using Plasma on Wayland, Kando cannot directly bind global shortcuts.
133+
Instead, you specify a shortcut ID for each menu in Kando's menu editor and bind a key combination for this shortcut ID in your system settings.
134+
You can bind a shortcut to the shortcut ID under the KWin section in the global shortcuts settings.
135+
136+
### <Icon name="simple-icons:hyprland" class="inline-icon" /> Hyprland
137+
138+
You will need some window rules for Kando.
139+
Else, the menu will not float above other windows.
140+
141+
```
142+
// ~/.config/hypr/hyprland.conf
143+
windowrule = noblur, kando
144+
windowrule = opaque, kando
145+
windowrule = size 100% 100%, kando
146+
windowrule = noborder, kando
147+
windowrule = noanim, kando
148+
windowrule = float, kando
149+
windowrule = pin, kando
150+
```
151+
152+
Also, Kando cannot directly bind global shortcuts on Hyprland.
153+
Instead, you specify a shortcut ID for each menu in Kando's menu editor and bind a key combination in `hyprland.conf`.
154+
Replace `example-menu` with the ID of your menu.
155+
156+
```
157+
// ~/.config/hypr/hyprland.conf
158+
bind = CTRL, Space, global, kando:example-menu
159+
```
160+
161+
### Dusk
162+
163+
On Dusk, you will have to install and use a compositor like `picom` or `compton` to make the transparency work.
164+
Also, you will need some window rules for Kando:
165+
```cpp
166+
// dusk/config.def.h
167+
static const Rule clientrules[] = {
168+
{ .class = "kando", .flags = FullScreen }, //kando should be on top of DOCK clientrule
169+
{ .wintype = WTYPE "DESKTOP", .flags = Unmanaged|Lower },
170+
{ .wintype = WTYPE "DOCK", .flags = Unmanaged|Raise },
171+
};
172+
```
173+
174+
### LXDE, i3, Openbox, and others
175+
176+
On some minimal desktop environments, you will have to install and use a compositor like `picom` or `compton` to make the transparency work.

src/content/docs/getting-started/installation-macos.mdx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ next:
1313
label: How to Use the Menu
1414
---
1515

16-
1716
import { Steps, Aside } from '@astrojs/starlight/components';
1817
import { YouTube } from '@astro-community/astro-embed-youtube';
1918
import Intro from '../../../components/Intro.astro';

src/styles/custom.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,13 @@
2525
background-color: #333;
2626
}
2727

28+
/* The astro icons are not displayed correctly as they get an display: block;
29+
from somewhere. We add this class manually to make them inline again. */
30+
.inline-icon {
31+
display: inline-block !important;
32+
transform: translateY(0.1em);
33+
}
34+
2835
/* Dark mode colors. */
2936
:root {
3037
--sl-color-accent-low: #331b27;

0 commit comments

Comments
 (0)