mirror of
				https://github.com/smartfrigde/armcord.git
				synced 2024-08-14 23:56:58 +00:00 
			
		
		
		
	Update Window state manager (#291)
* Update Window state * Add x/y state saving
This commit is contained in:
		
							parent
							
								
									e2fc0c6401
								
							
						
					
					
						commit
						254ba93433
					
				
					 11 changed files with 267 additions and 147 deletions
				
			
		
							
								
								
									
										2
									
								
								.vscode/settings.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.vscode/settings.json
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| { | ||||
| } | ||||
|  | @ -29,7 +29,7 @@ | |||
|         "@types/ws": "^8.5.3", | ||||
|         "chalk-cli": "^5.0.0", | ||||
|         "copyfiles": "^2.4.1", | ||||
|         "electron": "^21.3.0", | ||||
|         "electron": "^22.0.0", | ||||
|         "electron-builder": "^23.6.0", | ||||
|         "prettier": "^2.7.1", | ||||
|         "typescript": "^4.9.3" | ||||
|  |  | |||
							
								
								
									
										229
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										229
									
								
								pnpm-lock.yaml
									
										
									
										generated
									
									
									
								
							|  | @ -8,7 +8,7 @@ specifiers: | |||
|   chalk-cli: ^5.0.0 | ||||
|   copyfiles: ^2.4.1 | ||||
|   cross-fetch: ^3.1.5 | ||||
|   electron: ^21.3.0 | ||||
|   electron: ^22.0.0 | ||||
|   electron-builder: ^23.6.0 | ||||
|   electron-context-menu: github:ArmCord/electron-context-menu | ||||
|   extract-zip: ^2.0.1 | ||||
|  | @ -18,7 +18,7 @@ specifiers: | |||
|   ws: ^8.11.0 | ||||
| 
 | ||||
| dependencies: | ||||
|   '@pyke/vibe': github.com/pykeio/vibe/11984868ce9e007859ed91ff159c7f7f0a34e7ae_electron@21.3.0 | ||||
|   '@pyke/vibe': github.com/pykeio/vibe/11984868ce9e007859ed91ff159c7f7f0a34e7ae_electron@22.0.0 | ||||
|   arrpc: file:src/arrpc | ||||
|   cross-fetch: 3.1.5 | ||||
|   electron-context-menu: github.com/ArmCord/electron-context-menu/280c81398c02a063f46e3285a9708d8db1a7ce32 | ||||
|  | @ -31,7 +31,7 @@ devDependencies: | |||
|   '@types/ws': 8.5.3 | ||||
|   chalk-cli: 5.0.0 | ||||
|   copyfiles: 2.4.1 | ||||
|   electron: 21.3.0 | ||||
|   electron: 22.0.0 | ||||
|   electron-builder: 23.6.0 | ||||
|   prettier: 2.7.1 | ||||
|   typescript: 4.9.3 | ||||
|  | @ -71,20 +71,19 @@ packages: | |||
|       ajv-keywords: 3.5.2_ajv@6.12.6 | ||||
|     dev: true | ||||
| 
 | ||||
|   /@electron/get/1.14.1: | ||||
|     resolution: {integrity: sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==} | ||||
|     engines: {node: '>=8.6'} | ||||
|   /@electron/get/2.0.2: | ||||
|     resolution: {integrity: sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g==} | ||||
|     engines: {node: '>=12'} | ||||
|     dependencies: | ||||
|       debug: 4.3.4 | ||||
|       env-paths: 2.2.1 | ||||
|       fs-extra: 8.1.0 | ||||
|       got: 9.6.0 | ||||
|       got: 11.8.6 | ||||
|       progress: 2.0.3 | ||||
|       semver: 6.3.0 | ||||
|       sumchecker: 3.0.1 | ||||
|     optionalDependencies: | ||||
|       global-agent: 3.0.0 | ||||
|       global-tunnel-ng: 2.7.1 | ||||
|     transitivePeerDependencies: | ||||
|       - supports-color | ||||
| 
 | ||||
|  | @ -122,21 +121,29 @@ packages: | |||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /@sindresorhus/is/0.14.0: | ||||
|     resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} | ||||
|     engines: {node: '>=6'} | ||||
|   /@sindresorhus/is/4.6.0: | ||||
|     resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} | ||||
|     engines: {node: '>=10'} | ||||
| 
 | ||||
