feat: documented the project and reduced image sizes

This commit is contained in:
Louis Pontoise committed 2019-08-27 20:50:13 +09:00
1 parent 3248b436af
commit 930c82df86
26 files changed
+141 -67

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
# Overview
![Screenshot](docs/img/alt-tab-macos/3%20windows%20-%201%20line.png)
`alt-tab-macos` brings the brilliant Windows 10 window switcher (activated by pressing alt-tab) to macOS users.It lets the user switch between windows in a visual way.
On macOS there is an app cycling shortcut which doesn't let you select between windows of an app, and there is Mission Control which doesn't let you navigate using the keyboard.
# How to install
* Compile using XCode or AppCode
* Run the `.app`
# How to use
* `control` + `tab` cycles through apps
* `control` + `shift` + `tab` cycles through apps in reverse
* Quick press-and-release will cycle through apps without showing any UI
* Holding `control` after pressing a cycle shortcut will show the UI
* Releasing `control` or clicking on a window will focus it
# Screenshots
![Screenshot](docs/img/alt-tab-macos/5%20windows%20-%202%20lines.png)
![Screenshot](docs/img/alt-tab-macos/6%20windows%20-%202%20lines.png)
![Screenshot](docs/img/alt-tab-macos/dark-background.png)
# Features
* Delay before showing the UI to avoid flashing (default 200ms)
* High quality thumbnails of all windows
* Background uses macOS vibrancy UX
* UI elements have a subtle shadow to ensure readability
* Window titles will truncate with an ellipsis if they don't fit
* Thumbnails have a maximum width and height to help visualize very long, tall, small, big windows
* Fast. There is no benchmark at the moment but energy was spent making sure the UI is responsive
+103 -67
View File
@@ -7,59 +7,69 @@
objects = {
/* Begin PBXBuildFile section */
D04BA0219AC4C1B8444B469F /* 4 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA996DB03B329C6B36A39 /* 4 windows - 1 line.jpg */; };
D04BA1BEB40295C4DC25F637 /* 1 window - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA58701B5A47B6A2953E1 /* 1 window - 1 line.jpg */; };
D04BA0B1D77CA1466BFC13BC /* 3 windows - 1 line - tall window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */; };
D04BA183207E20AC28BF4F20 /* dark-background.png in Resources */ = {isa = PBXBuildFile; fileRef = D04BA8DDB96B0A60C3394351 /* dark-background.png */; };
D04BA20D4A240843293B3B52 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA56355579F78776E6D51 /* Cell.swift */; };
D04BA235E34B5120E2F75F34 /* 3 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA04504BB9802F6E0B889 /* 3 windows - 1 line.jpg */; };
D04BA21F728100990BA0D007 /* 6 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */; };
D04BA278D9EFA568C8D18A4C /* WindowManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAD1BED44EAEB77FED8A4 /* WindowManager.swift */; };
D04BA3261C7DA5F48310E654 /* Application.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA90C6C36DB1D65BC2B66 /* Application.swift */; };
D04BA35E037C9E1C3B26F296 /* 5 windows - 2 lines.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */; };
D04BA3999A3D6A308EA41039 /* .gitignore in Resources */ = {isa = PBXBuildFile; fileRef = D04BAD40CE2D3A8AAC3819D0 /* .gitignore */; };
D04BA486DF30D7169D4B69BA /* 3 windows - 1 line - wide window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA8298AF4D8ED7827ACDC /* 3 windows - 1 line - wide window.jpg */; };
D04BA4D8D74841AEC2601C80 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D04BA262E9A663B3A85A2A95 /* Assets.xcassets */; };
D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA35456DA0DDA74F9687E /* Keyboard.swift */; };
D04BA5CB7B1B84BDC99E5C3C /* 7 windows - 2 lines - tall window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA041E420F065EF8DC9F4 /* 7 windows - 2 lines - tall window.jpg */; };
D04BA5F23B9618C2C526DA1E /* 5 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA4AF59F978749D697493 /* 5 windows - 1 line.jpg */; };
D04BA7A29152DDF0BDCAC4AF /* 7 windows - 2 lines - wide window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BADF2A78C91437E1E4C42 /* 7 windows - 2 lines - wide window.jpg */; };
D04BA6C8D3667C49F97C06AD /* 14 windows - 3 lines.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */; };
D04BA6D15018C5164724C0D2 /* README.md in Sources */ = {isa = PBXBuildFile; fileRef = D04BA0E1C5DBC07108AC2F54 /* README.md */; };
D04BA7076AC73E719B733352 /* 7 windows - 2 lines - extra wide window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */; };
D04BA86F2E687F573F920D93 /* HighInterpolationImageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAE70D6AFD2E52A71701D /* HighInterpolationImageView.swift */; };
D04BA8877A8149B1439B1F04 /* 5 windows - 2 lines.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA5349996324809EA7208 /* 5 windows - 2 lines.jpg */; };
D04BA958877CFEC80F5E883A /* 2 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BADB4ABF73F979B9FC0BA /* 2 windows - 1 line.jpg */; };
D04BA960DDD1D32A3019C835 /* CollectionViewCenterFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */; };
D04BAAACE304CA2BCB1DC1BE /* too many windows - 4 lines - paginated.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BAC503A122CC0068BB84E /* too many windows - 4 lines - paginated.jpg */; };
D04BAAB78E71A923B63A9DFF /* 14 windows - 3 lines.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA75BFFC94D1E33047688 /* 14 windows - 3 lines.jpg */; };
D04BAB37A8033F8D4309889F /* 3 windows - 1 line - tall window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA685BCDB60B9FEA57438 /* 3 windows - 1 line - tall window.jpg */; };
D04BAB8555DC582A5BA5F8EE /* 6 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9EBCA307524DBE48DCF /* 6 windows - 1 line.jpg */; };
D04BAE3835B9FBA218664C74 /* 7 windows - 2 lines - extra wide window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9B41D7EA9F1B6290C91 /* 7 windows - 2 lines - extra wide window.jpg */; };
D04BA9A1B237364C419C3A3F /* 5 windows - 2 lines.png in Resources */ = {isa = PBXBuildFile; fileRef = D04BA5E4A1745A481CEC1EBA /* 5 windows - 2 lines.png */; };
D04BAA816B0EE923C6C211DD /* 2 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */; };
D04BAAC63A3C077B1DB155B2 /* 5 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */; };
D04BAB25494E5FF86D4C2437 /* 7 windows - 2 lines - wide window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */; };
D04BABF815E9780EAF941E88 /* 3 windows - 1 line.png in Resources */ = {isa = PBXBuildFile; fileRef = D04BA27584274BC8C2D9809F /* 3 windows - 1 line.png */; };
D04BACB58F00CAC62A46E662 /* 6 windows - 2 lines.png in Resources */ = {isa = PBXBuildFile; fileRef = D04BA5E9CB56E27CC907F07D /* 6 windows - 2 lines.png */; };
D04BACF6FFC99DDD990E0694 /* 3 windows - 1 line - wide window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */; };
D04BAD4AF98BD62155749E88 /* 1 window - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */; };
D04BAD9763C9B59FB46B4F9B /* 4 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */; };
D04BADD21FFEE61E926E897F /* too many windows - 4 lines - paginated.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */; };
D04BAE5CC40654B1F96E8DE9 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = D04BA7B6AAB0812631BBC7A2 /* Info.plist */; };
D04BAEF78503D7A2CEFB9E9E /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = D04BAA44C837F3A67403B9DB /* main.swift */; };
D04BAFACEE2C33E66B93664A /* 3 windows - 1 line.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */; };
D04BAFE95F19AD93955904DE /* 7 windows - 2 lines - tall window.jpg in Resources */ = {isa = PBXBuildFile; fileRef = D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
D04BA041E420F065EF8DC9F4 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = "<group>"; };
D04BA04504BB9802F6E0B889 /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = "<group>"; };
D04BA0E1C5DBC07108AC2F54 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = "<group>"; };
D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = "<group>"; };
D04BA262E9A663B3A85A2A95 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
D04BA27584274BC8C2D9809F /* 3 windows - 1 line.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "3 windows - 1 line.png"; sourceTree = "<group>"; };
D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA3202A2C22C347E849B3 /* CollectionViewCenterFlowLayout.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CollectionViewCenterFlowLayout.swift; sourceTree = "<group>"; };
D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA35456DA0DDA74F9687E /* Keyboard.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Keyboard.swift; sourceTree = "<group>"; };
D04BA4AF59F978749D697493 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA5349996324809EA7208 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = "<group>"; };
D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - tall window.jpg"; sourceTree = "<group>"; };
D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = "<group>"; };
D04BA56355579F78776E6D51 /* Cell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = "<group>"; };
D04BA58701B5A47B6A2953E1 /* 1 window - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "1 window - 1 line.jpg"; sourceTree = "<group>"; };
D04BA685BCDB60B9FEA57438 /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = "<group>"; };
D04BA75BFFC94D1E33047688 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = "<group>"; };
D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA5E4A1745A481CEC1EBA /* 5 windows - 2 lines.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "5 windows - 2 lines.png"; sourceTree = "<group>"; };
D04BA5E9CB56E27CC907F07D /* 6 windows - 2 lines.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "6 windows - 2 lines.png"; sourceTree = "<group>"; };
D04BA7B6AAB0812631BBC7A2 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.info; path = Info.plist; sourceTree = "<group>"; };
D04BA8298AF4D8ED7827ACDC /* 3 windows - 1 line - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - wide window.jpg"; sourceTree = "<group>"; };
D04BA82F792DF53958D92572 /* alt-tab-macos.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "alt-tab-macos.app"; sourceTree = BUILT_PRODUCTS_DIR; };
D04BA8DDB96B0A60C3394351 /* dark-background.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "dark-background.png"; sourceTree = "<group>"; };
D04BA90C6C36DB1D65BC2B66 /* Application.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Application.swift; sourceTree = "<group>"; };
D04BA996DB03B329C6B36A39 /* 4 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "4 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA9B41D7EA9F1B6290C91 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = "<group>"; };
D04BA9EBCA307524DBE48DCF /* 6 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "6 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BAA44C837F3A67403B9DB /* main.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; };
D04BAC503A122CC0068BB84E /* too many windows - 4 lines - paginated.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "too many windows - 4 lines - paginated.jpg"; sourceTree = "<group>"; };
D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "14 windows - 3 lines.jpg"; sourceTree = "<group>"; };
D04BAD1BED44EAEB77FED8A4 /* WindowManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WindowManager.swift; sourceTree = "<group>"; };
D04BAD1C9F215BCCD3B620AC /* alt_tab_macos.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = alt_tab_macos.entitlements; sourceTree = "<group>"; };
D04BAD40CE2D3A8AAC3819D0 /* .gitignore */ = {isa = PBXFileReference; lastKnownFileType = file.gitignore; path = .gitignore; sourceTree = "<group>"; };
D04BADB4ABF73F979B9FC0BA /* 2 windows - 1 line.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "2 windows - 1 line.jpg"; sourceTree = "<group>"; };
D04BADF2A78C91437E1E4C42 /* 7 windows - 2 lines - wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - wide window.jpg"; sourceTree = "<group>"; };
D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "3 windows - 1 line - tall window.jpg"; sourceTree = "<group>"; };
D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "7 windows - 2 lines - extra wide window.jpg"; sourceTree = "<group>"; };
D04BAE70D6AFD2E52A71701D /* HighInterpolationImageView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HighInterpolationImageView.swift; sourceTree = "<group>"; };
D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "5 windows - 2 lines.jpg"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -73,20 +83,14 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
D04BA036CA8BDCF4608909C4 /* docs */ = {
isa = PBXGroup;
children = (
D04BA9280DD11C32934568FC /* img */,
);
path = docs;
sourceTree = "<group>";
};
D04BA1463D2A17038222BB84 = {
isa = PBXGroup;
children = (
D04BA1A461BBB5A9BE15E015 /* Products */,
D04BAD48B702C4B1DC543557 /* alt-tab-macos */,
D04BAD40CE2D3A8AAC3819D0 /* .gitignore */,
D04BA0E1C5DBC07108AC2F54 /* README.md */,
D04BAD1F5F5D4427DEA16682 /* docs */,
);
sourceTree = "<group>";
};
@@ -98,25 +102,36 @@
name = Products;
sourceTree = "<group>";
};
D04BA9280DD11C32934568FC /* img */ = {
D04BA502DEE6E54E9987BAB7 /* windows-10 */ = {
isa = PBXGroup;
children = (
D04BA58701B5A47B6A2953E1 /* 1 window - 1 line.jpg */,
D04BADB4ABF73F979B9FC0BA /* 2 windows - 1 line.jpg */,
D04BA04504BB9802F6E0B889 /* 3 windows - 1 line.jpg */,
D04BA996DB03B329C6B36A39 /* 4 windows - 1 line.jpg */,
D04BA4AF59F978749D697493 /* 5 windows - 1 line.jpg */,
D04BA9EBCA307524DBE48DCF /* 6 windows - 1 line.jpg */,
D04BA5349996324809EA7208 /* 5 windows - 2 lines.jpg */,
D04BA75BFFC94D1E33047688 /* 14 windows - 3 lines.jpg */,
D04BA685BCDB60B9FEA57438 /* 3 windows - 1 line - tall window.jpg */,
D04BA8298AF4D8ED7827ACDC /* 3 windows - 1 line - wide window.jpg */,
D04BA041E420F065EF8DC9F4 /* 7 windows - 2 lines - tall window.jpg */,
D04BADF2A78C91437E1E4C42 /* 7 windows - 2 lines - wide window.jpg */,
D04BAC503A122CC0068BB84E /* too many windows - 4 lines - paginated.jpg */,
D04BA9B41D7EA9F1B6290C91 /* 7 windows - 2 lines - extra wide window.jpg */,
D04BA32F25860B686DFE818A /* 3 windows - 1 line.jpg */,
D04BAB6652494D7575057E86 /* 14 windows - 3 lines.jpg */,
D04BAD82F652C4ED5D8BF7AE /* 3 windows - 1 line - tall window.jpg */,
D04BA4F23325560BC0BCDDB7 /* 7 windows - 2 lines - tall window.jpg */,
D04BA2C7B51F68651B3C60E2 /* 6 windows - 1 line.jpg */,
D04BA107C8B8FE7FF8536606 /* too many windows - 4 lines - paginated.jpg */,
D04BA5ABFA5457A86536E2E4 /* 5 windows - 1 line.jpg */,
D04BA0F5EB832B8E142B654B /* 4 windows - 1 line.jpg */,
D04BA1FC9022590D7AA02486 /* 1 window - 1 line.jpg */,
D04BA9EF65B2E7AF9E3ADCA3 /* 2 windows - 1 line.jpg */,
D04BA51D43775E57CE91154A /* 3 windows - 1 line - wide window.jpg */,
D04BAF076A30A1BAFEDBEA66 /* 5 windows - 2 lines.jpg */,
D04BA0CE87BE264C52987ED1 /* 7 windows - 2 lines - wide window.jpg */,
D04BAE1243C9B4BE3ED1B524 /* 7 windows - 2 lines - extra wide window.jpg */,
);
path = img;
path = "windows-10";
sourceTree = "<group>";
};
D04BA63877FC8FB11C43C3D2 /* alt-tab-macos */ = {
isa = PBXGroup;
children = (
D04BA8DDB96B0A60C3394351 /* dark-background.png */,
D04BA5E9CB56E27CC907F07D /* 6 windows - 2 lines.png */,
D04BA5E4A1745A481CEC1EBA /* 5 windows - 2 lines.png */,
D04BA27584274BC8C2D9809F /* 3 windows - 1 line.png */,
);
path = "alt-tab-macos";
sourceTree = "<group>";
};
D04BAA1C553891551B903DA7 /* logic */ = {
@@ -139,6 +154,23 @@
path = ui;
sourceTree = "<group>";
};
D04BAAB62DCBD7AF93B7EF89 /* img */ = {
isa = PBXGroup;
children = (
D04BA502DEE6E54E9987BAB7 /* windows-10 */,
D04BA63877FC8FB11C43C3D2 /* alt-tab-macos */,
);
path = img;
sourceTree = "<group>";
};
D04BAD1F5F5D4427DEA16682 /* docs */ = {
isa = PBXGroup;
children = (
D04BAAB62DCBD7AF93B7EF89 /* img */,
);
path = docs;
sourceTree = "<group>";
};
D04BAD48B702C4B1DC543557 /* alt-tab-macos */ = {
isa = PBXGroup;
children = (
@@ -147,7 +179,6 @@
D04BAAA28315301A906DD201 /* ui */,
D04BA7B6AAB0812631BBC7A2 /* Info.plist */,
D04BAA44C837F3A67403B9DB /* main.swift */,
D04BA036CA8BDCF4608909C4 /* docs */,
D04BAA1C553891551B903DA7 /* logic */,
);
path = "alt-tab-macos";
@@ -205,21 +236,25 @@
files = (
D04BA4D8D74841AEC2601C80 /* Assets.xcassets in Resources */,
D04BAE5CC40654B1F96E8DE9 /* Info.plist in Resources */,
D04BA1BEB40295C4DC25F637 /* 1 window - 1 line.jpg in Resources */,
D04BA958877CFEC80F5E883A /* 2 windows - 1 line.jpg in Resources */,
D04BA235E34B5120E2F75F34 /* 3 windows - 1 line.jpg in Resources */,
D04BA0219AC4C1B8444B469F /* 4 windows - 1 line.jpg in Resources */,
D04BA5F23B9618C2C526DA1E /* 5 windows - 1 line.jpg in Resources */,
D04BAB8555DC582A5BA5F8EE /* 6 windows - 1 line.jpg in Resources */,
D04BA8877A8149B1439B1F04 /* 5 windows - 2 lines.jpg in Resources */,
D04BAAB78E71A923B63A9DFF /* 14 windows - 3 lines.jpg in Resources */,
D04BAB37A8033F8D4309889F /* 3 windows - 1 line - tall window.jpg in Resources */,
D04BA486DF30D7169D4B69BA /* 3 windows - 1 line - wide window.jpg in Resources */,
D04BA5CB7B1B84BDC99E5C3C /* 7 windows - 2 lines - tall window.jpg in Resources */,
D04BA7A29152DDF0BDCAC4AF /* 7 windows - 2 lines - wide window.jpg in Resources */,
D04BAAACE304CA2BCB1DC1BE /* too many windows - 4 lines - paginated.jpg in Resources */,
D04BAE3835B9FBA218664C74 /* 7 windows - 2 lines - extra wide window.jpg in Resources */,
D04BA3999A3D6A308EA41039 /* .gitignore in Resources */,
D04BAFACEE2C33E66B93664A /* 3 windows - 1 line.jpg in Resources */,
D04BA6C8D3667C49F97C06AD /* 14 windows - 3 lines.jpg in Resources */,
D04BA0B1D77CA1466BFC13BC /* 3 windows - 1 line - tall window.jpg in Resources */,
D04BAFE95F19AD93955904DE /* 7 windows - 2 lines - tall window.jpg in Resources */,
D04BA21F728100990BA0D007 /* 6 windows - 1 line.jpg in Resources */,
D04BADD21FFEE61E926E897F /* too many windows - 4 lines - paginated.jpg in Resources */,
D04BAAC63A3C077B1DB155B2 /* 5 windows - 1 line.jpg in Resources */,
D04BAD9763C9B59FB46B4F9B /* 4 windows - 1 line.jpg in Resources */,
D04BAD4AF98BD62155749E88 /* 1 window - 1 line.jpg in Resources */,
D04BAA816B0EE923C6C211DD /* 2 windows - 1 line.jpg in Resources */,
D04BACF6FFC99DDD990E0694 /* 3 windows - 1 line - wide window.jpg in Resources */,
D04BA35E037C9E1C3B26F296 /* 5 windows - 2 lines.jpg in Resources */,
D04BAB25494E5FF86D4C2437 /* 7 windows - 2 lines - wide window.jpg in Resources */,
D04BA7076AC73E719B733352 /* 7 windows - 2 lines - extra wide window.jpg in Resources */,
D04BA183207E20AC28BF4F20 /* dark-background.png in Resources */,
D04BACB58F00CAC62A46E662 /* 6 windows - 2 lines.png in Resources */,
D04BA9A1B237364C419C3A3F /* 5 windows - 2 lines.png in Resources */,
D04BABF815E9780EAF941E88 /* 3 windows - 1 line.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -237,6 +272,7 @@
D04BA57A871B7269BEBAFF84 /* Keyboard.swift in Sources */,
D04BA278D9EFA568C8D18A4C /* WindowManager.swift in Sources */,
D04BA3261C7DA5F48310E654 /* Application.swift in Sources */,
D04BA6D15018C5164724C0D2 /* README.md in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 515 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 885 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 881 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 855 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 932 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 629 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 565 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 809 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 435 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 KiB