{"id":13487084,"url":"https://github.com/ejbills/DockDoor","last_synced_at":"2025-03-27T21:31:59.268Z","repository":{"id":245717102,"uuid":"809906907","full_name":"ejbills/DockDoor","owner":"ejbills","description":"Window peeking for macOS","archived":false,"fork":false,"pushed_at":"2025-03-18T14:11:54.000Z","size":24808,"stargazers_count":2176,"open_issues_count":54,"forks_count":49,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-03-22T08:01:52.604Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://dockdoor.net","language":"Swift","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/ejbills.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-06-03T17:18:17.000Z","updated_at":"2025-03-21T23:43:02.000Z","dependencies_parsed_at":"2024-10-27T01:19:03.907Z","dependency_job_id":"cb0ae302-62ed-49fa-82eb-e0f2f55e60f9","html_url":"https://github.com/ejbills/DockDoor","commit_stats":{"total_commits":426,"total_committers":9,"mean_commits":"47.333333333333336","dds":"0.21126760563380287","last_synced_commit":"cf71ff242045cb9f4cfafa248df2851fb0152159"},"previous_names":["ejbills/dockdoor"],"tags_count":44,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejbills%2FDockDoor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejbills%2FDockDoor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejbills%2FDockDoor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ejbills%2FDockDoor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ejbills","download_url":"https://codeload.github.com/ejbills/DockDoor/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245927333,"owners_count":20695216,"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-07-31T18:00:55.185Z","updated_at":"2025-03-27T21:31:59.234Z","avatar_url":"https://github.com/ejbills.png","language":"Swift","funding_links":["https://www.buymeacoffee.com/keplercafe"],"categories":["Swift","macOS","others","Table of Contents","Uncategorized","System","Utilities"],"sub_categories":["MacOS","Uncategorized","Text","Window Management"],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg height=\"256\" src=\"https://github.com/ejbills/DockDoor/raw/main/DockDoor/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png\"\u003e\n\u003ch1\u003eDockDoor\u003c/h1\u003e\n\u003ch2\u003e\u003ci\u003eA new way of interacting with the Dock.\u003c/i\u003e\u003c/h2\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"100%\" height=\"auto\" src=\"./resources/dockPeek1920.png\"\u003e\n\u003c/p\u003e\n\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/ejbills/DockDoor)](https://github.com/ejbills/DockDoor/releases/latest/download/DockDoor.dmg)\n![GitHub All Releases](https://img.shields.io/github/downloads/ejbills/DockDoor/total?label=Total%20Downloads)\n[![GitHub stars](https://img.shields.io/github/stars/ejbills/DockDoor)](https://github.com/ejbills/DockDoor/stargazers)\n[![GitHub forks](https://img.shields.io/github/forks/ejbills/DockDoor)](https://github.com/ejbills/DockDoor/network/members)\n[![GitHub issues](https://img.shields.io/github/issues/ejbills/DockDoor)](https://github.com/ejbills/DockDoor/issues)\n[![GitHub license](https://img.shields.io/github/license/ejbills/DockDoor)](https://github.com/ejbills/DockDoor/blob/main/LICENSE)\n[![Contributors](https://img.shields.io/github/contributors/ejbills/DockDoor)](https://github.com/ejbills/DockDoor/graphs/contributors)\n[![Crowdin](https://badges.crowdin.net/dockdoor/localized.svg)](https://crowdin.com/project/dockdoor)\n[![Website](https://img.shields.io/badge/Website-015FBA)](https://dockdoor.net)\n\n**DockDoor** is a macOS application that adds a much-needed feature to your Mac: Dock previews.\nDeveloped with Swift and SwiftUI, it offers seamless integration with macOS. DockDoor is designed for ease of use and intuitive interactions.\nAs an open-source project, it welcomes contributions from developers to enhance the application's functionality, performance and user experience.\n\nMinimum macOS version:\n- 1.1.5 and older: **macOS 14 Sonoma**\n- 1.1.6 and newer: **macOS 13 Ventura**\n\nIf you appreciate this application, please consider **donating** to the developer. Any amount is appreciated! [![Buy Me a Coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-ffdd00?style=flat\u0026logo=buy-me-a-coffee\u0026logoColor=black)](https://www.buymeacoffee.com/keplercafe)\n\nIf you encounter a bug or have a feature request, please **open an issue** on this repository. The developers will do their best to address the bug or fulfill your request!\n\n\u003e [!NOTE]\n\u003e You can help translating this application in your own language. This is a crucial step in making DockDoor accessible to everyone, regardless of their knowledge level in English. [![Help translate the app here](https://img.shields.io/badge/Help%20translate%20here!-blue?style=flat-square)](#translating)\n\n## Install\n\n### Manual installation\n\n[Download the latest release here](https://github.com/ejbills/DockDoor/releases/latest/download/DockDoor.dmg). Mount the downloaded file (`DockDoor.dmg`) and drag DockDoor to the `Applications` folder.\n\n\u003e [!NOTE]\n\u003e DockDoor is still actively being developed. To ensure you benefit from all the latest features, please keep your copy of the application up to date by enabling automatic updates in the app.\n\n### Using Homebrew\n\nYou can also install DockDoor using [Homebrew](https://brew.sh/)! Just type or paste the following command into a Terminal:\n```sh\nbrew install --cask dockdoor\n```\n\n## Usage\n\n### Dock Peek feature\nHover over any application's icon in the Dock to see its open windows.\nEach traffic light button you see serves an intuitive function.\n\u003e [!TIP]\n\u003e Hold **`Option`** (⌥) while clicking the **`Quit`** button to **force quit** the window's application.\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"400\" height=\"auto\" src=\"./resources/dockPeekCommented.png\"\u003e\n\u003c/p\u003e\n\n### Window Dragging\nDockDoor allows you to directly drag windows from their previews to reposition them on your desktop:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"400\" height=\"auto\" src=\"./resources/window-drag.gif\"\u003e\n\u003c/p\u003e\n\nKey features:\n- Drag windows directly from DockDoor previews to reposition them\n- Move windows without needing to activate them first\n- Seamlessly integrate with macOS's native window management\n\n### Windows-like `Alt` + `Tab` window switcher\nWith the default settings, hold down `Option` (⌥) and press `Tab` (⇥) repeatedly until the desired window is highlighted. To go back, press `Shift` (⇧) in addition to `Tab`.\nRelease both keys to switch to the selected window.\n\n#### Customization\n- Select one of the initialization keys (`Control`, `Option` or `Command`)\n- Click on `Start Recording Keybind`\n- Press a single key on your keyboard\n- Custom keybind is set!\n![Set keybind](./resources/setKeybind.gif)\n\n## Frequently Asked Questions\n\n### How to access DockDoor settings?\nIf you disabled `Show Menu Bar Icon` in `General`, search for `DockDoor` using the built-in Spotlight or another searching app. Open DockDoor and the settings should open automatically.\n\nIf this option is enabled, click on the *door* icon in the menu bar and select `Open Settings` in the contextual menu.\n\n### The application I want to quit does not respond.\nYou can either wait for the application to become responsive again, or force quit it. To do this, hold **`Option`** (⌥) while clicking the `Quit` button.\n \n## Contributing\n\nYou can either contribute to DockDoor's code, or help translating the application or the website.\n\n### DockDoor's code\n\n#### Prerequisites\n\n- **macOS 13.0** or later.\n- **Xcode** installed on your machine.\n- Basic knowledge of **Swift** and **SwiftUI**.\n\n#### Setting Up the Project\n\n1. **Fork** the repository.\n2. **Clone** your forked repository to your local machine using `git`.\n3. **Open** the project in Xcode.\n4. **Build** and **run** the project.\n\n#### How to Contribute\n\nContributions to DockDoor are welcome! Here's how you can get started:\n\n1. **Branching**\n    - Base all new features off of `main`.\n    - Create a new branch for each feature or bug fix: `git checkout -b feature/your-feature-name`.\n2. **Coding Standards**\n    - Follow Swift coding conventions and style guidelines.\n    - Aim for clear, concise, and expressive code.\n3. **Documentation**\n    - Document your code using comments to explain complex logic or functionality.\n4. **Testing**\n    - Write unit tests for new features or changes.\n    - Ensure existing tests pass before submitting a pull request.\n5. **Open a pull request**\n    - Perform a self-review of your code.\n\n### Translating\n\nOpen the following link to contribute by translating DockDoor. You will need to create a Crowdin account, but you can link it to your GitHub account.\n\nhttps://crowdin.com/project/dockdoor\n\n### Translating the website (https://dockdoor.net)\n\nTo enhance web communication, we invite you to help translate the project's website, https://dockdoor.net, with the following link: https://crowdin.com/project/dockdoor-website.\n\n**But before you begin translating**, please consider the following points:\n- The strings contain **basic HTML tags**. It is recommended to have **some familiarity with HTML**. You can find many tutorials online, and HTML is particularly easy to learn.\n- As a consequence, please **respect the markup** indicated in the source language. For a word surrounded by `\u003cstrong\u003e` tags, add `\u003cstrong\u003e` (and `\u003c/strong\u003e` to close it) around the equivalent word in your language.\n- A few strings contain special codes such as `\u0026#8984;` or `\u0026RightArrowBar;`. If you hover over them on Crowdin in the source language, you can see what character it represents. **The semicolon here is crucial. Do not omit it.**\n- Other strings contain `\u0026nbsp;` between words. **These are no-break spaces. They are not substitutable with regular spaces.** Use them as much as needed in the source language.\n\u003e [!TIP]\n\u003e Click on the tags to paste them directly into your translation. The same process also works for special codes.\n\n- There are a few `\u003cspan\u003e` tags (e.g., `\u003cspan class='yellow-highlight'\u003e` `\u003c/span\u003e`). Copy them **exactly** as they appear in the source language.\n- **Escape your quotation marks** using `\\` before them! If you don't, translations might fail to render.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejbills%2FDockDoor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fejbills%2FDockDoor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fejbills%2FDockDoor/lists"}