|   /@szmarczak/http-timer/1.1.2: | ||||
|     resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} | ||||
|     engines: {node: '>=6'} | ||||
|   /@szmarczak/http-timer/4.0.6: | ||||
|     resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} | ||||
|     engines: {node: '>=10'} | ||||
|     dependencies: | ||||
|       defer-to-connect: 1.1.3 | ||||
|       defer-to-connect: 2.0.1 | ||||
| 
 | ||||
|   /@tootallnate/once/2.0.0: | ||||
|     resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} | ||||
|     engines: {node: '>= 10'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /@types/cacheable-request/6.0.3: | ||||
|     resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} | ||||
|     dependencies: | ||||
|       '@types/http-cache-semantics': 4.0.1 | ||||
|       '@types/keyv': 3.1.4 | ||||
|       '@types/node': 18.11.9 | ||||
|       '@types/responselike': 1.0.0 | ||||
| 
 | ||||
|   /@types/debug/4.1.7: | ||||
|     resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} | ||||
|     dependencies: | ||||
|  | @ -158,6 +165,9 @@ packages: | |||
|     dev: true | ||||
|     optional: true | ||||
| 
 | ||||
|   /@types/http-cache-semantics/4.0.1: | ||||
|     resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} | ||||
| 
 | ||||
|   /@types/keyv/3.1.4: | ||||
|     resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} | ||||
|     dependencies: | ||||
|  | @ -473,17 +483,21 @@ packages: | |||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /cacheable-request/6.1.0: | ||||
|     resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} | ||||
|   /cacheable-lookup/5.0.4: | ||||
|     resolution: {integrity: sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==} | ||||
|     engines: {node: '>=10.6.0'} | ||||
| 
 | ||||
|   /cacheable-request/7.0.2: | ||||
|     resolution: {integrity: sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==} | ||||
|     engines: {node: '>=8'} | ||||
|     dependencies: | ||||
|       clone-response: 1.0.3 | ||||
|       get-stream: 5.2.0 | ||||
|       http-cache-semantics: 4.1.0 | ||||
|       keyv: 3.1.0 | ||||
|       keyv: 4.5.2 | ||||
|       lowercase-keys: 2.0.0 | ||||
|       normalize-url: 4.5.1 | ||||
|       responselike: 1.0.2 | ||||
|       normalize-url: 6.1.0 | ||||
|       responselike: 2.0.1 | ||||
| 
 | ||||
|   /camelcase-keys/7.0.2: | ||||
|     resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} | ||||
|  | @ -629,13 +643,6 @@ packages: | |||
|     resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} | ||||
|     dev: true | ||||
| 
 | ||||
|   /config-chain/1.1.13: | ||||
|     resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} | ||||
|     dependencies: | ||||
|       ini: 1.3.8 | ||||
|       proto-list: 1.2.4 | ||||
|     optional: true | ||||
| 
 | ||||
|   /copyfiles/2.4.1: | ||||
|     resolution: {integrity: sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg==} | ||||
|     hasBin: true | ||||
|  | @ -724,14 +731,15 @@ packages: | |||
|     engines: {node: '>=10'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /decompress-response/3.3.0: | ||||
|     resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} | ||||
|     engines: {node: '>=4'} | ||||
|   /decompress-response/6.0.0: | ||||
|     resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} | ||||
|     engines: {node: '>=10'} | ||||
|     dependencies: | ||||
|       mimic-response: 1.0.1 | ||||
|       mimic-response: 3.1.0 | ||||
| 
 | ||||
|   /defer-to-connect/1.1.3: | ||||
|     resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} | ||||
|   /defer-to-connect/2.0.1: | ||||
|     resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} | ||||
|     engines: {node: '>=10'} | ||||
| 
 | ||||
|   /define-properties/1.1.4: | ||||
|     resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} | ||||
|  | @ -809,9 +817,6 @@ packages: | |||
|     engines: {node: '>=10'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /duplexer3/0.1.5: | ||||
|     resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} | ||||
| 
 | ||||
