{"id":20951357,"url":"https://github.com/lgug2z/komorebi-application-specific-configuration","last_synced_at":"2025-07-02T04:35:42.405Z","repository":{"id":38416382,"uuid":"476907462","full_name":"LGUG2Z/komorebi-application-specific-configuration","owner":"LGUG2Z","description":"A central place to document all tweaks required for Komorebi to 'just work' with as many applications as possible","archived":false,"fork":false,"pushed_at":"2025-04-19T21:04:36.000Z","size":150,"stargazers_count":85,"open_issues_count":7,"forks_count":65,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-19T22:34:06.037Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Just","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/LGUG2Z.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,"zenodo":null}},"created_at":"2022-04-02T00:42:24.000Z","updated_at":"2025-04-19T21:04:40.000Z","dependencies_parsed_at":"2023-09-23T18:54:41.153Z","dependency_job_id":"510ae5a6-49d0-46ad-a21f-477f162a2789","html_url":"https://github.com/LGUG2Z/komorebi-application-specific-configuration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LGUG2Z/komorebi-application-specific-configuration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGUG2Z%2Fkomorebi-application-specific-configuration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGUG2Z%2Fkomorebi-application-specific-configuration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGUG2Z%2Fkomorebi-application-specific-configuration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGUG2Z%2Fkomorebi-application-specific-configuration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LGUG2Z","download_url":"https://codeload.github.com/LGUG2Z/komorebi-application-specific-configuration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LGUG2Z%2Fkomorebi-application-specific-configuration/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263076564,"owners_count":23410093,"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":[],"created_at":"2024-11-19T00:58:31.022Z","updated_at":"2025-07-02T04:35:42.396Z","avatar_url":"https://github.com/LGUG2Z.png","language":"Just","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Komorebi Application-Specific Configuration\n\nThe Komorebi Application-Specific Configuration (ASC) was originally created as\na community-driven repository for users to share application-specific\n[komorebi](https://github.com/LGUG2Z/komorebi) configuration options, with the\ngoal of creating a tiling window management experience on Windows that \"just\nworks\" for as many applications as possible.\n\nAs komorebi has grown in popularity, the vast majority of the most popular\nWindows applications have come to be covered in this repository, and these\nconfiguration options have even come to be used in [other\nprojects](https://dalyisaac.github.io/Whim/script/core/filtering.html?q=komorebi#built-in-filters).\n\n## Schema\n\n### v1\n\nThe first version of the ASC was `applications.yaml`. The schema for v1 was\ncreated long before komorebi had support for different matching strategies or\ncomposite rules.\n\nv1 is considered deprecated as of 01 November 2024 and no further changes will\nbe accepted. However, the file will remain in this repository to ensure that\nnothing breaks for existing users who might rely on the existence of the file in\nthis repository.\n\n### v2\n\nThe second version of the ASC is `applications.json`. It will be the default\nformat from `komorebi` v0.1.30 onwards. The schema for v2 takes into account how\n`komorebi.json`'s schema has evolved and aims to make it as easy as possible for\nwindow and application matching rules to be copied and pasted from one file to\nthe other.\n\nThere is a [JSON\nSchema](https://github.com/LGUG2Z/komorebi/blob/master/schema.asc.json)\ndefinition available for v2 that can be generated using the `komorebic\napplication-specific-configuration-schema` command, which is used to power\nauto-completions.\n\nThe v2 schema allows use of the full range of matching strategies and composite\nrules to identify application windows. The full range of application rules that\ncan be applied are:\n\n- `ignore` - Rules to ignore specific windows\n- `manage` - Rules to forcibly manage specific windows\n- `floating` - Rules to manage specific windows as floating windows (komorebi v0.1.30+)\n- `transparency_ignore` - Rules to ignore specific windows from the transparency feature\n- `tray_and_multi_window` - Rules to identify applications which minimize to the tray or have multiple windows\n- `layered` - Rules to identify applications which have the `WS_EX_LAYERED` Extended Window Style\n- `object_name_change` - Rules to identify applications which send the `EVENT_OBJECT_NAMECHANGE` event on launch\n- `slow_application` - Rules to identify applications which are slow to send initial event notifications\n\n#### Should I use a `floating` rule or an `ignore` rule?\n\nYou should use `ignore` rules when:\n\n- Targeting a ghost window\n- Targeting a popup which only exists to be immediately clicked away (confirmations etc.)\n\nYou should use `floating` rules when:\n\n- Targeting a popup or a popout window which is interacted with for a while before being closed\n- Targeting a popup or a popout window which is proactively toggled by the user for interaction\n\nWindows targeted with `ignore` rules will not be managed at all by komorebi. In\npractice, this means if you leave these windows open, they will be visible on\nall komorebi workspaces, because komorebi is never touching them.\n\nWindows targeted with `floating` rules will be managed by komorebi and scoped to\nthe workspace they are launched on or moved to.\n\n## Contributing\n\nIf you would like to propose a new application configuration rule for\nconsideration, please open an issue with the rules you are proposing in a code\nblock rather than a PR.\n\nWhen submitting a PR, make sure you have `jq` and `just` installed, and run\n`just sort` to ensure that all entries in `applications.json` are sorted\ncorrectly.\n\n## FAQs\n\n### I am a new komorebi user and I want to add different rules for various applications\n\nDo not edit the `applications.json` or `applications.yaml` file; edit your\n`komorebi.json` file instead.\n\nChanges to the `applications.[yaml|json]` files are not hot-reloaded and applied,\nand any changes you make will get blown away the next time you run `komorebic\nfetch-app-specific-configuration` to fetch the latest version.\n\n### I am a komorebi user and this repo floats an application which I want to be tiled\n\nDo not submit a PR to this repo; to guarantee backwards compatibility for all\nconsumers of this repository, it is incredibly unlikely that such a PR will be\naccepted.\n\nYou should add a force manage rule in your `komorebi.json` file, which will\noverride the float rule in this repository. Refer to the [Force Manage\nWindows](https://lgug2z.github.io/komorebi/common-workflows/force-manage-windows.html)\ntutorial on the documentation website.\n\n### I am a komorebi user and I want to add an ignore rule for an application\n\nYou should add the ignore rule in your `komorebi.json` file. Refer to the\n[Ignore Windows](https://lgug2z.github.io/komorebi/common-workflows/ignore-windows.html)\ntutorial on the documentation website.\n\nIf you believe that this is a rule which should be set as default for all users,\nplease open an issue and explain your rationale.\n\n### I am a komorebi user and I want to add a manage rule for an application\n\nYou should add the manage rule in your `komorebi.json` file. Refer to the\n[Force Manage Windows](https://lgug2z.github.io/komorebi/common-workflows/force-manage-windows.html)\ntutorial on the documentation website.\n\nIf you believe that this is a rule which should be set as default for all users,\nplease open an issue and explain your rationale.\n\n### I am a komorebi user and I want to identify an application which minimizes to the tray or has multiple windows\n\nYou should add the tray and multi-window application rule in your\n`komorebi.json` file. Refer to the\n[Tray and Multi-Window Applications](https://lgug2z.github.io/komorebi/common-workflows/tray-and-multi-window-applications.html)\ntutorial on the documentation website.\n\nIf you believe that this is a rule which should be set as default for all users,\nplease open an issue and explain your rationale.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgug2z%2Fkomorebi-application-specific-configuration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flgug2z%2Fkomorebi-application-specific-configuration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flgug2z%2Fkomorebi-application-specific-configuration/lists"}