Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
1e06d76
FHT: added new cpp modules
LeVraiArdox Nov 14, 2025
a40b08f
Added new qml modules
LeVraiArdox Nov 17, 2025
c35a9e0
FHTC: bar workspace widget handle
LeVraiArdox Dec 9, 2025
a60ffd6
FHTC: bar workspace action handle
LeVraiArdox Dec 9, 2025
42bff99
FHTC: dock visibility handle
LeVraiArdox Dec 9, 2025
7b4f654
Merge branch 'main' into fht
LeVraiArdox Feb 4, 2026
0762706
Link fhtc c++ classes
LeVraiArdox Feb 4, 2026
e48511e
Impl ActiveWindow with FHTC
LeVraiArdox Feb 4, 2026
8759246
Update active ws id
LeVraiArdox Feb 4, 2026
52c85fe
Comment out every GlobalShortcut definitions
LeVraiArdox Feb 4, 2026
d49ccdd
Using C++ plugins for workspace and window dispatchers and vars
LeVraiArdox Feb 4, 2026
434c971
removed FR comments
LeVraiArdox Feb 4, 2026
8eaf952
Fix app title handling
LeVraiArdox Feb 4, 2026
8b2419c
Removed old FHTC services
LeVraiArdox Feb 5, 2026
1c561d3
Added monitors FHTC binding
LeVraiArdox Feb 5, 2026
5679c72
Renamed workspaces QML name
LeVraiArdox Feb 5, 2026
d57a147
Using new fhtc module name
LeVraiArdox Feb 5, 2026
dad80b8
Cleaned workspaces module
LeVraiArdox Feb 5, 2026
87ffb7d
[WIP OVERVIEW] fixed monitor selection logic
LeVraiArdox Feb 5, 2026
d64c5e3
Removed test file
LeVraiArdox Feb 5, 2026
4b263b4
Made the dispatch work
LeVraiArdox Feb 5, 2026
5afc5c9
ws: remove unnecessary output parameter
LeVraiArdox Feb 5, 2026
ba27407
Merge branch 'main' into fht
LeVraiArdox Mar 15, 2026
65e69a2
Uncomment shortcuts
LeVraiArdox Mar 15, 2026
bb1d90d
Added .vscode to gitignore
LeVraiArdox Mar 15, 2026
670df70
Fixed workspace icons
LeVraiArdox Mar 15, 2026
dcec763
Remove unused properties from Workspaces.qml
LeVraiArdox Mar 15, 2026
321661b
Update focusedScreen property to use FhtcMonitors.activeMonitorName
LeVraiArdox Mar 15, 2026
8bf1717
Overview: made it work for FHTC
LeVraiArdox Mar 15, 2026
df70993
Merge branch 'main' into fht
LeVraiArdox Mar 17, 2026
eade919
Merge branch 'main' into fht
LeVraiArdox Apr 4, 2026
4880bfc
Merge branch 'main' into fht
LeVraiArdox Apr 10, 2026
52864b0
Add experimental extcaptureitem component
LeVraiArdox Apr 10, 2026
af77470
Animate lockscreen and greeter
LeVraiArdox Apr 10, 2026
481e56c
Fix switchwall script
LeVraiArdox Apr 10, 2026
8dd0b2b
Add VSCode settings for CMake configuration
LeVraiArdox May 5, 2026
fdf0087
desktop icons: Add hot reload to
LeVraiArdox May 5, 2026
2e87a54
Desktop icons: proper initial position handling
LeVraiArdox May 5, 2026
3e1cd54
Background: Add postit widget
LeVraiArdox May 5, 2026
66fadce
fix(hyprland): replace deprecated togglesplit dispatcher with layoutmsg
Limsayo May 12, 2026
7ca16d3
Readd fhtc to cmakelists
LeVraiArdox May 12, 2026
ed7cdda
Replace hyprland configs with fhtc
LeVraiArdox May 12, 2026
d0b99ea
Update launch script with fhtc
LeVraiArdox May 12, 2026
b4a671b
Remove hyprland matugen templates
LeVraiArdox May 12, 2026
03bfdb8
Replace hypr custom config with fhtc
LeVraiArdox May 12, 2026
3104546
Update dependencies for FHTC
LeVraiArdox May 12, 2026
879151c
Update sleex user config hyprland bindings with fhtc
LeVraiArdox May 12, 2026
ca05ee9
Fix dashboard opening on fhtc
LeVraiArdox May 12, 2026
ecd2c8b
Improve overview fhtc integration
LeVraiArdox May 12, 2026
0074331
Remove old grab bindings
LeVraiArdox May 12, 2026
16ec55f
Fix overview map offset
LeVraiArdox May 12, 2026
b1c8d6b
Update WlrLayershell keyboardFocus to exclusive instead of onDemand
LeVraiArdox May 13, 2026
014b8b6
Reduce hyprland dependency
LeVraiArdox May 13, 2026
08d324e
Fix screen assignment logic in NotificationPopup.qml
LeVraiArdox May 13, 2026
c25b3a0
Update keybind parser for fhtc's toml
LeVraiArdox May 13, 2026
4ad2353
Made cheatsheet working
LeVraiArdox May 13, 2026
47c734e
update pkgbuild for beta sleex
LeVraiArdox May 13, 2026
c6bca83
fix: correct pkgver format in PKGBUILD
LeVraiArdox May 13, 2026
91ecb66
fix: correct keyboard focus capitalization in WallpaperSelector.qml
LeVraiArdox May 13, 2026
c4324ef
Updated readme
LeVraiArdox May 13, 2026
73368ca
fix: remove unnecessary installation of libalpm hooks in package func…
LeVraiArdox May 13, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.tar.zst
pkg/
pkg/
.vscode/
20 changes: 20 additions & 0 deletions .vscode/c_cpp_properties.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/qt/QtCore",
"/usr/include/qt",
"/usr/include/qt/QtQml",
"/usr/include/qt/QtGui"
],
"defines": [],
"compilerPath": "/usr/bin/clang",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "linux-clang-x64"
}
],
"version": 4
}
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"cmake.ignoreCMakeListsMissing": true
}
18 changes: 7 additions & 11 deletions PKGBUILD
Original file line number Diff line number Diff line change
@@ -1,31 +1,31 @@
pkgname="sleex"
pkgver="1.31"
pkgrel="4"
pkgver="2.0_beta.1"
pkgrel="1"
pkgdesc="Desktop environment focused on aesthetics and performance"
arch=("x86_64")
depends=(
# Audio
'cava' 'pavucontrol-qt' 'wireplumber' 'libdbusmenu-gtk3' 'playerctl'
# Backlight
'hyprsunset' 'geoclue' 'brightnessctl' 'ddcutil'
'gammastep' 'geoclue' 'brightnessctl' 'ddcutil'
# Basic
"axel" "bc" "coreutils" "cliphist" "cmake" "curl" "rsync" "wget" "ripgrep" "jq" "meson" "xdg-user-dirs" "foot" "power-profiles-daemon" "mission-center" "kvantum" "inotify-tools" "lm_sensors" "qt5ct" "qt6ct" "sqlite"
# Cursor
"bibata-cursor-theme-bin"
# Fonts & Themes
'adw-gtk-theme' 'breeze-plus' 'eza' 'fish' 'fontconfig' 'kde-material-you-colors' 'matugen-bin' 'starship' 'ttf-gabarito-git' 'ttf-jetbrains-mono-nerd' 'ttf-material-design-icons-extended' 'ttf-material-symbols-variable' 'ttf-readex-pro' 'ttf-rubik-vf' 'ttf-twemoji'
# Hyprland dependencies
'hyprutils' 'hyprpicker' 'hyprlang' 'hyprland-qt-support' 'hyprland-guiutils' 'hyprcursor' 'hyprwayland-scanner' 'hyprland' 'xdg-desktop-portal-hyprland' 'wl-clipboard' 'hyprlock'
# Fhtc dependencies
'fht-compositor-git' 'fht-share-picker-git' 'wl-clipboard'
# QT/KDE dependencies
'bluedevil' 'gnome-keyring' 'networkmanager' 'polkit-kde-agent' 'pcmanfm-qt' 'kwrite' "libnm" "gio-qt" "qt6-connectivity"
# Microtex
"microtex-git"
# Portal
'xdg-desktop-portal'
# Python deps
'clang' 'uv' 'gtk4' 'libadwaita' 'libsoup3' 'libportal-gtk4' 'gobject-introspection' 'sassc' 'python-setproctitle' 'python-pywayland'
'clang' 'uv' 'gtk4' 'libadwaita' 'libsoup3' 'libportal-gtk4' 'gobject-introspection' 'sassc' 'python-setproctitle' 'python-pywayland' 'python-toml'
# Screencast/Screenrecord
'hyprshot' 'ksnip' 'wf-recorder' 'slurp' 'grim' 'tesseract' 'tesseract-data-eng'
'ksnip' 'wf-recorder' 'slurp' 'grim' 'tesseract' 'tesseract-data-eng'
# Tools
'kdialog' 'qt6-5compat' 'qt6-avif-image-plugin' 'qt6-base' 'qt6-declarative' 'qt6-imageformats' 'qt6-multimedia' 'qt6-positioning' 'qt6-quicktimeline' 'qt6-sensors' 'qt6-svg' 'qt6-tools' 'qt6-translations' 'qt6-virtualkeyboard' 'qt6-wayland' 'syntax-highlighting' 'upower' 'wtype' 'ydotool' 'fprintd' 'khal' 'vdirsyncer' 'python-aiohttp-oauthlib' 'swappy' 'hypnos' 'bluez-utils'
# Widgets
Expand All @@ -36,7 +36,6 @@ depends=(
"sleex-artworks"
)
optdepends=(
"hyprwayland-scanner: Wayland protocol scanner for Hyprland"
"neofetch: Fancy system info in your terminal"
"firefox: Web browser"
"pipewire-pulse: PulseAudio replacement via PipeWire"
Expand Down Expand Up @@ -76,7 +75,4 @@ package() {

mkdir -p "$pkgdir/usr/share/wayland-sessions"
cp -r "$srcdir/share/wayland-sessions/"* "$pkgdir/usr/share/wayland-sessions/"

mkdir -p "$pkgdir/usr/libalpm/hooks"
cp -r "$srcdir/share/libalpm/hooks/"* "$pkgdir/usr/libalpm/hooks/"
}
39 changes: 5 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,12 @@
<a href="https://axos-project.github.io"><img src="https://github.com/user-attachments/assets/a64a60d1-c4ec-4fdf-a1df-ce4bde3890ce" width="512" alt="AxOS"></a>
</p>

Sleex is the third desktop environement of AxOS. It is based on Hyprland with Quickshell.
# [WIP] Sleex with the Fht compositor

## Features
- AI chat integration with external providers (Gemini, OpenAI...)
- Smooth animations
- Tiling window management for seamless multitasking
- Adaptative color scheme based on the wallpaper
- Ready to use
- Multiple available built in tools
- Looks good
If you want to test this very very unstable branch, you can build and install the package:

| |
|------|
| ![preview](preview.mp4) |

## Installation

> [!IMPORTANT]
> If you already have an hyprland config, this will erase it.

If you are using AxOS, you can simply use epsilon:
```
epsi i sleex
```bash
makepkg -si
```

### Other arch-based distributions

Sleex is available on the AUR as `sleex-git`. [See the page](https://aur.archlinux.org/packages/sleex-git).
You can install it using an aur helper such as `yay` or `paru`.

Then, you can start sleex by selecting the sleex session on your greeter

## License
Sleex is licensed under the GNU General Public License v3.0

## Special thanks
- [@end-4](https://github.com/end-4/): Great inspiration | Sleex is based on his work
- [@xHyperVoid](https://github.com/xHyperVoid): Designer | Made the logo and the wallpapers
[Fht compositor](https://nferhat.github.io/fht-compositor/) is a new Wayland compositor written in Rust. It is designed to be fast, lightweight, and easy to use. It is also highly customizable, allowing users to create their own unique desktop experience.
4 changes: 0 additions & 4 deletions sleex-user-config/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,6 @@ pkgdesc="User configuration for Sleex desktop environment"
arch=("x86_64")
depend=("sleex")

provides=("axskel-hypr")
replaces=("axskel-hypr")
conflicts=("axskel-hypr")

package(){
mkdir -p ${pkgdir}/etc/skel/
cp -r ${srcdir}/.config/ ${pkgdir}/etc/skel/
Expand Down
8 changes: 0 additions & 8 deletions sleex-user-config/README.md

This file was deleted.

16 changes: 16 additions & 0 deletions sleex-user-config/src/.config/fht/apps.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Terminal
Super-Return = { action = "run-command", arg = "foot" }
# Code
Super-c = { action = "run-command", arg = "code --enable-features=UseOzonePlatform --ozone-platform=wayland" }
# Browser
Super-w = { action = "run-command", arg = "firefox" }
# File manager
Super-e = { action = "run-command", arg = "pcmanfm-qt" }
# Text editor
Super-x = { action = "run-command", arg = "kwrite" }
# Sleex settings
Super-i = { action = "run-command", arg = "qs -p /usr/share/sleex/settings.qml" }
# Volume mixer
Ctrl-Super-v = { action = "run-command", arg = "pavucontrol" }
# System monitor
Ctrl-Shift-Esc = { action = "run-command", arg = "missioncenter" }
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# This is a part of the Sleex's compositor user configuration
# You can put extra environment variables here
# https://wiki.hyprland.org/Configuring/Environment-variables/
# https://nferhat.github.io/fht-compositor/configuration/introduction.html#env
3 changes: 3 additions & 0 deletions sleex-user-config/src/.config/fht/custom/execs.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# This is a part of the Sleex's compositor user configuration
# You can put extra executables here
# https://nferhat.github.io/fht-compositor/configuration/introduction.html#autostart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This is a part of the Sleex's compositor user configuration
# You can put your preferred keybinds here
# https://wiki.hyprland.org/Configuring/Binds/
# https://nferhat.github.io/fht-compositor/configuration/keybindings.html

4 changes: 4 additions & 0 deletions sleex-user-config/src/.config/fht/custom/rules.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This is a part of the Sleex's compositor user configuration
# You can put custom rules here
# https://nferhat.github.io/fht-compositor/configuration/window-rules.html
# https://nferhat.github.io/fht-compositor/configuration/layer-rules.html
9 changes: 9 additions & 0 deletions sleex-user-config/src/.config/fht/monitors.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Output configuration (examples)
# https://nferhat.github.io/fht-compositor/configuration/outputs.html

# [outputs.HDMI-A-1]
# mode = "1920x1080@144"

# [outputs.DP-1]
# mode = "1920x1080@75"
# position.x = 1920
5 changes: 0 additions & 5 deletions sleex-user-config/src/.config/fish/auto-Hypr.fish

This file was deleted.

15 changes: 0 additions & 15 deletions sleex-user-config/src/.config/hypr/apps.conf

This file was deleted.

3 changes: 0 additions & 3 deletions sleex-user-config/src/.config/hypr/custom/execs.conf

This file was deleted.

5 changes: 0 additions & 5 deletions sleex-user-config/src/.config/hypr/custom/rules.conf

This file was deleted.

This file was deleted.

36 changes: 0 additions & 36 deletions sleex-user-config/src/.config/hypr/hypridle.conf

This file was deleted.

3 changes: 0 additions & 3 deletions sleex-user-config/src/.config/hypr/monitors.conf

This file was deleted.

Empty file.
8 changes: 0 additions & 8 deletions sleex-user-config/src/.config/matugen/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,6 @@ version_check = false
input_path = '~/.config/matugen/templates/colors.json'
output_path = '~/.local/state/sleex/user/generated/colors.json'

[templates.hyprland]
input_path = '~/.config/matugen/templates/hyprland/colors.conf'
output_path = '~/.config/hypr/hyprland/colors.conf'

[templates.hyprlock]
input_path = '~/.config/matugen/templates/hyprland/hyprlock.conf'
output_path = '~/.config/hypr/hyprlock.conf'

[templates.fuzzel]
input_path = '~/.config/matugen/templates/fuzzel/fuzzel_theme.ini'
output_path = '~/.config/fuzzel/fuzzel_theme.ini'
Expand Down

This file was deleted.

Loading