|   /ejs/3.1.8: | ||||
|     resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} | ||||
|     engines: {node: '>=0.10.0'} | ||||
|  | @ -883,13 +888,13 @@ packages: | |||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /electron/21.3.0: | ||||
|     resolution: {integrity: sha512-MGRpshN8fBcx4IRuBABIsGDv0tB/MclIFsyFHFFXsBCUc+vIXaE/E6vuWaniGIFSz5WyeuapfTH5IeRb+7yIfw==} | ||||
|     engines: {node: '>= 10.17.0'} | ||||
|   /electron/22.0.0: | ||||
|     resolution: {integrity: sha512-cgRc4wjyM+81A0E8UGv1HNJjL1HBI5cWNh/DUIjzYvoUuiEM0SS0hAH/zaFQ18xOz2ced6Yih8SybpOiOYJhdg==} | ||||
|     engines: {node: '>= 12.20.55'} | ||||
|     hasBin: true | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       '@electron/get': 1.14.1 | ||||
|       '@electron/get': 2.0.2 | ||||
|       '@types/node': 16.18.3 | ||||
|       extract-zip: 2.0.1 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -898,11 +903,6 @@ packages: | |||
|   /emoji-regex/8.0.0: | ||||
|     resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} | ||||
| 
 | ||||
|   /encodeurl/1.0.2: | ||||
|     resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} | ||||
|     engines: {node: '>= 0.8'} | ||||
|     optional: true | ||||
| 
 | ||||
|   /end-of-stream/1.4.4: | ||||
|     resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} | ||||
|     dependencies: | ||||
|  | @ -1074,12 +1074,6 @@ packages: | |||
|     engines: {node: '>=12'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /get-stream/4.1.0: | ||||
|     resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} | ||||
|     engines: {node: '>=6'} | ||||
|     dependencies: | ||||
|       pump: 3.0.0 | ||||
| 
 | ||||
|   /get-stream/5.2.0: | ||||
|     resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} | ||||
|     engines: {node: '>=8'} | ||||
|  | @ -1110,17 +1104,6 @@ packages: | |||
|       serialize-error: 7.0.1 | ||||
|     optional: true | ||||
| 
 | ||||
|   /global-tunnel-ng/2.7.1: | ||||
|     resolution: {integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==} | ||||
|     engines: {node: '>=0.10'} | ||||
|     requiresBuild: true | ||||
|     dependencies: | ||||
|       encodeurl: 1.0.2 | ||||
|       lodash: 4.17.21 | ||||
|       npm-conf: 1.1.3 | ||||
|       tunnel: 0.0.6 | ||||
|     optional: true | ||||
| 
 | ||||
|   /globalthis/1.0.3: | ||||
|     resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} | ||||
|     engines: {node: '>= 0.4'} | ||||
|  | @ -1128,23 +1111,21 @@ packages: | |||
|       define-properties: 1.1.4 | ||||
|     optional: true | ||||
| 
 | ||||
|   /got/9.6.0: | ||||
|     resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} | ||||
|     engines: {node: '>=8.6'} | ||||
|   /got/11.8.6: | ||||
|     resolution: {integrity: sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==} | ||||
|     engines: {node: '>=10.19.0'} | ||||
|     dependencies: | ||||
|       '@sindresorhus/is': 0.14.0 | ||||
|       '@szmarczak/http-timer': 1.1.2 | ||||
|       '@types/keyv': 3.1.4 | ||||
|       '@sindresorhus/is': 4.6.0 | ||||
|       '@szmarczak/http-timer': 4.0.6 | ||||
|       '@types/cacheable-request': 6.0.3 | ||||
|       '@types/responselike': 1.0.0 | ||||
|       cacheable-request: 6.1.0 | ||||
|       decompress-response: 3.3.0 | ||||
|       duplexer3: 0.1.5 | ||||
|       get-stream: 4.1.0 | ||||
|       lowercase-keys: 1.0.1 | ||||
|       mimic-response: 1.0.1 | ||||
|       p-cancelable: 1.1.0 | ||||
|       to-readable-stream: 1.0.0 | ||||
|       url-parse-lax: 3.0.0 | ||||
|       cacheable-lookup: 5.0.4 | ||||
|       cacheable-request: 7.0.2 | ||||
|       decompress-response: 6.0.0 | ||||
|       http2-wrapper: 1.0.3 | ||||
|       lowercase-keys: 2.0.0 | ||||
|       p-cancelable: 2.1.1 | ||||
|       responselike: 2.0.1 | ||||
| 
 | ||||
