🎀 KwesomeDE 🎀
Thanks for dropping by!
Welcome to my AwesomeWM configuration files, aka KwesomeDE.
The setup section will guide you through the installation process.
AwesomeWM is the most powerful and highly configurable, next generation framework window manager for X,
Although it takes time and effort to configure it, but I'm very satisfied with the result.
:snowflake: Information
Here are some details about my setup:
Main Features:
- Wi-Fi Applet
- Bluetooth Applet
- Audio Applet
- CPU Applet
- RAM Applet
- Disk Applet
- Introduction/Setup tool
- Screenshot tool
- Recorder tool
- Theme Manager
- Desktop Icons
- Control Panel
- Message Panel
- Info Panel
- Main Menu
- Client Menu
- App Launcher
- Lock Screen
- Power/Exit Screen
- Window Switcher
- Notifications for various system events
- Titlebars
- Ncmpcpp Custom UI
- Many more!
AwesomeWM Modules:
- bling
- Adds new layouts, modules, and widgets that try to primarily focus on window management
- layout-machi
- Manual layout for Awesome with an interactive editor
- color
- Contains a bunch of useful function for conversion as well as well as a very nice api for just colors in general.
:wrench: Setup
1. Install AwesomeWM
Install the **[git version of AwesomeWM](https://github.com/awesomeWM/awesome/)**
**Arch users** can use this following command
```sh
yay/paru -S awesome-git
```
**For other distros**, build instructions are [here](https://github.com/awesomeWM/awesome/#building-and-installation).
2. Install Dependencies
| Dependency | Why/Where is it needed? |
|-----------------------------------------|-----------------------------------------------------------|
| networkmanager | Network notifcations, applet/wibar widget |
| nm-connection-editor | Used in the wifi applet settings button |
| bluez | Bluetooth notifcations, applet/wibar widget |
| blueman | Used in the bluetooth applet settings button |
| pipewire-pulse/pulsaudio + pactl | Audio notifcations, applet/wibar widget |
| libgudev | Used for USB notifications (optional - use commands) |
| libgusb | Used for USB notifications |
| upower | Battery notifications/widgets |
| lm_sensors | CPU Temperature |
| brightnessctl | Brightness daemon and widget |
| redshift | Blue light toggle |
| inotify-tools | Daemons that monitor filesystem events |
| maim | Screenshot widget |
| xcolor | Used for color picking |
| ffmpeg | Record widget |
| picom | Compositor widget/notifcations |
| playerctl | Media daemon and controls |
| fortune-mod | Fortune daemon (unused, but might change) |
| imagemagick | Used to generate colors from wallpapers |
| neofetch | Used to display system info |
| libsecret | Used to secrets in a secured way |
**Arch Linux (and other Arch-based distributions)**
```sh
pacman -Sy networkmanager nm-connection-editor bluez blueman pipewire pipewire-pulse libgusb libgudev upower lm_sensors brightnessctl redshift inotify-tools maim xcolor ffmpeg playerctl fortune-mod imagemagick neofetch libsecret --needed
```
Assuming your **AUR Helper** is [yay](https://github.com/Jguer/yay) or [paru](https://github.com/Morganamilo/paru).
```sh
yay/paru -Sy picom-animations-git --needed
```
3. Install Fonts
+ **Font Awesome 6 Pro** - PAID
+ **Nerd Font Mono** - [here](https://github.com/ryanoasis/nerd-fonts)
+ **Iosevka** - [here](https://github.com/be5invis/Iosevka)
+ **Oswald** - [here](https://fonts.google.com/specimen/Oswald)
Once you download them and unpack them, place them into `~/.fonts` or `~/.local/share/fonts`
And run this command for your system to detect the newly installed fonts.
```sh
fc-cache -v
```
4. Install KwesomeDE
> Clone this repository
```sh
git clone --recurse-submodules https://github.com/Kasper24/KwesomeDE ~/.config/awesome
```
> Finally, now you can login with AwesomeWM
Congratulations, at this point you have installed this aesthetic dotfiles! :tada:
Log out from your current desktop session and log in into AwesomeWM
⌨️ Keybinds
Awesome
| Keybind | Action |
| ------- | ------ |
| super + r | Reload awesome |
| super + q | Quit awesome |
Screen
| Keybind | Action |
| ------- | ------ |
| super + ctrl + j | Focus the next screen |
| super + ctrl + k | Focus the previous screen |
Client
| Keybind | Action |
| ------- | ------ |
| super + c | Close client |
| super + t | Toggle titlebar |
| super + space | Toggle floating |
| super + f | Toggle fullscreen |
| super + m | Toggle maximize client |
| super + ctrl + m | Toggle maximize client vertically |
| super + shift + m | Toggle maximize client horizontally |
| super + n | Minimize client |
| super + shift + n | Restore minimized clients |
| super + shift + b | Make tiny float and keep on top |
| super + shift + c | Move and resize to center |
| super + c | Center a client |
| super + shift + up | Move up |
| super + shift + down | Move down |
| super + shift + left | Move left |
| super + shift + right | Move right |
| super + ctrl + up | Resize up |
| super + ctrl + down | Resize down |
| super + ctrl + left | Resize left |
| super + ctrl + right | Resize right |
| super + up | Focus up |
| super + down | Focus down |
| super + left | Focus left |
| super + right | Focus right |
| super + j | Focus next |
| super + k | Focus previous |
| super + shift + k | Swap with next |
| super + shift + j | Swap with previous |
| super + shift + return | Swap focused client with master |
| super + tab | Go back in history |
| super + shift + u | Jump to urgent |
| alt + a | Pick client to add to tab group |
| alt + s | Iterate through tabbing group |
| alt + d | Remove focused client from tabbing group |
Layout
| Keybind | Action |
| ------- | ------ |
| super + shift + = | Increase paddings |
| super + shift + - | Decrease paddings |
| super + = | Increase gaps |
| super + - | Decrease gaps |
| super + ctrl + h | Increase number of columns |
| super + ctrl + l | Decrease number of columns |
| super + shift + h | Increase number of master clients |
| super + shift + l | Decrease number of master clients |
| super + h | Increase master width |
| super + l | Decrease master width |
| super + . | Edit the current layout if it is a machi layout |
| super + / | Switch between windows for a machi layout |
Tags
| Keybind | Action |
| ------- | ------ |
| super + [1-9] | View tag |
| super + [1-9] | Toggle tag |
| super + shift + [1-9] | Move focused client to tag |
| super + ctrl + [1-9] | Move focused client and switch to tag |
| super + s | View none |
Media
| Keybind | Action |
| ------- | ------ |
| XF86AudioPlay | Toggle media |
| XF86AudioPrev | Previous media |
| XF86AudioNext | Next media |
| XF86AudioMute | Mute volume |
| XF86MonBrightnessUp | Increase brightness |
| XF86MonBrightnessDown | Decrease brightness |
| print | Screenshot widget |
| super + p | Color picker |
UI
| Keybind | Action |
| ------- | ------ |
| super + d | Toggle app launcher |
| super + escape | Toggle exit screen |
| alt + tab | Window switcher |
| super + F1 | Toggle hotkeys |
🖱️ Mousebinds
Desktop
| Mousebind | Action |
| --------- | ------ |
| `right click` | Toggle main menu |
Client
| Mousebind | Action |
| --------- | ------ |
| `left click` | Focus a client |
| super + `left click` | Make a client floating and move it |
| super + `right click` | Make a client floating and resize it |
:ocean: Gallery
Action Panel
Message Panel
Info Panel
Wi-Fi Applet
Bluetooth Applet
Audio Applet
CPU Applet
Theme Manager
Screenshot Tool
Recorder Tool
Power Screen
Lock Screen
Main Menu
Client Menu
Notification
ncmpcpp
:bulb: Acknowledgements