{"id":20341977,"url":"https://github.com/nferhat/fht-compositor","last_synced_at":"2025-04-11T23:34:20.229Z","repository":{"id":224122225,"uuid":"762173566","full_name":"nferhat/fht-compositor","owner":"nferhat","description":"A dynamic tiling Wayland compositor.","archived":false,"fork":false,"pushed_at":"2025-04-11T19:26:31.000Z","size":8919,"stargazers_count":42,"open_issues_count":12,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-11T19:27:21.721Z","etag":null,"topics":["rust","smithay","wayland","wayland-compositor"],"latest_commit_sha":null,"homepage":"https://nferhat.github.io/fht-compositor/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nferhat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-23T08:27:45.000Z","updated_at":"2025-04-07T22:34:13.000Z","dependencies_parsed_at":"2024-03-18T05:37:58.533Z","dependency_job_id":"241be985-a427-4192-b099-e4f48c1437df","html_url":"https://github.com/nferhat/fht-compositor","commit_stats":null,"previous_names":["nferhat/fht-shell","nferhat/fht-compositor"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nferhat%2Ffht-compositor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nferhat%2Ffht-compositor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nferhat%2Ffht-compositor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nferhat%2Ffht-compositor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nferhat","download_url":"https://codeload.github.com/nferhat/fht-compositor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248495277,"owners_count":21113601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","smithay","wayland","wayland-compositor"],"created_at":"2024-11-14T21:29:59.968Z","updated_at":"2025-04-11T23:34:20.191Z","avatar_url":"https://github.com/nferhat.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fht-compositor\n\n`fht-compositor` is a Wayland compositor that aims to have simple window management that is easy to\nunderstand and get accommodated to, inspired by X11 window managers, mainly DWM and AwesomeWM.\n\nEvery output has its workspace set, each constituting of 9 workspaces. When using keybinds,\ntheir effects are scoped to the active output, and if needed, the active workspace, and the active\nworkspace window.\n\nEach workspace provides a *dynamic tiling* layout (currently supporting bottom stack and tile), with\na system of \"tiles\" that contain windows.\n\n\nhttps://github.com/nferhat/fht-compositor/assets/104871514/b5484cb5-65e8-4936-85a9-0e21d72b0254\n\u003e preview video, showcasing some features of the compositor\n\n## Features\n\n- Can be ran user an X11 window, or under a TTY\n- Workspaces with dynamic layout system\n- Some basic animations\n- Window borders, with rounded corners support\n- Configuration:\n    - Input configuration (global and per-device), with both keybinds and mousebinds\n    - Window rules (based on title/app_id/current workspace/etc.)\n- Output Screencast/Screen recording support through the XDG ScreenCast portal interface\n\n## TO-DOs\n\n- Xwayland support (very unlikely, but you can use a Xwayland rootful window)\n- Session lock support\n\n## Install\n\n1. Main compositor\n\n```sh\ncargo build --profile opt\n# Or, if you want to customize features (see Cargo.toml)\ncargo build --no-default-features --features=udev-backend --profile opt\ncp target/opt/fht-compositor /somewhere/inside/path\n\n# If you are going to use freedesktop XDG portals.\n# You can also configure portals.conf(5) (see man page), but it should work by default.\ncp res/fht-compositor.portal $XDG_CONFIG_HOME/xdg-desktop-portal/portals/\n```\n\n2. [`fht-share-picker`](https://github.com/nferhat/fht-share-picker)\n\n```sh\n# To select the desired output to screencast\ngit clone https://github.com/nferhat/fht-share-picker\ncargo build --profile opt\ncp target/opt/fht-share-picker somewhere/inside/path\n```\n\n## Running\n\nThe compositor should run fine, and install a default configuration and greet you! (hopefully) If not, install a configuration yourself to `$XDG_CONFIG_HOME/fht/compositor.ron`\n\n- The compositor *is a portal*, by that I mean that there's no other process to start up in order to get them to work, since the compositor exposes itself the required D-Bus apis to run them.\n\n- You should run the compositor using `dbus-run-session fht-compositor`, and not `fht-compositor` only, since it assumes there's always a D-Bus session set up to run the compositor.\n\n- Please take into account that this is still an alpha-quality piece of software at best, there's still a [LOT to do](https://github.com/nferhat/fht-compositor/issues/2) to reach a \"stable\" release. Any kind of feedback/help would be appreciated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnferhat%2Ffht-compositor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnferhat%2Ffht-compositor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnferhat%2Ffht-compositor/lists"}