|   /graceful-fs/4.2.10: | ||||
|     resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} | ||||
|  | @ -1206,6 +1187,13 @@ packages: | |||
|       - supports-color | ||||
|     dev: true | ||||
| 
 | ||||
|   /http2-wrapper/1.0.3: | ||||
|     resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} | ||||
|     engines: {node: '>=10.19.0'} | ||||
|     dependencies: | ||||
|       quick-lru: 5.1.1 | ||||
|       resolve-alpn: 1.2.1 | ||||
| 
 | ||||
|   /https-proxy-agent/5.0.1: | ||||
|     resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} | ||||
|     engines: {node: '>= 6'} | ||||
|  | @ -1256,10 +1244,6 @@ packages: | |||
|     resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} | ||||
|     dev: true | ||||
| 
 | ||||
|   /ini/1.3.8: | ||||
|     resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} | ||||
|     optional: true | ||||
| 
 | ||||
|   /is-arrayish/0.2.1: | ||||
|     resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} | ||||
|     dev: true | ||||
|  | @ -1336,8 +1320,8 @@ packages: | |||
|       argparse: 2.0.1 | ||||
|     dev: true | ||||
| 
 | ||||
|   /json-buffer/3.0.0: | ||||
|     resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} | ||||
|   /json-buffer/3.0.1: | ||||
|     resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} | ||||
| 
 | ||||
|   /json-parse-even-better-errors/2.3.1: | ||||
|     resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} | ||||
|  | @ -1371,10 +1355,10 @@ packages: | |||
|       graceful-fs: 4.2.10 | ||||
|     dev: true | ||||
| 
 | ||||
|   /keyv/3.1.0: | ||||
|     resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} | ||||
|   /keyv/4.5.2: | ||||
|     resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} | ||||
|     dependencies: | ||||
|       json-buffer: 3.0.0 | ||||
|       json-buffer: 3.0.1 | ||||
| 
 | ||||
|   /kind-of/6.0.3: | ||||
|     resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} | ||||
|  | @ -1398,10 +1382,7 @@ packages: | |||
| 
 | ||||
|   /lodash/4.17.21: | ||||
|     resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} | ||||
| 
 | ||||
|   /lowercase-keys/1.0.1: | ||||
|     resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} | ||||
|     engines: {node: '>=0.10.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /lowercase-keys/2.0.0: | ||||
|     resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} | ||||
|  | @ -1469,6 +1450,10 @@ packages: | |||
|     resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} | ||||
|     engines: {node: '>=4'} | ||||
| 
 | ||||
|   /mimic-response/3.1.0: | ||||
|     resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} | ||||
|     engines: {node: '>=10'} | ||||
| 
 | ||||
|   /min-indent/1.0.1: | ||||
|     resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} | ||||
|     engines: {node: '>=4'} | ||||
|  | @ -1574,17 +1559,9 @@ packages: | |||
|       validate-npm-package-license: 3.0.4 | ||||
|     dev: true | ||||
| 
 | ||||
|   /normalize-url/4.5.1: | ||||
|     resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} | ||||
|     engines: {node: '>=8'} | ||||
| 
 | ||||
|   /npm-conf/1.1.3: | ||||
|     resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} | ||||
|     engines: {node: '>=4'} | ||||
|     dependencies: | ||||
|       config-chain: 1.1.13 | ||||
|       pify: 3.0.0 | ||||
|     optional: true | ||||
|   /normalize-url/6.1.0: | ||||
|     resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} | ||||
|     engines: {node: '>=10'} | ||||
| 
 | ||||
|   /object-keys/1.1.1: | ||||
|     resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} | ||||
|  | @ -1596,9 +1573,9 @@ packages: | |||
|     dependencies: | ||||
|       wrappy: 1.0.2 | ||||
| 
 | ||||
|   /p-cancelable/1.1.0: | ||||
|     resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} | ||||
|     engines: {node: '>=6'} | ||||
|   /p-cancelable/2.1.1: | ||||
|     resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} | ||||
|     engines: {node: '>=8'} | ||||
| 
 | ||||
|   /p-limit/3.1.0: | ||||
|     resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} | ||||
|  | @ -1641,11 +1618,6 @@ packages: | |||
|   /pend/1.2.0: | ||||
|     resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} | ||||
| 
 | ||||
