{"id":19571170,"url":"https://github.com/radionoisee/exposway","last_synced_at":"2025-07-30T09:36:59.905Z","repository":{"id":242074312,"uuid":"805799896","full_name":"RadioNoiseE/exposway","owner":"RadioNoiseE","description":"MacOS X Exposé like feature for SwayWM.","archived":false,"fork":false,"pushed_at":"2024-10-28T14:19:05.000Z","size":800,"stargazers_count":16,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-28T17:19:47.751Z","etag":null,"topics":["expose","overview","swaywm","wayland"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RadioNoiseE.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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-05-25T13:48:15.000Z","updated_at":"2024-10-28T14:19:09.000Z","dependencies_parsed_at":"2024-08-09T08:48:28.457Z","dependency_job_id":"1d7f546c-b111-44b1-ad42-95820ced5f25","html_url":"https://github.com/RadioNoiseE/exposway","commit_stats":null,"previous_names":["radionoisee/exposway"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadioNoiseE%2Fexposway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadioNoiseE%2Fexposway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadioNoiseE%2Fexposway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RadioNoiseE%2Fexposway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RadioNoiseE","download_url":"https://codeload.github.com/RadioNoiseE/exposway/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224056508,"owners_count":17248329,"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":["expose","overview","swaywm","wayland"],"created_at":"2024-11-11T06:17:39.222Z","updated_at":"2024-11-11T06:17:40.678Z","avatar_url":"https://github.com/RadioNoiseE.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Exposé your SwayWM\n\n![EFF](exposway.png)\n\u003cp align=\"center\"\u003e\n  MacOS X Exposé reimplemented.\n\u003c/p\u003e\n\n## Status\n\nStable. Probably no more features will be added.\n\n## Introduction\n\nExposway brings the MacOS X Exposé functionality to the Sway window manager,\nallowing you to overview all windows and navigate to your desired one.\nThis feature is similar to:\n\n- MacOS Mission Control\n- Gnome Activities Overview\n- KDE Present Windows\n\nIt's implemented in pure C with minimal dependencies.\n\n## Installation\n\nCurrently, you need to compile Exposway from source.\n\n### Dependencies\n\nYou need the following dependencies:\n\n- `cairo` for interface drawing\n- `pango` for font rendering\n- `grim` for taking snapshots\n\n### Make\n\nClone the repository locally and run `make` to generate the executable.\nBy default, `clang` is used as the compiler.\nTo use a different compiler, you can specify it like this:\n\n```shell\nmake CC=gcc\n```\n\nNext, install the binary to your `$PATH` by `make install`.\nThe default installation prefix is `/usr/local`.\nTo change this, use:\n\n```shell\nmake PREFIX=/usr install\n```\n\n### Configuration\n\nThere are two curcial enviroment variables that needs to be set properly.\n\n```shell\nexport EXPOSWAYDIR=\"$HOME/.local/state/exposway/\"\nexport EXPOSWAYMON=\"$EXPOSWAYDIR/output\"\n```\n\nYou should launch `exposwayd` as a daemon at boot.\nTo trigger Exposé, run `exposway`.\nFor example, add the following to your Sway configuration file:\n\n```shell\nexec exposwayd\nbindsym $mod+z exec exposway\n```\n\n## Usage\n\nAfter pressing the designated shortcut key or executing `exposway`, you will enter Exposé mode.\nThe following keys are supported:\n\n- the arrow keys, to change focus between windows\n- `space`, to navigate to the currently focused window\n- `esc`, do nothing and exit\n\n## Misc\n\n### Customization\n\nEdit the source files `expose.c` and `exposed.c` directly. If unsure, feel free to open an issue.\n\n### Troubleshoot\n\nLaunch `exposwayd` with the log option `-l`, the log is located at `$EXPOSWAYDIR/expose.log`.\n\n### Static analysis\n\nSimply run `make analysis` will do. Clang/LLVM toolchain is needed for this.\n\n### Contribution\n\nPlease adhere to the `LLVM` coding style. If you use clangd as LSP, `make compdb` will generate the `compile_commands.json` for you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradionoisee%2Fexposway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fradionoisee%2Fexposway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fradionoisee%2Fexposway/lists"}