|   /pify/3.0.0: | ||||
|     resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} | ||||
|     engines: {node: '>=4'} | ||||
|     optional: true | ||||
| 
 | ||||
|   /plist/3.0.6: | ||||
|     resolution: {integrity: sha512-WiIVYyrp8TD4w8yCvyeIr+lkmrGRd5u0VbRnU+tP/aRLxP/YadJUYOMZJ/6hIa3oUyVCsycXvtNRgd5XBJIbiA==} | ||||
|     engines: {node: '>=6'} | ||||
|  | @ -1654,10 +1626,6 @@ packages: | |||
|       xmlbuilder: 15.1.1 | ||||
|     dev: true | ||||
| 
 | ||||
|   /prepend-http/2.0.0: | ||||
|     resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} | ||||
|     engines: {node: '>=4'} | ||||
| 
 | ||||
|   /prettier/2.7.1: | ||||
|     resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} | ||||
|     engines: {node: '>=10.13.0'} | ||||
|  | @ -1672,10 +1640,6 @@ packages: | |||
|     resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} | ||||
|     engines: {node: '>=0.4.0'} | ||||
| 
 | ||||
|   /proto-list/1.2.4: | ||||
|     resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} | ||||
|     optional: true | ||||
| 
 | ||||
|   /pump/3.0.0: | ||||
|     resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} | ||||
|     dependencies: | ||||
|  | @ -1698,7 +1662,6 @@ packages: | |||
|   /quick-lru/5.1.1: | ||||
|     resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} | ||||
|     engines: {node: '>=10'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /read-config-file/6.2.0: | ||||
|     resolution: {integrity: sha512-gx7Pgr5I56JtYz+WuqEbQHj/xWo+5Vwua2jhb1VwM4Wid5PqYmZ4i00ZB0YEGIfkVBsCv9UrjgyqCiQfS/Oosg==} | ||||
|  | @ -1764,10 +1727,13 @@ packages: | |||
|     engines: {node: '>=0.10.0'} | ||||
|     dev: true | ||||
| 
 | ||||
|   /responselike/1.0.2: | ||||
|     resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} | ||||
|   /resolve-alpn/1.2.1: | ||||
|     resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} | ||||
| 
 | ||||
|   /responselike/2.0.1: | ||||
|     resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} | ||||
|     dependencies: | ||||
|       lowercase-keys: 1.0.1 | ||||
|       lowercase-keys: 2.0.0 | ||||
| 
 | ||||
|   /rimraf/3.0.2: | ||||
|     resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} | ||||
|  | @ -2016,10 +1982,6 @@ packages: | |||
|       rimraf: 3.0.2 | ||||
|     dev: true | ||||
| 
 | ||||
|   /to-readable-stream/1.0.0: | ||||
|     resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} | ||||
|     engines: {node: '>=6'} | ||||
| 
 | ||||
|   /tr46/0.0.3: | ||||
|     resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} | ||||
|     dev: false | ||||
|  | @ -2035,11 +1997,6 @@ packages: | |||
|       utf8-byte-length: 1.0.4 | ||||
|     dev: true | ||||
| 
 | ||||
|   /tunnel/0.0.6: | ||||
|     resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} | ||||
|     engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} | ||||
|     optional: true | ||||
| 
 | ||||
|   /type-fest/0.13.1: | ||||
|     resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} | ||||
|     engines: {node: '>=10'} | ||||
|  | @ -2085,12 +2042,6 @@ packages: | |||
|       punycode: 2.1.1 | ||||
|     dev: true | ||||
| 
 | ||||
|   /url-parse-lax/3.0.0: | ||||
|     resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} | ||||
|     engines: {node: '>=4'} | ||||
|     dependencies: | ||||
|       prepend-http: 2.0.0 | ||||
| 
 | ||||
|   /utf8-byte-length/1.0.4: | ||||
|     resolution: {integrity: sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA==} | ||||
|     dev: true | ||||
|  | @ -2234,7 +2185,7 @@ packages: | |||
|   file:src/arrpc: | ||||
|     resolution: {directory: src/arrpc, type: directory} | ||||
|     name: arrpc | ||||
|     version: 1.1.0 | ||||
|     version: 3.0.0 | ||||
|     dependencies: | ||||
|       ws: 8.11.0 | ||||
|     transitivePeerDependencies: | ||||
|  | @ -2252,7 +2203,7 @@ packages: | |||
|       electron-is-dev: 2.0.0 | ||||
|     dev: false | ||||
| 
 | ||||
|   github.com/pykeio/vibe/11984868ce9e007859ed91ff159c7f7f0a34e7ae_electron@21.3.0: | ||||
|   github.com/pykeio/vibe/11984868ce9e007859ed91ff159c7f7f0a34e7ae_electron@22.0.0: | ||||
|     resolution: {tarball: https://codeload.github.com/pykeio/vibe/tar.gz/11984868ce9e007859ed91ff159c7f7f0a34e7ae} | ||||
|     id: github.com/pykeio/vibe/11984868ce9e007859ed91ff159c7f7f0a34e7ae | ||||
|     name: '@pyke/vibe' | ||||
|  | @ -2262,5 +2213,5 @@ packages: | |||
|       electron: '>=11.0' | ||||
|     dependencies: | ||||
|       cargo-cp-artifact: 0.1.7 | ||||
|       electron: 21.3.0 | ||||
|       electron: 22.0.0 | ||||
|     dev: false | ||||
|  |  | |||
|  | @ -56,7 +56,7 @@ | |||
|                     } else if (armcordinternal.installState === "modDownload") { | ||||
|                         text.innerHTML = "Updating " + armcord.mods; | ||||
|                     } else if (armcordinternal.installState === "none") { | ||||
|                         text.innerHTML = "Nothing to install. Starting ArmCord"; | ||||
|                         text.innerHTML = "Nothing to install."; | ||||
|                         return true; | ||||
|                     } else { | ||||
|                         return true; | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| //ipc stuff
 | ||||
| import {app, ipcMain, shell, desktopCapturer, nativeImage} from "electron"; | ||||
| import {app, ipcMain, shell, desktopCapturer, nativeImage, screen} from "electron"; | ||||
| import {mainWindow} from "./window"; | ||||
| import { | ||||
|     setConfigBulk, | ||||
|  | @ -87,6 +87,8 @@ export function registerIpc() { | |||
|             var width = (await getWindowState("width")) ?? 800; | ||||
|             var height = (await getWindowState("height")) ?? 600; | ||||
|             var isMaximized = (await getWindowState("isMaximized")) ?? false; | ||||
|             var xValue = await getWindowState("x"); | ||||
|             var yValue = await getWindowState("y"); | ||||
|         } catch (e) { | ||||
|             console.log("[Window state manager] No window state file found. Fallbacking to default values."); | ||||
|             mainWindow.setSize(800, 600); | ||||
|  | @ -96,6 +98,7 @@ export function registerIpc() { | |||
|             mainWindow.maximize(); | ||||
|         } else { | ||||
|             mainWindow.setSize(width, height); | ||||
|             mainWindow.setPosition(xValue, yValue); | ||||
|             console.log("[Window state manager] Not maximized."); | ||||
|         } | ||||
|     }); | ||||
|  |  | |||
							
								
								
									
										111
									
								
								src/preload/alt.ts
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								src/preload/alt.ts
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,111 @@ | |||
| import {ipcRenderer} from "electron"; | ||||
| import "./bridge"; | ||||
| import "./capturer"; | ||||
| import "./patch"; | ||||
| import * as fs from "fs"; | ||||
| import * as path from "path"; | ||||
| import {fixTitlebar, injectHummusTitlebar, injectTitlebar} from "./titlebar"; | ||||
| import {sleep, addStyle, addScript} from "../utils"; | ||||
| import {injectMobileStuff} from "./mobile"; | ||||
| var version = ipcRenderer.sendSync("displayVersion"); | ||||
| var channel = ipcRenderer.sendSync("channel"); | ||||
| async function updateLang() { | ||||
|     if (window.location.href.indexOf("setup.html") > -1) { | ||||
|         console.log("Setup, skipping lang update"); | ||||
|     } else { | ||||
|         const value = `; ${document.cookie}`; | ||||
|         const parts: any = value.split(`; locale=`); | ||||
|         if (parts.length === 2) ipcRenderer.send("setLang", parts.pop().split(";").shift()); | ||||
|     } | ||||
| } | ||||
| declare global { | ||||
|     interface Window { | ||||
|         armcord: any; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| console.log("ArmCord " + version); | ||||
| ipcRenderer.on("themeLoader", (event, message) => { | ||||
|     addStyle(message); | ||||
| }); | ||||
| if (window.location.href.indexOf("splash.html") > -1) { | ||||
|     console.log("Skipping titlebar injection and client mod injection."); | ||||
| } else { | ||||
|     if (ipcRenderer.sendSync("titlebar")) { | ||||
|         if (channel == "hummus") { | ||||
|             injectHummusTitlebar(); | ||||
|         } else { | ||||
|             injectTitlebar(); | ||||
|         } | ||||
|     } | ||||
|     if (ipcRenderer.sendSync("mobileMode")) { | ||||
|         injectMobileStuff(); | ||||
|     } | ||||
|     sleep(5000).then(async () => { | ||||
|         // dirty hack to make clicking notifications focus ArmCord
 | ||||
|         addScript(` | ||||
|         (() => { | ||||
|         const originalSetter = Object.getOwnPropertyDescriptor(Notification.prototype, "onclick").set; | ||||
|         Object.defineProperty(Notification.prototype, "onclick", { | ||||
|             set(onClick) { | ||||
|             originalSetter.call(this, function() { | ||||
|                 onClick.apply(this, arguments); | ||||
|                 armcord.window.show(); | ||||
|             }) | ||||
|             }, | ||||
|             configurable: true | ||||
|         }); | ||||
|         })(); | ||||
|         `);
 | ||||
| 
 | ||||
|         addScript(fs.readFileSync(path.join(__dirname, "../", "/content/js/rpc.js"), "utf8")); | ||||
|         const cssPath = path.join(__dirname, "../", "/content/css/discord.css"); | ||||
|         addStyle(fs.readFileSync(cssPath, "utf8")); | ||||
|         if (document.getElementById("window-controls-container") == null) { | ||||
|             console.warn("Titlebar didn't inject, retrying..."); | ||||
|             if (ipcRenderer.sendSync("titlebar")) { | ||||
|                 if (channel == "hummus") { | ||||
|                     injectHummusTitlebar(); | ||||
|                 } else { | ||||
|                     fixTitlebar(); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         await updateLang(); | ||||
|     }); | ||||
| } | ||||
| /* | ||||
| MIT License | ||||
| 
 | ||||
| Copyright (c) 2022 GooseNest | ||||
| 
 | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
| 
 | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
| 
 | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
| */ | ||||
| // Settings info version injection
 | ||||
| setInterval(() => { | ||||
|     const host = document.getElementsByClassName("info-3pQQBb")[0]; | ||||
|     if (!host || document.querySelector("#ac-ver")) return; | ||||
|     const el = document.createElement("span"); | ||||
|     el.id = "ac-ver"; | ||||
|     el.classList.add("text-xs-normal-3SiVjE", "line-18uChy"); | ||||
| 
 | ||||
|     el.textContent = `\nArmCord Version: ${version}`; | ||||
|     el.onclick = () => ipcRenderer.send("openSettingsWindow"); | ||||
|     host.append(el); | ||||
| }, 2000); | ||||
|  | @ -102,3 +102,45 @@ export function injectHummusTitlebar() { | |||
|         }); | ||||
|     }); | ||||
| } | ||||
| export function fixTitlebar() { | ||||
|     var elem = document.createElement("div"); | ||||
|     elem.innerHTML = `<nav class="titlebar">
 | ||||
|                     <div class="window-title" id="window-title"></div> | ||||
|                     <div id="window-controls-container"> | ||||
|                         <div id="spacer"></div> | ||||
|                         <div id="minimize"><div id="minimize-icon"></div></div> | ||||
|                         <div id="maximize"><div id="maximize-icon"></div></div> | ||||
|                         <div id="quit"><div id="quit-icon"></div></div> | ||||
|                     </div> | ||||
|                     </nav>`;
 | ||||
|     elem.classList.add("withFrame-haYltI"); | ||||
|     if (document.getElementById("app-mount") == null) { | ||||
|         document.body.appendChild(elem); | ||||
|     } else { | ||||
|         document.getElementById("app-mount")!.prepend(elem); | ||||
|     } | ||||
|     var minimize = document.getElementById("minimize"); | ||||
|     var maximize = document.getElementById("maximize"); | ||||
|     var quit = document.getElementById("quit"); | ||||
| 
 | ||||
|     minimize!.addEventListener("click", () => { | ||||
|         ipcRenderer.send("win-minimize"); | ||||
|     }); | ||||
| 
 | ||||
|     maximize!.addEventListener("click", () => { | ||||
|         if (ipcRenderer.sendSync("win-isMaximized") == true) { | ||||
|             ipcRenderer.send("win-unmaximize"); | ||||
|             document.body.removeAttribute("isMaximized"); | ||||
|         } else if (ipcRenderer.sendSync("win-isNormal") == true) { | ||||
|             ipcRenderer.send("win-maximize"); | ||||
|         } | ||||
|     }); | ||||
| 
 | ||||
|     quit!.addEventListener("click", () => { | ||||
|         if (ipcRenderer.sendSync("minimizeToTray") === true) { | ||||
|             ipcRenderer.send("win-hide"); | ||||
|         } else if (ipcRenderer.sendSync("minimizeToTray") === false) { | ||||
|             ipcRenderer.send("win-quit"); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
|  |  | |||
|  | @ -17,7 +17,7 @@ import fs from "fs"; | |||
| import {mainWindow} from "../window"; | ||||
| var settingsWindow: BrowserWindow; | ||||
| var instance: number = 0; | ||||
| checkForDataFolder(); | ||||
| //checkForDataFolder();
 | ||||
| const userDataPath = app.getPath("userData"); | ||||
| const storagePath = path.join(userDataPath, "/storage/"); | ||||
| const themesPath = path.join(userDataPath, "/themes/"); | ||||
|  |  | |||
|  | @ -56,7 +56,13 @@ app.whenReady().then(async () => { | |||
|                         label: `Quit ${clientName}`, | ||||
|                         click: function () { | ||||
|                             let [width, height] = mainWindow.getSize(); | ||||
|                             setWindowState({width: width, height: height, isMaximized: mainWindow.isMaximized()}); | ||||
|                             setWindowState({ | ||||
|                                 width: width, | ||||
|                                 height: height, | ||||
|                                 isMaximized: mainWindow.isMaximized(), | ||||
|                                 x: mainWindow.getPosition()[0], | ||||
|                                 y: mainWindow.getPosition()[1] | ||||
|                             }); | ||||
|                             app.quit(); | ||||
|                         } | ||||
|                     } | ||||
|  |  | |||
|  | @ -1,5 +1,5 @@ | |||
| import * as fs from "fs"; | ||||
| import {app, dialog, session} from "electron"; | ||||
| import {app, dialog, Rectangle} from "electron"; | ||||
| import path from "path"; | ||||
| import fetch from "cross-fetch"; | ||||
| import extract from "extract-zip"; | ||||
|  | @ -199,6 +199,8 @@ export async function getLangName() { | |||
| export interface WindowState { | ||||
|     width: number; | ||||
|     height: number; | ||||
|     x: number; | ||||
|     y: number; | ||||
|     isMaximized: boolean; | ||||
| } | ||||
| export async function setWindowState(object: WindowState) { | ||||
|  | @ -217,7 +219,8 @@ export async function getWindowState(object: string) { | |||
|     const settingsFile = storagePath + "window.json"; | ||||
|     let rawdata = fs.readFileSync(settingsFile, "utf-8"); | ||||
|     let returndata = JSON.parse(rawdata); | ||||
|     console.log("[Window state manager] " + object + ": " + returndata[object]); | ||||
|     console.log(returndata); | ||||
|     console.log("[Window state manager] " + returndata); | ||||
|     return returndata[object]; | ||||
| } | ||||
| //ArmCord Settings/Storage manager
 | ||||
|  |  | |||
|  | @ -178,7 +178,9 @@ async function doAfterDefiningTheWindow() { | |||
|         await setWindowState({ | ||||
|             width: width, | ||||
|             height: height, | ||||
|             isMaximized: mainWindow.isMaximized() | ||||
|             isMaximized: mainWindow.isMaximized(), | ||||
|             x: mainWindow.getPosition()[0], | ||||
|             y: mainWindow.getPosition()[1] | ||||
|         }); | ||||
|         if (await getConfig("minimizeToTray")) { | ||||
|             e.preventDefault(); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue