Compare commits
1206 Commits
waffles
...
hefty-hype
| Author | SHA1 | Date | |
|---|---|---|---|
| 45c6d8a837 | |||
| 6eb590b1a2 | |||
| 14376cec94 | |||
| 397fb8d8c4 | |||
| aa044b4563 | |||
| ad7a7fe566 | |||
| a15f2a8a39 | |||
| 9b149e6fef | |||
| eb3613d3ed | |||
| 091da11da5 | |||
| a56cee16f1 | |||
| 54a1d172d7 | |||
| c58bb07a6b | |||
| 9c115f7a8f | |||
| b9e05599bc | |||
| ce80951210 | |||
| 6eaa869fac | |||
| 8f9cf67be7 | |||
| 20d1ff065b | |||
| 25fe0ab01e | |||
| c1b37bc467 | |||
| b470bf3fe8 | |||
| d4e777911e | |||
| d4d78a5e62 | |||
| c0706258b1 | |||
| 68c67aced4 | |||
| 215ac747d8 | |||
| 21689e1d51 | |||
| 9eda50178b | |||
| d5f9afe7c0 | |||
| 5c66902900 | |||
| 74e4e698d9 | |||
| 28ba8a4f43 | |||
| 798d35a538 | |||
| 7d5ce9a793 | |||
| c53265754c | |||
| 239b532ec6 | |||
| d1daedc6d2 | |||
| 20d9f80336 | |||
| 4420a6c22d | |||
| 2ade168a20 | |||
| 08201f2ac0 | |||
| bac0b388ad | |||
| ad12fe6ddf | |||
| 9e1568fcdc | |||
| b7b2e6e10d | |||
| 00a4235a81 | |||
| c504cdf22b | |||
| e6d2a7d88c | |||
| b50a4a7faa | |||
| 737eb7c356 | |||
| 5ce6280d98 | |||
| f7773acab4 | |||
| e8721b4b01 | |||
| 4c590874e0 | |||
| b85ed8691a | |||
| ac8d0e9a42 | |||
| 412b2222c2 | |||
| d6b27cf9dd | |||
| c53e9891cb | |||
| 1e442f1af0 | |||
| 20dde15900 | |||
| da47151345 | |||
| ba0e76da1b | |||
| 1c117e0880 | |||
| 7aad60eb2c | |||
| a9f87c06ca | |||
| 281b3e5627 | |||
| 388783e992 | |||
| ae7f6bd165 | |||
| 9279a5a181 | |||
| 403f7aa685 | |||
| 807c761ed0 | |||
| 7dcbabcd8c | |||
| a9dcaf0d4b | |||
| 2e161911bc | |||
| a23d050df5 | |||
| 7aa9e603d5 | |||
| e11d084be8 | |||
| 760c7034aa | |||
| b9f668e106 | |||
| 6c041b953a | |||
| 9f4afde0c5 | |||
| 010f070eef | |||
| f6b97c4649 | |||
| 0da83ba460 | |||
| bebf66da89 | |||
| adb36f435e | |||
| c67c8840e4 | |||
| bfad75c93a | |||
| 74c10b915d | |||
| 0ae900515e | |||
| c3147dc7ff | |||
| fb3ec1fdfc | |||
| 5c69271c10 | |||
| 84cd4582dd | |||
| e7c283e91e | |||
| b9acc518e9 | |||
| f992294ec2 | |||
| c652d2a7f3 | |||
| d1cd892c0f | |||
| 63495d0b28 | |||
| 36a4a19bca | |||
| c693a3f539 | |||
| c0888cbb98 | |||
| 2cfb0c2757 | |||
| b034a712a9 | |||
| aff6206930 | |||
| 0e1f6a97fc | |||
| 7834f22243 | |||
| cec16c8720 | |||
| 54e19afa81 | |||
| ffabb85693 | |||
| 242de398c3 | |||
| fe9eb0e84c | |||
| 47235ac440 | |||
| e79c9a8792 | |||
| 762629d2f1 | |||
| 7596509777 | |||
| e6570bbe75 | |||
| 72d950ed51 | |||
| 4eef9ea18e | |||
| a2c1641090 | |||
| 25de796710 | |||
| 464cddad00 | |||
| 283995ca99 | |||
| 329fa31262 | |||
| 14f8b84635 | |||
| 36e0c3fddc | |||
| d24cbff7ac | |||
| 96bf8dcbf0 | |||
| a9dcab5e41 | |||
| ef9042838e | |||
| a57119005d | |||
| 5467ab7f06 | |||
| fdd3cf5ef8 | |||
| dbcde24003 | |||
| e03cbfec91 | |||
| eae36f4d4f | |||
| 09ff686f18 | |||
| 0040588fd2 | |||
| 94fa3f9c40 | |||
| 4b4e1fd53c | |||
| 5e6db59bfc | |||
| 87939110bf | |||
| 5f9febd4b7 | |||
| 3e0561578c | |||
| fa3bf6f5df | |||
| a5eca98543 | |||
| a8761bc6f2 | |||
| a62e64e2ef | |||
| dd26742d52 | |||
| 493fb9b686 | |||
| 0db4f8bd5d | |||
| 771cc18be5 | |||
| ada4b856f6 | |||
| d44bbcfefc | |||
| 15002949ee | |||
| 74b869c30b | |||
| 6589158f51 | |||
| f3ab1366d8 | |||
| a4d45f04f2 | |||
| d42420f848 | |||
| 9f5be8b0bc | |||
| 747abbde9e | |||
| 0fb7d4dfd8 | |||
| c1c964aa89 | |||
| 099406a276 | |||
| d87fbf5523 | |||
| 2d0ac6e7db | |||
| c582ecf8af | |||
| 6050148835 | |||
| d24e227245 | |||
| cc582fd113 | |||
| fad2a5f8ae | |||
| 1e2a6d23e3 | |||
| c8eb9d2830 | |||
| 35c272c807 | |||
| aea6216a7f | |||
| 77ce65a53c | |||
| e552776670 | |||
| fdcdc7f1a3 | |||
| 799bfae184 | |||
| 0ebe70976f | |||
| 566e100623 | |||
| f88b21e681 | |||
| 64b52f6a90 | |||
| 2674382b5f | |||
| 01e2eb433b | |||
| 2c30b28fb6 | |||
| 7c27da5336 | |||
| ec3b92a938 | |||
| 59398595a5 | |||
| eef2b691e7 | |||
| 347ada664d | |||
| a06764e111 | |||
| d42c9b63be | |||
| dfe9c876d2 | |||
| 4408b5d9d3 | |||
| e356dbb6f9 | |||
| 7948d01d94 | |||
| 8447588c7f | |||
| 56ad8b80b2 | |||
| fe8d9887fa | |||
| 32934200e4 | |||
| bcb815aac5 | |||
| da99437351 | |||
| ba2da84e7b | |||
| b4a57bbbec | |||
| 687beedc4a | |||
| 2243f8e489 | |||
| 6c0c7beaa6 | |||
| 40705b4635 | |||
| 83701e3038 | |||
| 0493c08759 | |||
| 906d7adf3e | |||
| 0c3be42218 | |||
| f6f07d4f65 | |||
| 37c3fface4 | |||
| 3a20c0c2bb | |||
| db10d4a45b | |||
| ce52695746 | |||
| e597928a9e | |||
| e5def85946 | |||
| f5ae1d360f | |||
| 7f64e5c756 | |||
| 013e81f2ac | |||
| 33f2865967 | |||
| 7eae26474f | |||
| f6f0dedcb8 | |||
| 257abdf80a | |||
| f3caad4d90 | |||
| 0b2dfb1910 | |||
| 7a983b049f | |||
| 69c5ac5cb3 | |||
| 55a33fb7d7 | |||
| 72aa169087 | |||
| 7f0fba51a9 | |||
| 842d1323e9 | |||
| 26adce8fc0 | |||
| bdc6026cc2 | |||
| 9f882d9f3c | |||
| 15b4394865 | |||
| 67fbaf1d27 | |||
| 7206d1a19e | |||
| ae9de61b72 | |||
| 2eb5885b56 | |||
| 0a8fb89501 | |||
| b1e2f86360 | |||
| 74329eb294 | |||
| 01562ca544 | |||
| dde0988a45 | |||
| c117d9903a | |||
| 29d40ca90a | |||
| 737ccce538 | |||
| 96f5f82656 | |||
| 35fb3d4da8 | |||
| 17c2762b1d | |||
| 27bd759a41 | |||
| 2ed29f5c46 | |||
| 75594fb5cf | |||
| f86d42d8f2 | |||
| beac11dc18 | |||
| 698692a500 | |||
| b6fc897b39 | |||
| 8f66afe109 | |||
| 72b8b7aecb | |||
| a9721c7cfe | |||
| 774ce228a0 | |||
| abea376e59 | |||
| ef38057830 | |||
| c854d88ee9 | |||
| e1b79693e3 | |||
| bf2fec015c | |||
| 78c6e3c16f | |||
| deadf6cc4f | |||
| ae0412b513 | |||
| f974dea8e5 | |||
| ede3cf8858 | |||
| dfe6eee674 | |||
| 854016e82a | |||
| b4956cc05c | |||
| e06a3be726 | |||
| 3e0f480ce0 | |||
| 065b34ccde | |||
| 41b6c190d2 | |||
| 795f4042b0 | |||
| aff4705d6a | |||
| a7353e5033 | |||
| a43228ab28 | |||
| fc7524a30f | |||
| a28ed6023e | |||
| 973b83bc15 | |||
| 9d065f2c8e | |||
| 4caa59dd9e | |||
| 30583abf36 | |||
| 12d510e9eb | |||
| 8aa9041106 | |||
| 61a2881ac1 | |||
| 96c8a63b21 | |||
| 58a122a3b4 | |||
| 6e76977976 | |||
| 950356e47d | |||
| 8cc6087744 | |||
| d52fbe0b40 | |||
| 15a56bdce3 | |||
| 193d82847a | |||
| 33db15f991 | |||
| 9dcf63b54a | |||
| b61ae3abe7 | |||
| 42f14b92d0 | |||
| 725b0ef5cf | |||
| b1b96904a9 | |||
| 82ed7498c8 | |||
| 1e0ed08909 | |||
| 350f48a74b | |||
| 36f01b78fe | |||
| 3f77086b93 | |||
| 87f61b9331 | |||
| 725c873ab9 | |||
| f02bcdcce7 | |||
| 6b7a12fc9f | |||
| 6878368d71 | |||
| 467f19b40e | |||
| 90c3b642b2 | |||
| 6e433e4a39 | |||
| 05eb696ead | |||
| 0818a6ad9c | |||
| 8ca3ef773a | |||
| e2aa71b59e | |||
| e4ad01c20f | |||
| 522bb5dc0a | |||
| 80752b7812 | |||
| 247da26c7b | |||
| 09d92aff7b | |||
| 3bb9127e32 | |||
| a316f91e86 | |||
| b4c8a63d1a | |||
| 68a51b79ff | |||
| 8d1b9a2ea0 | |||
| ace263cd45 | |||
| 134bf4d986 | |||
| 481e848a65 | |||
| 17c2702d2b | |||
| 84d7928518 | |||
| a81f52fcd7 | |||
| 6eda3c674d | |||
| 54f4709d5f | |||
| 7a46a5c4e5 | |||
| 25dba608ae | |||
| 6eb547bb18 | |||
| cd1a0b3d69 | |||
| 842b09c548 | |||
| f7998dd7c4 | |||
| 43177b9cf3 | |||
| ef86c64933 | |||
| bd767f140f | |||
| 7215d465ea | |||
| 67a19bedaf | |||
| e3dbaf4242 | |||
| 1fe219e215 | |||
| e012eb646c | |||
| 485372ee56 | |||
| b14e0c494c | |||
| 1ad259ff9b | |||
| 2109cf5e09 | |||
| a33122cd3c | |||
| 7a4468258b | |||
| ae0c9f4731 | |||
| 521f3cab6d | |||
| 455252dff1 | |||
| 60ba555de6 | |||
| 485c40406d | |||
| 98a766608d | |||
| 026a660aa7 | |||
| 9e76e89b94 | |||
| da5b8e8912 | |||
| bdf91e1d16 | |||
| 139e64c28e | |||
| 2d94bace7b | |||
| e7368bdc25 | |||
| 09cdad1554 | |||
| 8b84537579 | |||
| ea35ca1582 | |||
| 8fccfef9f1 | |||
| 9e6c1d7c08 | |||
| aaff9d5273 | |||
| 6f633122ed | |||
| 24392e3791 | |||
| 0e049db304 | |||
| 680d8e85c8 | |||
| 6ac1861e1e | |||
| 7f59246c6d | |||
| f3e26d8f22 | |||
| 0a185efcc5 | |||
| 124ea7b245 | |||
| 4fcc12444f | |||
| aefc88755a | |||
| 216a44274e | |||
| fc17e29ebf | |||
| b306d308b7 | |||
| 369fadd74b | |||
| db7caae4b5 | |||
| c4f9b20b23 | |||
| fd86b282a6 | |||
| 0362b21f5a | |||
| fd2d69e407 | |||
| 7a01602c5e | |||
| 17a99ec068 | |||
| 4a9d6a2665 | |||
| be1838e40d | |||
| 7cf704d450 | |||
| 1225c014e8 | |||
| 5ac40d5445 | |||
| 08b7b393cb | |||
| 4eedd030df | |||
| 74ce3378d0 | |||
| a831fa92e8 | |||
| 7e94ee60aa | |||
| 0c69a344d5 | |||
| 9a11a0d8f9 | |||
| 3ca94d1e70 | |||
| a574baacc5 | |||
| bd923a0f88 | |||
| 735fb7895b | |||
| c538505f94 | |||
| 3cac4206f9 | |||
| b3d15cbae1 | |||
| 495e205934 | |||
| ad922ac368 | |||
| 6393092e63 | |||
| fffa2b5749 | |||
| e0f2875141 | |||
| 83dcb349da | |||
| 675e14e338 | |||
| 79fe2651cc | |||
| da7bddf1d1 | |||
| 673e5ffe2e | |||
| 8190c3b976 | |||
| 5ac58bdb3c | |||
| 9bbfef19e2 | |||
| bda3834176 | |||
| 3653715029 | |||
| 0974a6069a | |||
| 5710fbb3d6 | |||
| a66d0f3146 | |||
| fb4b5e83a9 | |||
| a052a01eee | |||
| 97d4f8e438 | |||
| a245b4681d | |||
| 8c34bcf124 | |||
| f554a0512d | |||
| 370574d8ca | |||
| c3b152b318 | |||
| 26c69e5fd3 | |||
| cb5966de0f | |||
| d0e51ffe19 | |||
| 32e8f90b14 | |||
| b59c3f5c30 | |||
| f9bd67699c | |||
| e3eeff8d5d | |||
| 0b0693b1fd | |||
| 227d822655 | |||
| 5e16f2bc10 | |||
| be87a1ae79 | |||
| 1671959186 | |||
| 653dc9c95f | |||
| e2805ef1a1 | |||
| 6111956c4a | |||
| ff1dfedc72 | |||
| 4e162bd8a6 | |||
| 6bd6f30a5e | |||
| 6952d89a7f | |||
| a7f1cddd45 | |||
| d1dc89b9f2 | |||
| 1113b6162c | |||
| d41cda858c | |||
| 38dbc8769b | |||
| 7a9b080616 | |||
| a174ed1a84 | |||
| 245aae965f | |||
| 3d5c43135a | |||
| 96b8af05cc | |||
| 422db1ee91 | |||
| 8e21d8c8e3 | |||
| 3b13d0c938 | |||
| f8840e8389 | |||
| 3a4804653d | |||
| dd0b8a5114 | |||
| 6b08e16222 | |||
| 233a06a4c0 | |||
| 2a714378c9 | |||
| e480477db2 | |||
| 83baff7894 | |||
| 3da23ce176 | |||
| 635d49cad0 | |||
| 9ffe4dfb11 | |||
| b4b422bd9c | |||
| c155bde816 | |||
| 6cd2d31c99 | |||
| 1dcf90ac57 | |||
| 2e0dea28a5 | |||
| 9873a23794 | |||
| 8c66dc7aa7 | |||
| 9cbeded70d | |||
| 01f2ebb246 | |||
| 1f9a8ea37c | |||
| 5cbf5608be | |||
| 0c843c8d03 | |||
| c85e98d6f9 | |||
| 7013893cbd | |||
| 65eeea7ffa | |||
| 5860462082 | |||
| 33bd04200a | |||
| 4fc56f6c78 | |||
| ba4ac764aa | |||
| 65dab672cf | |||
| ea0dd2c9a4 | |||
| 7a74897b47 | |||
| e52d569b9e | |||
| f610332877 | |||
| bbc84b68ef | |||
| 2554fc7d61 | |||
| 28936dd226 | |||
| aa4c18b86a | |||
| dc172862b0 | |||
| 0725edd35d | |||
| 77dd839320 | |||
| 1402a19c98 | |||
| 57b78135a6 | |||
| 0235e56af3 | |||
| 48fec445ad | |||
| 060b8693ef | |||
| a187d013e4 | |||
| 577fab457f | |||
| 35bb2a1ad9 | |||
| 095d637c70 | |||
| 373a9e5670 | |||
| d11ef2adef | |||
| 9a3bb5e59e | |||
| 8bf279e571 | |||
| 6b29e73ab7 | |||
| 2bb001a62b | |||
| 15afa07b14 | |||
| e72d39fecb | |||
| c5e0c2d3dc | |||
| c19e625069 | |||
| aea06d42ab | |||
| 40fb416366 | |||
| ab1b720503 | |||
| b6c2fd3f18 | |||
| bb10002976 | |||
| 368df5b717 | |||
| 3d9f51030c | |||
| 14770e5b75 | |||
| 2e7ea9d9f6 | |||
| 60c197e2f5 | |||
| 47c5ffe5f9 | |||
| 5ab4812a3b | |||
| c063bdfe86 | |||
| cea0acafff | |||
| fb1b674a30 | |||
| 8d52e83a59 | |||
| 7670c135ed | |||
| a7f30838de | |||
| 585a7b0f06 | |||
| 6f5ab232a6 | |||
| 3447198e13 | |||
| 502dffeac7 | |||
| 52f1a7af65 | |||
| 1c295ddaac | |||
| 7ba30cee4a | |||
| 1e7f065add | |||
| f128c48356 | |||
| 44244ed1bf | |||
| e3d89101f1 | |||
| 6fd2bd51ad | |||
| 0435681032 | |||
| 33b4ef42f4 | |||
| 633afb54c9 | |||
| aec849c820 | |||
| be4eb16b60 | |||
| feeb0bba8c | |||
| 92e9aa2976 | |||
| 314b0ab3d0 | |||
| 10491f2362 | |||
| c2f65e79bc | |||
| 6bb0c251a9 | |||
| 09d5817f2e | |||
| e1913d0e95 | |||
| 74c012c930 | |||
| 74368ad25a | |||
| 4718922c55 | |||
| d23d39df04 | |||
| 9e9c6b70b6 | |||
| d8eb55fea9 | |||
| 5f9fe2d250 | |||
| 4a44994168 | |||
| 879111fe01 | |||
| 3a14cc644b | |||
| 2132829184 | |||
| ed8c8ae8d7 | |||
| ead98b98b8 | |||
| 9fbc549da4 | |||
| 4d6f58a914 | |||
| 5bb1aa06af | |||
| 4601605df9 | |||
| 58184f5be8 | |||
| 28e580c2b1 | |||
| 640a147721 | |||
| 145731d8bb | |||
| c1a6034a13 | |||
| 68f0355940 | |||
| 4fbd238a90 | |||
| b3117ce578 | |||
| f8903da663 | |||
| 15ceda494e | |||
| f1a2784777 | |||
| 52ae3b187f | |||
| 622b6ec424 | |||
| 4ff3435446 | |||
| e24de7f935 | |||
| 6215f54c9f | |||
| a55ebc5f48 | |||
| f3f9d183f2 | |||
| 21e3f253d9 | |||
| 1be524ce15 | |||
| aee7240627 | |||
| 901b4cf1ff | |||
| d92a081b57 | |||
| 6bf455a042 | |||
| d3ccde299e | |||
| 18004b5959 | |||
| 1588a20b46 | |||
| 6075835d85 | |||
| 63dd6516f1 | |||
| 1b4c439c3e | |||
| 76ee7b6bb1 | |||
| c30776e811 | |||
| a217d4c5da | |||
| b236690f2a | |||
| 36051b5970 | |||
| f98e3cd3e9 | |||
| 30269dd052 | |||
| 20ec7717a4 | |||
| bbf1066ceb | |||
| 798e4bde27 | |||
| 224bdbd5cb | |||
| 2cb45c3a78 | |||
| 80db68467f | |||
| 8182dbb17b | |||
| ecc8d42265 | |||
| 6afc4b1aa7 | |||
| 1c3c255ab6 | |||
| a5c61d9ab0 | |||
| 887d54bf07 | |||
| 2d0cff9716 | |||
| 47beca14de | |||
| 9611288d79 | |||
| 2af409b1e5 | |||
| 800c75c4d2 | |||
| e0640a8782 | |||
| 1932dcbab8 | |||
| 94490f371b | |||
| 3fbf9a7056 | |||
| b75ae3817c | |||
| 26abbd29e2 | |||
| 09c09ebfcf | |||
| 36658322c4 | |||
| a9a92e0203 | |||
| eecc1201d8 | |||
| 0f24287a39 | |||
| 07446b5399 | |||
| 803500c4b0 | |||
| d8018e97fe | |||
| 6675fb8abb | |||
| cf2e944742 | |||
| e9b80dbbf4 | |||
| b7b94b4a4e | |||
| 1a9d78fb48 | |||
| 97d22378ff | |||
| 809dac681f | |||
| 46911074f9 | |||
| 528102ba4a | |||
| 819fa81fc6 | |||
| 755a9b15a5 | |||
| f05358ed28 | |||
| 922c85795f | |||
| 5b27dfa747 | |||
| 57b5e34f27 | |||
| 3b86fe7de7 | |||
| 360f1258f3 | |||
| fb13cc1a21 | |||
| d1988bef02 | |||
| 7872fba6fe | |||
| 672e756fbf | |||
| 60fd1ea030 | |||
| bf06497f9e | |||
| 22970db52f | |||
| 14c930d48c | |||
| 7197f9ddfb | |||
| 58e372c590 | |||
| 8538efe743 | |||
| b268f1d61c | |||
| 711793dd66 | |||
| dc57f940d0 | |||
| da578735e6 | |||
| 31e821250f | |||
| ce6d5969e0 | |||
| d5b599da3d | |||
| c9d0248a6a | |||
| 7238b2b15c | |||
| 5a687c3565 | |||
| 171cf6059f | |||
| e818a202b8 | |||
| 199845bf59 | |||
| 575b26d572 | |||
| af1adef5f1 | |||
| c5c8ad2236 | |||
| 8cb2c7e016 | |||
| d30c8138df | |||
| 0027e8a6e3 | |||
| 652104a358 | |||
| e9d6ed874c | |||
| aaa8448011 | |||
| f02e9ba2a5 | |||
| a05b0bb559 | |||
| 60c1a92cf5 | |||
| 91f6f95460 | |||
| 2434b36098 | |||
| a849fe0883 | |||
| 8ae14725e6 | |||
| e8a05d12e9 | |||
| 76fbe3d04a | |||
| 7763a26e03 | |||
| 281943306e | |||
| 61feb958ec | |||
| 953427692f | |||
| b21699b8a0 | |||
| d13bcddb33 | |||
| b820bdc654 | |||
| d178dafac6 | |||
| d22822e734 | |||
| 5c141e0361 | |||
| e1f30bf85c | |||
| c5aaf721c8 | |||
| 13a827c0f4 | |||
| 64e726d4c5 | |||
| 392ef6b74f | |||
| db60f8775d | |||
| 5a48a22e71 | |||
| 1e2a972747 | |||
| a34ead004f | |||
| a658aced0d | |||
| 6ad8717a47 | |||
| 76ca889eec | |||
| ec7d6fd66b | |||
| cfb8b44d7a | |||
| c580b050e4 | |||
| d7ae6014ed | |||
| 29c8001785 | |||
| 896aa97701 | |||
| 8d7dd0d6ae | |||
| 41f007a771 | |||
| 4041310b4d | |||
| d5dbf7ab7f | |||
| 8842df6340 | |||
| 169b24bea5 | |||
| e499f4f8f1 | |||
| ae8be40c2d | |||
| 3eec36d20d | |||
| ed6a0204b4 | |||
| b01e0c315a | |||
| a38c725d3d | |||
| 17a3874ab1 | |||
| 34991dd32e | |||
| 28d3f6a94a | |||
| 252a1055c2 | |||
| 4ac6784844 | |||
| ea8f0fbc2d | |||
| 61f0f0dc97 | |||
| dd00908026 | |||
| 4b1e02dda6 | |||
| 0cff92d02c | |||
| 125e57c98f | |||
| 2b9e5b1a6f | |||
| f65f805fe2 | |||
| 409fc94d6e | |||
| 36ff18bfe3 | |||
| 60b2225cc6 | |||
| 70363ab886 | |||
| 663eb1896a | |||
| b73cdf0379 | |||
| c92832ff95 | |||
| 607d6056c1 | |||
| 2ef8342187 | |||
| 0e3b3eceb6 | |||
| f1fdb941e1 | |||
| f91ca59fb6 | |||
| 5f51b97b6d | |||
| c02daf5c12 | |||
| e1601b972f | |||
| 8d0d71812a | |||
| e206c4334c | |||
| 3358ebe639 | |||
| abd657ed76 | |||
| 04211411af | |||
| 536c1ab465 | |||
| 29c4a6a15f | |||
| 93bc4d935c | |||
| f0926b6ce3 | |||
| d54ad65b50 | |||
| 91a2a520b0 | |||
| 136f4a3e48 | |||
| f71ed855e5 | |||
| 39a3a0c484 | |||
| 2ead5fa4ab | |||
| d83733bd86 | |||
| 1ea3153886 | |||
| eaae89c904 | |||
| 044221be93 | |||
| e874a6a3e0 | |||
| 70c0adb8e5 | |||
| 3ae0973df5 | |||
| b966e2d539 | |||
| 6da58f5235 | |||
| bcd7fb1c1b | |||
| 80f4a0549c | |||
| 1a3cc9b4d3 | |||
| 0cc521aef5 | |||
| d9b1d0261d | |||
| fdbe39d744 | |||
| 3cb61c4267 | |||
| bb65137415 | |||
| 95c6fcab01 | |||
| fce229cdc3 | |||
| bfe97c1c05 | |||
| 8b8ac44852 | |||
| 34b5892374 | |||
| 0645200807 | |||
| 1c8339df10 | |||
| 8b1f0fc1d4 | |||
| 6c460b209c | |||
| 13968db31c | |||
| 80a7804ade | |||
| ddf1bc6a08 | |||
| fa47c6778c | |||
| 255006172f | |||
| 52d6e8a5d1 | |||
| ead056c207 | |||
| 9a0e4181a5 | |||
| ed89ad882f | |||
| 3b4c721584 | |||
| 7a2e21ac7c | |||
| 9043ae7bf6 | |||
| 758c84feaf | |||
| 1efd2dfa19 | |||
| 1193b7a802 | |||
| f62ab85a19 | |||
| 15481c646a | |||
| 8e704e4009 | |||
| e9b5e7d7d2 | |||
| 8cfb3be4cd | |||
| 85892940b5 | |||
| 7d9a405146 | |||
| 8203115a24 | |||
| 895faae39f | |||
| 71c1fbe1dd | |||
| 4055ad48fa | |||
| 05aae36e82 | |||
| 20d60a11f7 | |||
| b0c396aa21 | |||
| ed9e510c32 | |||
| d3c1ae14b8 | |||
| ffd01741d9 | |||
| 8a9f105e75 | |||
| dd07a62dc0 | |||
| c093265b05 | |||
| 1dd959fad4 | |||
| 4cfb706b6f | |||
| 90f9467871 | |||
| cce06cc2f0 | |||
| 1d40360cf2 | |||
| f08bbc0d67 | |||
| 4ce4645749 | |||
| 4cad401ea6 | |||
| 8d2c8bd38e | |||
| 61b5cf8cb6 | |||
| 9c48fd32ef | |||
| c352ebc2fc | |||
| b45f2dd235 | |||
| 4442200479 | |||
| f5fea85334 | |||
| 8892982874 | |||
| 677fa06b06 | |||
| c11814b1f8 | |||
| 3cf14671ad | |||
| d2c019f8de | |||
| 6b90e37b0f | |||
| 21f2a9c65d | |||
| fd209851d9 | |||
| 533b9c01f5 | |||
| b4038dafa9 | |||
| 04f73e67c8 | |||
| 2503c1f14b | |||
| b214993c16 | |||
| 2a1aaa9b7e | |||
| 2fd25af353 | |||
| b7ad7361d6 | |||
| 9cb5cc1416 | |||
| 0700e024d9 | |||
| d40df98aa5 | |||
| d27fbede2a | |||
| a786f0353e | |||
| 9ba8723a5d | |||
| e4b5718833 | |||
| b4920a7cb6 | |||
| 08739043f6 | |||
| 55152aee4b | |||
| 9053927480 | |||
| 616c1dfe3a | |||
| 5242373db5 | |||
| 1836a2ff1c | |||
| cecb476ed3 | |||
| e6f36114bd | |||
| 449d6fc285 | |||
| 0703429393 | |||
| 0adefcc0d3 | |||
| 996579729d | |||
| 25816662f8 | |||
| 19ba7dac48 | |||
| 07f8a72d6d | |||
| e46c7c0d3d | |||
| c78c363388 | |||
| 12ebcf2d19 | |||
| 52f67431c7 | |||
| f9755694f7 | |||
| a72d5f98af | |||
| fae2309f62 | |||
| a17a909fd9 | |||
| 3087e5da92 | |||
| 6e986fa8b0 | |||
| adfc7a15e8 | |||
| 0f11296ee1 | |||
| 9a113c24ca | |||
| 55961ae079 | |||
| 7613bba393 | |||
| 52af531c9f | |||
| 92beee6c16 | |||
| be5b03dfdc | |||
| 67c7fd09dd | |||
| f0a042246c | |||
| 9cf66f4d83 | |||
| 8943d568f5 | |||
| 4d79cc6764 | |||
| 0b3cc187cb | |||
| e2230a0a35 | |||
| 4b0cb15762 | |||
| da233086c2 | |||
| 65ef0ca666 | |||
| 6376521d14 | |||
| 7b2cfb11f6 | |||
| 6cb1b738c6 | |||
| 4878f7dbb1 | |||
| b350d87ce2 | |||
| 3507aee627 | |||
| 9466013124 | |||
| b869336738 | |||
| 4fc85a926f | |||
| 31998a6c32 | |||
| cd7bf9c1c2 | |||
| 68c159f210 | |||
| 30c845d226 | |||
| d69559e8f6 | |||
| 0c8391534a | |||
| e0584bf50e | |||
| 79762e4193 | |||
| fbfb81c83b | |||
| 35a1f7906a | |||
| a10b8b50d4 | |||
| 53399549fc | |||
| 8660d68420 | |||
| e8326b96d7 | |||
| b93213ddb6 | |||
| 9885dd7a1e | |||
| 7016b59933 | |||
| 527cb9e9b0 | |||
| 23fcd183bf | |||
| 9001cae848 | |||
| 6e5ba69430 | |||
| 5c8d824749 | |||
| 2fbfbb80ef | |||
| bca177eed2 | |||
| b052df4d72 | |||
| 255232135b | |||
| 03890d0099 | |||
| bfc07aa4e4 | |||
| 1a844e512b | |||
| 148384200c | |||
| 64c1b5be0b | |||
| 488b3c06d6 | |||
| 4cbb0f23c6 | |||
| b650120fd4 | |||
| f7cb85632e | |||
| f3bfe8a374 | |||
| dfe11810fc | |||
| aeb106ed21 | |||
| c0de7f1d37 | |||
| 625b4da3b7 | |||
| e6e86b4258 | |||
| f21e282780 | |||
| ae28d0bd6d | |||
| d8921a6608 | |||
| 0ec4b3f54a | |||
| b79fb33134 | |||
| 99171c9512 | |||
| 189530507f | |||
| 781404749e | |||
| 9fd83a2812 | |||
| e830dc93cc | |||
| 268b072a16 | |||
| fcee7ce6f9 | |||
| 9228165428 | |||
| 8f6e2bc7fb | |||
| c7bd1019e7 | |||
| 0e3cf4c908 | |||
| e8bae0e529 | |||
| 2d65af70ad | |||
| 71e0538cf5 | |||
| 28bf94904f | |||
| 986461f590 | |||
| 869f9529f6 | |||
| 83b54f5fc4 | |||
| d2692cc95e | |||
| 11dd8c9efb | |||
| ec76180f4c | |||
| 2ce060484a | |||
| 9adf310738 | |||
| a23ee83aad | |||
| 5aa384e906 | |||
| 8574dbcb02 | |||
| f33bc7663e | |||
| 1271f147ed | |||
| 5b69995945 | |||
| c71a2498d0 | |||
| 803f2ecb42 | |||
| be1ce37014 | |||
| 2a34831f87 | |||
| 5c746f34b7 | |||
| 3dfd043645 | |||
| d15960d930 | |||
| 885a9eb0b3 | |||
| 4abfcd0162 | |||
| 68a9c8729f | |||
| 4e07aa52ba | |||
| 7ff3a212ab | |||
| fdc38d69f7 | |||
| 6ee7212bdc | |||
| 839718cc2b | |||
| bbe0329df4 | |||
| 5d6d9234ac | |||
| d990d68472 | |||
| 24df9ce2e4 | |||
| 4393c05e46 | |||
| 6d221f558b | |||
| f3ad9f27f6 | |||
| d0de047db0 | |||
| 4e86ec9fe9 | |||
| 6f7b501430 | |||
| bd1c9bfb2a | |||
| 443f86d347 | |||
| 6dd0387833 | |||
| b6dfbf6c97 | |||
| 47cd7be87e | |||
| 3c25d18f88 | |||
| cc519e9f60 | |||
| aa85e2168e | |||
| bd284a5ef4 | |||
| 541c701d5a | |||
| 179815b73c | |||
| 11064d04f0 | |||
| 767d2beb6c | |||
| c19dd725b8 | |||
| 42f29d47b4 | |||
| 2ccdf3b751 | |||
| 02afa37da1 | |||
| 4ea48d60f8 | |||
| c16cff52b8 | |||
| 5bec659486 | |||
| 8404817e51 | |||
| eb8f1379f2 | |||
| a3cb292fe9 | |||
| f8ffe5e63f | |||
| a5b941360c | |||
| c8c4642c61 | |||
| 237fa85f0f | |||
| f46835c9a1 | |||
| 67b02627ae | |||
| 98ef819fee | |||
| 42147b2117 | |||
| 61a9d406f2 | |||
| 4b8f294a91 | |||
| 9e3e14ca83 | |||
| bf225d6de2 | |||
| 2e5be90237 | |||
| c369db75eb | |||
| 347cbd9803 | |||
| b5ccddf34d | |||
| f0643c9c5c | |||
| 63c3433b6f | |||
| f8af8093f7 | |||
| 45a78c383b | |||
| 499b0628ea | |||
| 18c264a85e | |||
| 323b0bc257 | |||
| 1495669a60 | |||
| b97c2d1d4d | |||
| a135b09ec7 | |||
| 666cf09d5f | |||
| 6c7ac470bd | |||
| 7049dda7de | |||
| 3e55442654 | |||
| 21c5111961 | |||
| 2362c2ab3f | |||
| bda5422ccc | |||
| 86aab5b1fd | |||
| 6f61782c8f | |||
| 6f19e1cdd6 | |||
| c64f3a0122 | |||
| 37c1d9cf61 | |||
| 5ad3508d3e | |||
| 6194ef912b | |||
| e07ddaa0b3 | |||
| 2ea3904b56 | |||
| 8d1fe864ad | |||
| 3e4674d651 | |||
| 5c92ad64f9 | |||
| b828a1dbf0 | |||
| cfdbb873aa | |||
| 4cc4ad749b | |||
| 3c390d95be | |||
| 0917ee65f2 | |||
| 6889185c3e | |||
| 1844d12bc5 | |||
| 55b5d7145d | |||
| 480ef19b01 | |||
| 31c9fe1f5a | |||
| 5696a4348e | |||
| 9997fdce0c | |||
| 318d80de38 | |||
| ca261d931d | |||
| 56c07a514f | |||
| 9162c24ccd | |||
| 155a11734f | |||
| 7c590bd5d8 | |||
| a250675b5c | |||
| 3f8c62a81b | |||
| f2cd533ae9 | |||
| efcb826f5c | |||
| 1ad99b43a0 | |||
| 2dfbb84b23 | |||
| de7d504160 | |||
| 8225a3981a | |||
| c91191f89b | |||
| ac55a66dd4 | |||
| febe3d53e3 | |||
| 60ef4a873d | |||
| 462ddefb7f | |||
| dc958436d8 | |||
| e00e703af2 | |||
| 6fedb70f69 | |||
| 378af7ac2a | |||
| a065829eee | |||
| f1479626f3 | |||
| 60eed56ea7 | |||
| 11fa846ae1 | |||
| 3502e46d19 | |||
| eccfec4671 | |||
| 819735169b | |||
| ee94828d97 | |||
| 935a8ee411 | |||
| 8a5852f61a | |||
| 9c1c97a7ec | |||
| 77e6264568 | |||
| 631d496001 | |||
| 5820106e31 | |||
| cd452c256e | |||
| c035427e6a | |||
| d8bcf2ed59 | |||
| eafe9f7217 | |||
| 96e4ca1095 | |||
| fa6a4e8543 | |||
| a2ae9497df | |||
| 225e03b0a3 | |||
| 4c5bc19748 | |||
| 9209ca8216 | |||
| 424510065d | |||
| c7c38bf0b1 | |||
| 8b5a783c1f | |||
| 3f1b5bba95 | |||
| 9cf2aa83a1 | |||
| 6fa417a4c1 | |||
| 6b0572975f | |||
| 549a43ac7f | |||
| 5504bd3f09 | |||
| fb1b5db279 |
@@ -2,22 +2,33 @@
|
|||||||
|
|
||||||
- Please, please, please, make multiple PRs if you have many features/fixes, and don't shove your personal changes along with the PR, including changed defaults
|
- Please, please, please, make multiple PRs if you have many features/fixes, and don't shove your personal changes along with the PR, including changed defaults
|
||||||
- We can accept features that we do not personally want, but in that case we will ask you to make it configurable/optionally loaded.
|
- We can accept features that we do not personally want, but in that case we will ask you to make it configurable/optionally loaded.
|
||||||
- If you want to start working on something big to contribute, it might be a good idea to ask first to not waste your effort (but if you've already done it for yourself, it doesn't hurt to submit).
|
- If you want to start working on something _big_ to contribute, it might be a good idea to ask first to not waste your effort (but if you've already done it for yourself, it doesn't hurt to submit).
|
||||||
|
|
||||||
# Code details
|
# Translations
|
||||||
|
|
||||||
## Contributing to i18n
|
See `dots/.config/quickshell/ii/translations/tools`
|
||||||
|
|
||||||
For contributing in translation (i18n) for Quickshell, see also `dots/.config/quickshell/ii/translations/tools`.
|
# Code
|
||||||
|
|
||||||
## Dynamic loading
|
## Dynamic loading
|
||||||
|
|
||||||
- If something's not always necessary, especially when guarded by a config option to enable/disable, put it in a `Loader`. One tip with `Loader`s is sometimes you will need to declare positioning properties (like `anchors`) in the `Loader`, not the `sourceComponent`.
|
- If something's not always necessary, especially when guarded by a config option to enable/disable, put it in a `Loader`
|
||||||
|
- Note that you will need to declare positioning properties (like `anchors`) in the `Loader`, not the `sourceComponent`
|
||||||
|
- When something that's to be dynamically loaded doesn't affect its parent layout, you can have a fading animation by using FadeLoader and set the `shown` prop instead of `active` and `visible`
|
||||||
|
|
||||||
## Practical concerns
|
## Practical concerns
|
||||||
|
|
||||||
- Make sure what you add does not require significant resources for a minor purpose or harm usability just for the sake of looking nice. The dotfiles must remain practical for daily driving.
|
- Make sure what you add does not require significant resources for a minor purpose or harm usability just for the sake of looking nice. The dotfiles must remain practical for daily driving.
|
||||||
- If there is something really fancy and impractical anyway, add a config option for it and make sure it's disabled by default.
|
- If there is something really fancy and impractical anyway, add a config option for it and make sure it's disabled by default (example: constantly rotating background clock)
|
||||||
|
|
||||||
|
## Style
|
||||||
|
|
||||||
|
- Spaces
|
||||||
|
- Space properties and children data into meaningful groups. (but of course, don't use 2+ blanks in a row)
|
||||||
|
- Put spaces between text and operators: `if (condition) { ... } else { ... }` instead of `if(condition){ ... }else{ ... }`
|
||||||
|
- As you can see, it's pretty easy to use lots of nesting. There's no hard limit, end-4 himself nests a lot too, but avoid/mitigate that:
|
||||||
|
- Prefer early return: Use something like `if (!condition) return; doStuff();` instead of `if (condition) { doStuff() }`
|
||||||
|
- If you feel it's a bother to refractor something into a new file, remember there's `component` to declare reusable components in the same file.
|
||||||
|
|
||||||
# Setting up
|
# Setting up
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ labels: ["ISSUE"]
|
|||||||
body:
|
body:
|
||||||
- type: markdown
|
- type: markdown
|
||||||
attributes:
|
attributes:
|
||||||
value: "**Welcome to submit a new issue!**\n- Please search in [existing issues](https://github.com/end-4/dots-hyprland/issues?q=is%3Aissue) before continue.\n- It takes only 3 steps, so please be patient :)\n- NOTE 1: If your issue is not a feature request, and it does not fit into the following form, for example \"how can I edit some widget\", please use [Discussions](https://github.com/end-4/dots-hyprland/discussions) instead.\n- NOTE 2: If your problem is distro specific and you do not use Arch(-based) distros, plesae submit [Discussion at Extra Distros](https://github.com/end-4/dots-hyprland/discussions/new?category=extra-distros) instead."
|
value: "**Welcome to submit a new issue!**\n- Please search in [existing issues](https://github.com/end-4/dots-hyprland/issues?q=is%3Aissue) before continue.\n- It takes only 3 steps, so please be patient :)\n- NOTE 1: If your issue is not a feature request, and it does not fit into the following form, for example \"how can I edit some widget\", please use [Discussions](https://github.com/end-4/dots-hyprland/discussions) instead.\n- NOTE 2: If your problem is distro specific and you do not use Arch(-based) distros, please submit [Discussion at Extra Distros](https://github.com/end-4/dots-hyprland/discussions/new?category=extra-distros) instead."
|
||||||
- type: checkboxes
|
- type: checkboxes
|
||||||
attributes:
|
attributes:
|
||||||
label: "Step 1. Before you submit"
|
label: "Step 1. Before you submit"
|
||||||
|
|||||||
@@ -17,26 +17,39 @@
|
|||||||
<h3></h3>
|
<h3></h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<details>
|
> [!WARNING]
|
||||||
|
> Hyprland 0.55 update:
|
||||||
|
> If your distro has not shipped Hyprland 0.55 and/or you're not ready for it, you should switch to the Pre-Hyprland Luaification release (or not update yet, if you're going to do that). See the wiki for more info: [Install](https://ii.clsty.link/en/ii-qs/01setup/#automated-installation) | [Update](https://ii.clsty.link/en/ii-qs/01setup/#updating)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>What this is/isn't</summary>
|
||||||
|
|
||||||
|
- Technically, configuration files
|
||||||
|
- Realistically, mostly the custom graphical shell
|
||||||
|
- NOT a system setup script: no graphic drivers, no zram setup, etc.
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
|
<details>
|
||||||
<summary>Notable features</summary>
|
<summary>Notable features</summary>
|
||||||
|
|
||||||
- **Overview**: Shows open apps with live previews. Type to search/calculate/run
|
- **Overview**: Shows open apps with live previews
|
||||||
- **AI**: Gemini API and Ollama models
|
- **AI**: Gemini, Ollama, and more
|
||||||
- **Autogenerated colors**: Accessible and beautiful Material colors based on wallpaper
|
- **QoL**: screen translation, anti-flashbang, Google Lens
|
||||||
|
- **Material themes**: Choose your wallpaper, done, enjoy
|
||||||
- **Transparent installation**: Every command is shown before it's run
|
- **Transparent installation**: Every command is shown before it's run
|
||||||
</details>
|
</details>
|
||||||
<details>
|
|
||||||
<summary>Installation (illogical-impulse Quickshell)</summary>
|
|
||||||
|
|
||||||
- _If you're new to Linux and decide to use Hyprland, you're in for a tough ride._
|
<details>
|
||||||
|
<summary>Installation</summary>
|
||||||
|
|
||||||
|
- **IMPORTANT: Hyprland 0.55 Update**: If your distro has not shipped Hyprland 0.55 and/or you're not ready for it, you should switch to the Pre-Hyprland Luaification release. See [the wiki](https://ii.clsty.link/en/ii-qs/01setup/) for more info
|
||||||
- Just run `bash <(curl -s https://ii.clsty.link/get)`
|
- Just run `bash <(curl -s https://ii.clsty.link/get)`
|
||||||
- Or, clone this repo and run `./setup install`
|
- Or, clone this repo and run `./setup install`
|
||||||
- See [document](https://ii.clsty.link/en/ii-qs/01setup/) for details.
|
- See [the wiki](https://ii.clsty.link/en/ii-qs/01setup/) for more details
|
||||||
- **Default keybinds**: Should be somewhat familiar to Windows or GNOME users. Important ones:
|
- **Keybinds**: Should be somewhat familiar to Windows or GNOME users. Important ones:
|
||||||
- `Super`+`/` = keybind list
|
- `Super`+`/` = keybind list
|
||||||
- `Super`+`Enter` = terminal
|
- `Super`+`Enter` = terminal
|
||||||
- If for whatever reason the keybind list widget does not work, here's an image:
|
|
||||||
<img width="1412" height="828" alt="image" src="https://github.com/user-attachments/assets/8f7bd216-9e03-47e3-8709-0008772a4133" />
|
|
||||||
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
@@ -44,19 +57,17 @@
|
|||||||
<details>
|
<details>
|
||||||
<summary>Software overview</summary>
|
<summary>Software overview</summary>
|
||||||
|
|
||||||
|
|
||||||
| Software | Purpose |
|
| Software | Purpose |
|
||||||
| ------------- | ------------- |
|
| ------------- | ------------- |
|
||||||
| [Hyprland](https://github.com/hyprwm/hyprland) | The compositor (manages and renders windows) |
|
| [Hyprland](https://github.com/hyprwm/hyprland) | The compositor (manages and renders windows) |
|
||||||
| [Quickshell](https://quickshell.outfoxxed.me/) | A QtQuick-based widget system, used for the status bar, sidebars, etc. |
|
| [Quickshell](https://quickshell.outfoxxed.me/) | A QtQuick-based widget system, used for the status bar, sidebars, etc. |
|
||||||
|
| Others | See [deps-info.md](https://github.com/end-4/dots-hyprland/blob/main/sdata/deps-info.md) |
|
||||||
|
|
||||||
- For the full list of dependencies, see the [sdata/dist-arch folder](https://github.com/end-4/dots-hyprland/tree/main/sdata/dist-arch)
|
|
||||||
- THERE IS NO WAYBAR STOP FUCKING CALLING EVERY BAR WAYBAR
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Discord</summary>
|
<summary>Discord</summary>
|
||||||
<a href="https://discord.gg/GtdRBXgMwq"> Server link </a> | I hope this provides a friendlier environment for support without needing me to personally accept every friend request/DM. For real issues, prefer GitHub
|
<a href="https://discord.gg/GtdRBXgMwq"> Server link</a> | I hope this provides a friendlier environment for support without needing me to personally accept every friend request/DM. For real issues, prefer GitHub
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
@@ -69,21 +80,15 @@
|
|||||||
<img src="assets/illogical-impulse.svg" alt="illogical-impulse logo" style="float:left; width:400;">
|
<img src="assets/illogical-impulse.svg" alt="illogical-impulse logo" style="float:left; width:400;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
### illogical-impulse<sup>Quickshell</sup>
|
|
||||||
|
|
||||||
This is the latest and only supported style. Other stuff are still there mostly for viewing pleasure and not actual use, but code is still available, see below.
|
|
||||||
|
|
||||||
Widget system: Quickshell | Support: Yes
|
Widget system: Quickshell | Support: Yes
|
||||||
|
|
||||||
[Showcase video](https://www.youtube.com/watch?v=RPwovTInagE)
|
[Showcase video](https://www.youtube.com/watch?v=RPwovTInagE)
|
||||||
|
|
||||||
| AI, settings app | Some widgets |
|
| AI, settings app | Some widgets |
|
||||||
|:---|:---------------|
|
|:---|:---------------|
|
||||||
| <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/ea0154a1-e984-4bb6-a424-23247cefe3c6" /> | <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/6eba0d57-2606-4cea-8993-e6f169e82e70" /> |
|
| <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/5d4e7d07-d0b4-4406-a4c9-ed7ba90e3fe4" /> | <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/6a32395f-9437-4192-8faf-2951a9e84cbe" /> |
|
||||||
| Window management | Weeb power |
|
| Window management | wow look its orange |
|
||||||
| <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/e77a7c96-1905-4126-a2a0-434f818825a2" /> | <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/c8544e99-8881-477f-b83a-d6e35c0184a1" /> |
|
| <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/c51bed8b-3670-4d4c-9074-873be224fb8e" /> | <img width="1920" height="1080" alt="image" src="https://github.com/user-attachments/assets/98703a66-0743-439f-a721-cef7afa6ab95" /> |
|
||||||
|
|
||||||
### Other styles: Available at the end of the readme.
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<h2>• thank you •</h2>
|
<h2>• thank you •</h2>
|
||||||
@@ -102,34 +107,24 @@ Widget system: Quickshell | Support: Yes
|
|||||||
<h3></h3>
|
<h3></h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
- If you would like to give me some milk😳 (i dont drink coffee): https://github.com/sponsors/end-4
|
- I promise not to attempt an +ULTRARICOSHOT irl... Coins can go here: https://github.com/sponsors/end-4
|
||||||
- Virtual tentacle cat website points chart
|
- Tentacle cat hub twinkle internet points
|
||||||
|
|
||||||
[](https://starchart.cc/end-4/dots-hyprland)
|
[](https://starchart.cc/end-4/dots-hyprland)
|
||||||
|
|
||||||
|
|
||||||
<div align="center">
|
|
||||||
<h2>• inspirations/copying •</h2>
|
|
||||||
<h3></h3>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
- Inspiration: osu!lazer, Windows 11, Material Design 3, AvdanOS (concept)
|
|
||||||
- Copying: The license allows you to. Personally I have absolutely no problem with others redistributing/recreating my work. There's no "stealing" (maybe unless you loudly do weird stuff and violate the license) <sub>(some people actually had to ask smh)</sub>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<h2>• old, UNSUPPORTED stuff •</h2>
|
<h2>• previous styles •</h2>
|
||||||
<h3></h3>
|
<h3></h3>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
- Source for illogical-impulse AGS available in the `ii-ags` branch, others in the `archive` branch.
|
- **Unsupported!**
|
||||||
- The list goes from newest to the oldest, and the code quality is worse the older a style is
|
- **Source**: illogical-impulse AGS in `ii-ags` branch, others in `archive` branch.
|
||||||
- No bug fix or official support will be provided.
|
- List is in reverse chronological order
|
||||||
|
|
||||||
### illogical-impulse<sup>AGS</sup>
|
### illogical-impulse (AGS)
|
||||||
|
|
||||||
Widget system: AGS | Support: No
|
Widget system: AGS | Support: No
|
||||||
|
|
||||||
@@ -141,33 +136,43 @@ Widget system: AGS | Support: No
|
|||||||
|
|
||||||
#### m3ww
|
#### m3ww
|
||||||
|
|
||||||
Widget system: EWW | Support: No, dead
|
Widget system: EWW | Support: No
|
||||||
|
|
||||||
<a href="https://streamable.com/85ch8x">
|
<a href="https://streamable.com/85ch8x">
|
||||||
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/09533e64-b6d7-47eb-a840-ee90c6776adf" alt="Material Eww!">
|
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/09533e64-b6d7-47eb-a840-ee90c6776adf" alt="Material Eww!">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
#### NovelKnock
|
#### NovelKnock
|
||||||
|
|
||||||
Widget system: EWW | Support: No
|
Widget system: EWW | Support: No
|
||||||
|
|
||||||
<a href="https://streamable.com/7vo61k">
|
<a href="https://streamable.com/7vo61k">
|
||||||
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/42903d03-bf6f-49d4-be7f-dd77e6cb389d" alt="Desktop Preview">
|
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/42903d03-bf6f-49d4-be7f-dd77e6cb389d" alt="Desktop Preview">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
#### Hybrid
|
#### Hybrid
|
||||||
|
|
||||||
Widget system: EWW | Support: No
|
Widget system: EWW | Support: No
|
||||||
|
|
||||||
<a href="https://streamable.com/4oogot">
|
<a href="https://streamable.com/4oogot">
|
||||||
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/190deb1e-f6f5-46ce-8cf0-9b39944c079d" alt="click the circles!">
|
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/190deb1e-f6f5-46ce-8cf0-9b39944c079d" alt="click the circles!">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
#### Windoes
|
#### Windoes
|
||||||
|
|
||||||
Widget system: EWW | Support: No
|
Widget system: EWW | Support: No
|
||||||
|
|
||||||
<a href="https://streamable.com/5qx614">
|
<a href="https://streamable.com/5qx614">
|
||||||
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/b15317b1-f295-49f5-b90c-fb6328b8d886" alt="Desktop Preview">
|
<img src="https://github.com/end-4/dots-hyprland/assets/97237370/b15317b1-f295-49f5-b90c-fb6328b8d886" alt="Desktop Preview">
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<h2>• inspirations/copying •</h2>
|
||||||
|
<h3></h3>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
- Inspiration: osu!lazer (Hybrid), Windows 11 (Windoes), AvdanOS (NovelKnock), Material Design 3 (m3ww & later)
|
||||||
|
- Copying: Absolutely, feel free. Just follow the license and it's all good
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
comment_on_discussion:
|
comment_on_discussion:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
if: github.ref == 'refs/heads/main' && github.repository == 'end-4/dots-hyprland'
|
||||||
steps:
|
steps:
|
||||||
- name: Create comment on discussion #2140
|
- name: Create comment on discussion #2140
|
||||||
env:
|
env:
|
||||||
|
|||||||
@@ -0,0 +1,30 @@
|
|||||||
|
name: AI Moderator
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [opened]
|
||||||
|
issue_comment:
|
||||||
|
types: [created]
|
||||||
|
pull_request_review_comment:
|
||||||
|
types: [created]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
spam-detection:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
models: read
|
||||||
|
contents: read
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: github/ai-moderator@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
spam-label: 'spam'
|
||||||
|
ai-label: 'ai-generated'
|
||||||
|
minimize-detected-comments: true
|
||||||
|
# Built-in prompt configuration (all enabled by default)
|
||||||
|
enable-spam-detection: true
|
||||||
|
enable-link-spam-detection: true
|
||||||
|
enable-ai-detection: true
|
||||||
|
# custom-prompt-path: '.github/prompts/my-custom.prompt.yml' # Optional
|
||||||
@@ -1,8 +1,17 @@
|
|||||||
/diagnose.result
|
/diagnose.result
|
||||||
/cache
|
/cache
|
||||||
|
|
||||||
# Ignore Python cache files
|
# Ignore Python cache files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.py[cod]
|
*.py[cod]
|
||||||
dots/.config/quickshell/ii/.qmlls.ini
|
|
||||||
.update-lock
|
/dots/.config/quickshell/ii/.qmlls.ini
|
||||||
|
|
||||||
|
# exp-update
|
||||||
|
/.update-lock
|
||||||
|
|
||||||
|
# custom os-release
|
||||||
/os-release
|
/os-release
|
||||||
|
|
||||||
|
# Emacs auto backup file
|
||||||
|
*~
|
||||||
|
|||||||
@@ -36,40 +36,42 @@ _exec() {
|
|||||||
"$@"
|
"$@"
|
||||||
err=$?;if [ ! $err -eq 0 ];then echo "[---EXIT $err---]";else echo "[---SUCCESS---]";fi
|
err=$?;if [ ! $err -eq 0 ];then echo "[---EXIT $err---]";else echo "[---SUCCESS---]";fi
|
||||||
}
|
}
|
||||||
ii_check_distro_id() {
|
_check_distro_id() {
|
||||||
OS_RELEASE_FILE=/etc/os-release
|
OS_RELEASE_FILE=/etc/os-release
|
||||||
if [[ -f "$OS_RELEASE_FILE" ]]; then
|
if [[ -f "$OS_RELEASE_FILE" ]]; then
|
||||||
OS_DISTRO_ID=$(awk -F'=' '/^ID=/ { gsub("\"","",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
|
OS_DISTRO_ID=$(awk -F'=' '/^ID=/ { gsub(/["\x27]/,"",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
|
||||||
OS_DISTRO_ID_LIKE=$(awk -F'=' '/^ID_LIKE=/ { gsub("\"","",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
|
OS_DISTRO_ID_LIKE=$(awk -F'=' '/^ID_LIKE=/ { gsub(/["\x27]/,"",$2); print tolower($2) }' ${OS_RELEASE_FILE} 2> /dev/null)
|
||||||
echo "distro ID: $OS_DISTRO_ID"
|
echo "distro ID: $OS_DISTRO_ID"
|
||||||
echo "distro ID_LIKE: $OS_DISTRO_ID_LIKE"
|
echo "distro ID_LIKE: $OS_DISTRO_ID_LIKE"
|
||||||
else
|
else
|
||||||
echo "$OS_RELEASE_FILE does not exist."
|
echo "$OS_RELEASE_FILE does not exist."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
ii_check_distro() {
|
_check_distro() {
|
||||||
lsb_release -a || cat /etc/os-release || cat /etc/lsb-release
|
lsb_release -a || cat /etc/os-release || cat /etc/lsb-release
|
||||||
}
|
}
|
||||||
ii_check_venv() {
|
_check_venv() {
|
||||||
source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate
|
source $(eval echo $ILLOGICAL_IMPULSE_VIRTUAL_ENV)/bin/activate
|
||||||
which python
|
which python
|
||||||
deactivate
|
deactivate
|
||||||
}
|
}
|
||||||
ii_check_quickshell_version() {
|
_check_quickshell_version() {
|
||||||
pacman -Q | grep -E 'quickshell|qt6-base'
|
pacman -Q | grep -E 'quickshell|qt6-base'
|
||||||
}
|
}
|
||||||
ii_check_PKGBUILD_version() {
|
_check_PKGBUILD_version() {
|
||||||
pacman -Q | grep '^illogical-impulse-'
|
pacman -Q | grep '^illogical-impulse-'
|
||||||
}
|
}
|
||||||
|
|
||||||
e "Checking git repo info"
|
e "Checking git repo info"
|
||||||
x git remote get-url origin
|
x git remote get-url origin
|
||||||
x git rev-parse HEAD
|
x git rev-parse HEAD
|
||||||
|
x git status
|
||||||
x git submodule status --recursive
|
x git submodule status --recursive
|
||||||
|
|
||||||
e "Checking distro"
|
e "Checking distro"
|
||||||
x ii_check_distro_id
|
x _check_distro_id
|
||||||
#x ii_check_distro
|
x cat os-release
|
||||||
|
#x _check_distro
|
||||||
|
|
||||||
e "Checking variables"
|
e "Checking variables"
|
||||||
x declare -p XDG_CACHE_HOME # ~/.cache
|
x declare -p XDG_CACHE_HOME # ~/.cache
|
||||||
@@ -90,8 +92,8 @@ x ls -l ~/.local/state/quickshell/.venv
|
|||||||
|
|
||||||
e "Checking versions"
|
e "Checking versions"
|
||||||
x Hyprland --version
|
x Hyprland --version
|
||||||
x ii_check_quickshell_version
|
x _check_quickshell_version
|
||||||
x ii_check_PKGBUILD_version
|
x _check_PKGBUILD_version
|
||||||
|
|
||||||
e "Finished. Output saved as \"$output_file\"."
|
e "Finished. Output saved as \"$output_file\"."
|
||||||
if ! command -v curl 2>&1 >>/dev/null ;then echo "\"curl\" not found, pastebin upload unavailable.";exit;fi
|
if ! command -v curl 2>&1 >>/dev/null ;then echo "\"curl\" not found, pastebin upload unavailable.";exit;fi
|
||||||
|
|||||||
@@ -3,11 +3,11 @@ Vertical Candidate List=False
|
|||||||
# Use mouse wheel to go to prev or next page
|
# Use mouse wheel to go to prev or next page
|
||||||
WheelForPaging=True
|
WheelForPaging=True
|
||||||
# Font
|
# Font
|
||||||
Font="Rubik 11"
|
Font="Google Sans Flex 11"
|
||||||
# Menu Font
|
# Menu Font
|
||||||
MenuFont="Rubik 11"
|
MenuFont="Google Sans Flex 11"
|
||||||
# Tray Font
|
# Tray Font
|
||||||
TrayFont="Rubik 11"
|
TrayFont="Google Sans Flex 11"
|
||||||
# Prefer Text Icon
|
# Prefer Text Icon
|
||||||
PreferTextIcon=False
|
PreferTextIcon=False
|
||||||
# Show Layout Name In Icon
|
# Show Layout Name In Icon
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ exec-once = gnome-keyring-daemon --start --components=secrets
|
|||||||
exec-once = hypridle
|
exec-once = hypridle
|
||||||
exec-once = dbus-update-activation-environment --all
|
exec-once = dbus-update-activation-environment --all
|
||||||
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
|
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
|
||||||
exec-once = hyprpm reload
|
|
||||||
|
|
||||||
# Audio
|
# Audio
|
||||||
exec-once = easyeffects --gapplication-service
|
exec-once = easyeffects --gapplication-service
|
||||||
@@ -24,7 +23,7 @@ exec-once = wl-paste --type image --watch bash -c 'cliphist store && qs -c $qsCo
|
|||||||
exec-once = hyprctl setcursor Bibata-Modern-Classic 24
|
exec-once = hyprctl setcursor Bibata-Modern-Classic 24
|
||||||
|
|
||||||
# Fix dock pinned apps not launching properly (https://github.com/end-4/dots-hyprland/issues/2200)
|
# Fix dock pinned apps not launching properly (https://github.com/end-4/dots-hyprland/issues/2200)
|
||||||
exec-once = sleep 3.5 && hyprctl reload && sleep 0.5 && touch ~/.config/quickshell/ii/shell.qml
|
# exec-once = sleep 3.5 && hyprctl reload && sleep 0.5 && touch ~/.config/quickshell/ii/shell.qml
|
||||||
|
|
||||||
# For fedora to setup polkit
|
# For fedora to setup polkit
|
||||||
exec-once = /usr/libexec/kf6/polkit-kde-authentication-agent-1
|
exec-once = /usr/libexec/kf6/polkit-kde-authentication-agent-1
|
||||||
|
|||||||
@@ -4,3 +4,4 @@
|
|||||||
--ignore-gpu-blocklist
|
--ignore-gpu-blocklist
|
||||||
--enable-features=TouchpadOverscrollHistoryNavigation
|
--enable-features=TouchpadOverscrollHistoryNavigation
|
||||||
--enable-wayland-ime
|
--enable-wayland-ime
|
||||||
|
--disable-features=ExtensionManifestV2Unsupported
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Auto start Hyprland on tty1
|
# Auto start Hyprland on tty1
|
||||||
if test -z "$DISPLAY" ;and test "$XDG_VTNR" -eq 1
|
if test -z "$DISPLAY" ;and test "$XDG_VTNR" -eq 1
|
||||||
mkdir -p ~/.cache
|
mkdir -p ~/.cache
|
||||||
exec Hyprland > ~/.cache/hyprland.log 2>&1
|
exec start-hyprland > ~/.cache/hyprland.log 2>&1
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,26 +1,33 @@
|
|||||||
function fish_prompt -d "Write out the prompt"
|
# Commands to run in interactive sessions can go here
|
||||||
# This shows up as USER@HOST /home/user/ >, with the directory colored
|
if status is-interactive
|
||||||
# $USER and $hostname are set by fish, so you can just use them
|
|
||||||
# instead of using `whoami` and `hostname`
|
|
||||||
printf '%s@%s %s%s%s > ' $USER $hostname \
|
|
||||||
(set_color $fish_color_cwd) (prompt_pwd) (set_color normal)
|
|
||||||
end
|
|
||||||
|
|
||||||
if status is-interactive # Commands to run in interactive sessions can go here
|
|
||||||
|
|
||||||
# No greeting
|
# No greeting
|
||||||
set fish_greeting
|
set fish_greeting
|
||||||
|
|
||||||
# Use starship
|
# Use starship
|
||||||
starship init fish | source
|
function starship_transient_prompt_func
|
||||||
|
starship module character
|
||||||
|
end
|
||||||
|
if test "$TERM" != "linux"
|
||||||
|
starship init fish | source
|
||||||
|
enable_transience
|
||||||
|
end
|
||||||
|
|
||||||
|
# Colors
|
||||||
if test -f ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
if test -f ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
||||||
cat ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
cat ~/.local/state/quickshell/user/generated/terminal/sequences.txt
|
||||||
end
|
end
|
||||||
|
|
||||||
# Aliases
|
# Aliases
|
||||||
alias pamcan pacman
|
# kitty doesn't clear properly so we need to do this weird printing
|
||||||
alias ls 'eza --icons'
|
|
||||||
alias clear "printf '\033[2J\033[3J\033[1;1H'"
|
alias clear "printf '\033[2J\033[3J\033[1;1H'"
|
||||||
|
alias celar "printf '\033[2J\033[3J\033[1;1H'"
|
||||||
|
alias claer "printf '\033[2J\033[3J\033[1;1H'"
|
||||||
|
alias pamcan pacman
|
||||||
alias q 'qs -c ii'
|
alias q 'qs -c ii'
|
||||||
|
if test "$TERM" != "linux"
|
||||||
|
alias ls 'eza --icons'
|
||||||
|
end
|
||||||
|
if test "$TERM" = "xterm-kitty"
|
||||||
|
alias ssh 'kitten ssh'
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
include="~/.config/fuzzel/fuzzel_theme.ini"
|
include="~/.config/fuzzel/fuzzel_theme.ini"
|
||||||
font=Gabarito
|
font=Google Sans Flex:weight=medium
|
||||||
terminal=kitty -1
|
terminal=kitty -1
|
||||||
prompt=">> "
|
prompt=">> "
|
||||||
layer=overlay
|
layer=overlay
|
||||||
|
|||||||
@@ -1,2 +0,0 @@
|
|||||||
# You can put extra environment variables here
|
|
||||||
# https://wiki.hyprland.org/Configuring/Environment-variables/
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
# You can make apps auto-start here
|
|
||||||
# Relevant Hyprland wiki section: https://wiki.hyprland.org/Configuring/Keywords/#executing
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
# Put general config stuff here
|
|
||||||
# Here's a list of every variable: https://wiki.hyprland.org/Configuring/Variables/
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
# See https://wiki.hyprland.org/Configuring/Binds/
|
|
||||||
#!
|
|
||||||
##! User
|
|
||||||
bind = Ctrl+Super, Slash, exec, xdg-open ~/.config/illogical-impulse/config.json # Edit shell config
|
|
||||||
bind = Ctrl+Super+Alt, Slash, exec, xdg-open ~/.config/hypr/custom/keybinds.conf # Edit extra keybinds
|
|
||||||
|
|
||||||
# Add stuff here
|
|
||||||
# Use #! to add an extra column on the cheatsheet
|
|
||||||
# Use ##! to add a section in that column
|
|
||||||
# Add a comment after a bind to add a description, like above
|
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
hl.bind("CTRL+SUPER+ALT+Slash", hl.dsp.exec_cmd("xdg-open ~/.config/hypr/custom/keybinds.lua"), {description = "Edit user keybinds"} )
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# You can put custom rules here
|
|
||||||
# Window/layer rules: https://wiki.hyprland.org/Configuring/Window-Rules/
|
|
||||||
# Workspace rules: https://wiki.hyprland.org/Configuring/Workspace-Rules/
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -1,11 +1,11 @@
|
|||||||
$lock_cmd = hyprctl dispatch global quickshell:lock & pidof qs quickshell hyprlock || hyprlock
|
$lock_cmd = hyprctl dispatch 'hl.dsp.global("quickshell:lock")' & pidof qs quickshell hyprlock || hyprlock
|
||||||
# $lock_cmd = pidof hyprlock || hyprlock
|
# $lock_cmd = pidof hyprlock || hyprlock
|
||||||
$suspend_cmd = systemctl suspend || loginctl suspend
|
$suspend_cmd = systemctl suspend || loginctl suspend
|
||||||
|
|
||||||
general {
|
general {
|
||||||
lock_cmd = $lock_cmd
|
lock_cmd = $lock_cmd
|
||||||
before_sleep_cmd = loginctl lock-session
|
before_sleep_cmd = loginctl lock-session
|
||||||
after_sleep_cmd = hyprctl dispatch global quickshell:lockFocus
|
after_sleep_cmd = hyprctl dispatch 'hl.dsp.global("quickshell:lockFocus")'
|
||||||
inhibit_sleep = 3
|
inhibit_sleep = 3
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16,8 +16,8 @@ listener {
|
|||||||
|
|
||||||
listener {
|
listener {
|
||||||
timeout = 600 # 10mins
|
timeout = 600 # 10mins
|
||||||
on-timeout = hyprctl dispatch dpms off
|
on-timeout = hyprctl dispatch 'hl.dsp.dpms(false)'
|
||||||
on-resume = hyprctl dispatch dpms on
|
on-resume = hyprctl dispatch 'hl.dsp.dpms(true)'
|
||||||
}
|
}
|
||||||
|
|
||||||
listener {
|
listener {
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
# This file sources other files in `hyprland` and `custom` folders
|
|
||||||
# You wanna add your stuff in files in `custom`
|
|
||||||
|
|
||||||
$qsConfig = ii
|
|
||||||
exec = hyprctl dispatch submap global # DO NOT REMOVE THIS OR YOU WON'T BE ABLE TO USE ANY KEYBIND
|
|
||||||
submap = global # This is required for catchall to work
|
|
||||||
|
|
||||||
# Defaults
|
|
||||||
source=hyprland/env.conf
|
|
||||||
source=hyprland/execs.conf
|
|
||||||
source=hyprland/general.conf
|
|
||||||
source=hyprland/rules.conf
|
|
||||||
source=hyprland/colors.conf
|
|
||||||
source=hyprland/keybinds.conf
|
|
||||||
|
|
||||||
# Custom
|
|
||||||
source=custom/env.conf
|
|
||||||
source=custom/execs.conf
|
|
||||||
source=custom/general.conf
|
|
||||||
source=custom/rules.conf
|
|
||||||
source=custom/keybinds.conf
|
|
||||||
|
|
||||||
# nwg-displays support
|
|
||||||
source=workspaces.conf
|
|
||||||
source=monitors.conf
|
|
||||||
@@ -0,0 +1,44 @@
|
|||||||
|
-- This file sources other files in `hyprland` and `custom` folders
|
||||||
|
-- You wanna add your stuff in files in `custom`
|
||||||
|
|
||||||
|
-- Internal stuff --
|
||||||
|
require("hyprland.lib")
|
||||||
|
require("hyprland.services")
|
||||||
|
|
||||||
|
-- Environment variables --
|
||||||
|
require("hyprland.env")
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/custom/env.lua") then
|
||||||
|
require("custom.env")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Default configurations --
|
||||||
|
require("hyprland.execs")
|
||||||
|
require("hyprland.general")
|
||||||
|
require("hyprland.rules")
|
||||||
|
require("hyprland.colors")
|
||||||
|
require("hyprland.keybinds")
|
||||||
|
|
||||||
|
-- Custom configurations --
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/custom/execs.lua") then
|
||||||
|
require("custom.execs")
|
||||||
|
end
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/custom/general.lua") then
|
||||||
|
require("custom.general")
|
||||||
|
end
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/custom/rules.lua") then
|
||||||
|
require("custom.rules")
|
||||||
|
end
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/custom/keybinds.lua") then
|
||||||
|
require("custom.keybinds")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- nwg-displays support --
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/workspaces.lua") then
|
||||||
|
require("workspaces")
|
||||||
|
end
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/monitors.lua") then
|
||||||
|
require("monitors")
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Shell overrides --
|
||||||
|
require("hyprland.shellOverrides.main")
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
# exec = export SLURP_ARGS='-d -c FFDAD4BB -b 673B3444 -s 00000000'
|
|
||||||
|
|
||||||
general {
|
|
||||||
col.active_border = rgba(F7DCDE39)
|
|
||||||
col.inactive_border = rgba(A58A8D30)
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
background_color = rgba(1D1011FF)
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
hyprbars {
|
|
||||||
# Honestly idk if it works like css, but well, why not
|
|
||||||
bar_text_font = Rubik, Geist, AR One Sans, Reddit Sans, Inter, Roboto, Ubuntu, Noto Sans, sans-serif
|
|
||||||
bar_height = 30
|
|
||||||
bar_padding = 10
|
|
||||||
bar_button_padding = 5
|
|
||||||
bar_precedence_over_border = true
|
|
||||||
bar_part_of_window = true
|
|
||||||
|
|
||||||
bar_color = rgba(1D1011FF)
|
|
||||||
col.text = rgba(F7DCDEFF)
|
|
||||||
|
|
||||||
|
|
||||||
# example buttons (R -> L)
|
|
||||||
# hyprbars-button = color, size, on-click
|
|
||||||
hyprbars-button = rgb(F7DCDE), 13, , hyprctl dispatch killactive
|
|
||||||
hyprbars-button = rgb(F7DCDE), 13, , hyprctl dispatch fullscreen 1
|
|
||||||
hyprbars-button = rgb(F7DCDE), 13, , hyprctl dispatch movetoworkspacesilent special
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrulev2 = bordercolor rgba(FFB2BCAA) rgba(FFB2BC77),pinned:1
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
col = {
|
||||||
|
active_border = "rgba(44464f77)",
|
||||||
|
inactive_border = "rgba(1a1b2033)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
misc = {
|
||||||
|
background_color = "rgba(121318FF)",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({ -- not sure how to syntax "pin 1"
|
||||||
|
match = { pin = 1 },
|
||||||
|
border_color = "rgba(afc6ffAA) rgba(afc6ff77)",
|
||||||
|
})
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# ######### Input method ##########
|
|
||||||
# See https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland
|
|
||||||
#env = QT_IM_MODULE, fcitx
|
|
||||||
#env = XMODIFIERS, @im=fcitx
|
|
||||||
#env = SDL_IM_MODULE, fcitx
|
|
||||||
#env = GLFW_IM_MODULE, ibus
|
|
||||||
#env = INPUT_METHOD, fcitx
|
|
||||||
|
|
||||||
# ############ Wayland #############
|
|
||||||
env = ELECTRON_OZONE_PLATFORM_HINT,auto
|
|
||||||
|
|
||||||
# ############ Themes #############
|
|
||||||
env = QT_QPA_PLATFORM, wayland
|
|
||||||
env = QT_QPA_PLATFORMTHEME, kde
|
|
||||||
env = XDG_MENU_PREFIX, plasma-
|
|
||||||
|
|
||||||
# ######## Wayland #########
|
|
||||||
# Tearing
|
|
||||||
# env = WLR_DRM_NO_ATOMIC, 1
|
|
||||||
# ?
|
|
||||||
# env = WLR_NO_HARDWARE_CURSORS, 1
|
|
||||||
|
|
||||||
# ######## Virtual envrionment #########
|
|
||||||
env = ILLOGICAL_IMPULSE_VIRTUAL_ENV, ~/.local/state/quickshell/.venv
|
|
||||||
|
|
||||||
# ######## Terminal application #########
|
|
||||||
env = TERMINAL,kitty -1
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
local home_dir = os.getenv("HOME")
|
||||||
|
|
||||||
|
-- Wayland
|
||||||
|
hl.env("ELECTRON_OZONE_PLATFORM_HINT", "auto")
|
||||||
|
|
||||||
|
-- Applications
|
||||||
|
local xdg_data_dirs_old = os.getenv("XDG_DATA_DIRS") or ""
|
||||||
|
hl.env("XDG_DATA_DIRS", home_dir .. "/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:" .. xdg_data_dirs_old)
|
||||||
|
|
||||||
|
-- Themes
|
||||||
|
hl.env("QT_QPA_PLATFORM", "wayland;xcb")
|
||||||
|
hl.env("QT_QPA_PLATFORMTHEME", "kde")
|
||||||
|
hl.env("XDG_MENU_PREFIX", "plasma-")
|
||||||
|
|
||||||
|
-- Virtual environment
|
||||||
|
hl.env("ILLOGICAL_IMPULSE_VIRTUAL_ENV", home_dir .. "/.local/state/quickshell/.venv")
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# Bar, wallpaper
|
|
||||||
exec-once = ~/.config/hypr/hyprland/scripts/start_geoclue_agent.sh
|
|
||||||
exec-once = qs -c $qsConfig &
|
|
||||||
|
|
||||||
# Input method
|
|
||||||
# exec-once = fcitx5
|
|
||||||
|
|
||||||
# Core components (authentication, lock screen, notification daemon)
|
|
||||||
exec-once = gnome-keyring-daemon --start --components=secrets
|
|
||||||
exec-once = hypridle
|
|
||||||
exec-once = dbus-update-activation-environment --all
|
|
||||||
exec-once = sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP # Some fix idk
|
|
||||||
exec-once = hyprpm reload
|
|
||||||
|
|
||||||
# Audio
|
|
||||||
exec-once = easyeffects --gapplication-service
|
|
||||||
|
|
||||||
# Clipboard: history
|
|
||||||
# exec-once = wl-paste --watch cliphist store &
|
|
||||||
exec-once = wl-paste --type text --watch bash -c 'cliphist store && qs -c $qsConfig ipc call cliphistService update'
|
|
||||||
exec-once = wl-paste --type image --watch bash -c 'cliphist store && qs -c $qsConfig ipc call cliphistService update'
|
|
||||||
|
|
||||||
# Cursor
|
|
||||||
exec-once = hyprctl setcursor Bibata-Modern-Classic 24
|
|
||||||
|
|
||||||
# Fix dock pinned apps not launching properly (https://github.com/end-4/dots-hyprland/issues/2200)
|
|
||||||
# This causes https://github.com/end-4/dots-hyprland/issues/2427
|
|
||||||
# exec-once = sleep 3.5 && hyprctl reload && sleep 0.5 && touch ~/.config/quickshell/ii/shell.qml
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
-- put former exec-once commands inside the func and former exec commands outside
|
||||||
|
hl.on("hyprland.start", function ()
|
||||||
|
|
||||||
|
-- Bar, wallpaper
|
||||||
|
hl.exec_cmd("$HOME/.config/hypr/hyprland/scripts/start_geoclue_agent.sh")
|
||||||
|
hl.exec_cmd("qs -c $qsConfig")
|
||||||
|
hl.exec_cmd("$HOME/.config/hypr/custom/scripts/__restore_video_wallpaper.sh")
|
||||||
|
|
||||||
|
-- Core components (authentication, lock screen, notification daemon)
|
||||||
|
hl.exec_cmd("gnome-keyring-daemon --start --components=secrets")
|
||||||
|
hl.exec_cmd("hypridle")
|
||||||
|
hl.exec_cmd("dbus-update-activation-environment --all")
|
||||||
|
hl.exec_cmd("sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP") -- Some fix idk
|
||||||
|
|
||||||
|
-- Audio
|
||||||
|
hl.exec_cmd("easyeffects --hide-window --service-mode")
|
||||||
|
|
||||||
|
-- Clipboard: history
|
||||||
|
--hl.exec_cmd("wl-paste --watch cliphist store")
|
||||||
|
hl.exec_cmd("wl-paste --type text --watch bash -c 'cliphist store && qs -c $qsConfig ipc call cliphistService update'")
|
||||||
|
hl.exec_cmd("wl-paste --type image --watch bash -c 'cliphist store && qs -c $qsConfig ipc call cliphistService update'")
|
||||||
|
|
||||||
|
-- Cursor
|
||||||
|
hl.exec_cmd("hyprctl setcursor Bibata-Modern-Classic 24")
|
||||||
|
end)
|
||||||
@@ -1,174 +0,0 @@
|
|||||||
# MONITOR CONFIG
|
|
||||||
monitor=,preferred,auto,1
|
|
||||||
# monitor=,addreserved, 0, 0, 0, 0 # Custom reserved area
|
|
||||||
|
|
||||||
# HDMI port: mirror display. To see device name, use `hyprctl monitors`
|
|
||||||
# monitor=HDMI-A-1,1920x1080@60,1920x0,1,mirror,eDP-1
|
|
||||||
|
|
||||||
gesture = 3, swipe, move,
|
|
||||||
gesture = 3, pinch, float
|
|
||||||
gesture = 4, horizontal, workspace
|
|
||||||
gesture = 4, up, dispatcher, global, quickshell:overviewToggle
|
|
||||||
gesture = 4, down, dispatcher, global, quickshell:overviewClose
|
|
||||||
gestures {
|
|
||||||
workspace_swipe_distance = 700
|
|
||||||
workspace_swipe_cancel_ratio = 0.2
|
|
||||||
workspace_swipe_min_speed_to_force = 5
|
|
||||||
workspace_swipe_direction_lock = true
|
|
||||||
workspace_swipe_direction_lock_threshold = 10
|
|
||||||
workspace_swipe_create_new = true
|
|
||||||
}
|
|
||||||
|
|
||||||
general {
|
|
||||||
# Gaps and border
|
|
||||||
gaps_in = 4
|
|
||||||
gaps_out = 5
|
|
||||||
gaps_workspaces = 50
|
|
||||||
|
|
||||||
border_size = 1
|
|
||||||
col.active_border = rgba(0DB7D4FF)
|
|
||||||
col.inactive_border = rgba(31313600)
|
|
||||||
resize_on_border = true
|
|
||||||
|
|
||||||
no_focus_fallback = true
|
|
||||||
|
|
||||||
allow_tearing = true # This just allows the `immediate` window rule to work
|
|
||||||
|
|
||||||
snap {
|
|
||||||
enabled = true
|
|
||||||
window_gap = 4
|
|
||||||
monitor_gap = 5
|
|
||||||
respect_gaps = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dwindle {
|
|
||||||
preserve_split = true
|
|
||||||
smart_split = false
|
|
||||||
smart_resizing = false
|
|
||||||
# precise_mouse_move = true
|
|
||||||
}
|
|
||||||
|
|
||||||
decoration {
|
|
||||||
rounding = 18
|
|
||||||
|
|
||||||
blur {
|
|
||||||
enabled = true
|
|
||||||
xray = true
|
|
||||||
special = false
|
|
||||||
new_optimizations = true
|
|
||||||
size = 14
|
|
||||||
passes = 3
|
|
||||||
brightness = 1
|
|
||||||
noise = 0.04
|
|
||||||
contrast = 1
|
|
||||||
popups = false
|
|
||||||
popups_ignorealpha = 0.6
|
|
||||||
input_methods = true
|
|
||||||
input_methods_ignorealpha = 0.8
|
|
||||||
}
|
|
||||||
|
|
||||||
shadow {
|
|
||||||
enabled = true
|
|
||||||
ignore_window = true
|
|
||||||
range = 30
|
|
||||||
offset = 0 2
|
|
||||||
render_power = 4
|
|
||||||
color = rgba(00000010)
|
|
||||||
}
|
|
||||||
|
|
||||||
# Dim
|
|
||||||
dim_inactive = true
|
|
||||||
dim_strength = 0.025
|
|
||||||
dim_special = 0.07
|
|
||||||
}
|
|
||||||
|
|
||||||
animations {
|
|
||||||
enabled = true
|
|
||||||
# Curves
|
|
||||||
bezier = expressiveFastSpatial, 0.42, 1.67, 0.21, 0.90
|
|
||||||
bezier = expressiveSlowSpatial, 0.39, 1.29, 0.35, 0.98
|
|
||||||
bezier = expressiveDefaultSpatial, 0.38, 1.21, 0.22, 1.00
|
|
||||||
bezier = emphasizedDecel, 0.05, 0.7, 0.1, 1
|
|
||||||
bezier = emphasizedAccel, 0.3, 0, 0.8, 0.15
|
|
||||||
bezier = standardDecel, 0, 0, 0, 1
|
|
||||||
bezier = menu_decel, 0.1, 1, 0, 1
|
|
||||||
bezier = menu_accel, 0.52, 0.03, 0.72, 0.08
|
|
||||||
# Configs
|
|
||||||
# windows
|
|
||||||
animation = windowsIn, 1, 3, emphasizedDecel, popin 80%
|
|
||||||
animation = windowsOut, 1, 2, emphasizedDecel, popin 90%
|
|
||||||
animation = windowsMove, 1, 3, emphasizedDecel, slide
|
|
||||||
animation = border, 1, 10, emphasizedDecel
|
|
||||||
# layers
|
|
||||||
animation = layersIn, 1, 2.7, emphasizedDecel, popin 93%
|
|
||||||
animation = layersOut, 1, 2.4, menu_accel, popin 94%
|
|
||||||
# fade
|
|
||||||
animation = fadeLayersIn, 1, 0.5, menu_decel
|
|
||||||
animation = fadeLayersOut, 1, 2.7, menu_accel
|
|
||||||
# workspaces
|
|
||||||
animation = workspaces, 1, 7, menu_decel, slide
|
|
||||||
## specialWorkspace
|
|
||||||
animation = specialWorkspaceIn, 1, 2.8, emphasizedDecel, slidevert
|
|
||||||
animation = specialWorkspaceOut, 1, 1.2, emphasizedAccel, slidevert
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
kb_layout = us
|
|
||||||
numlock_by_default = true
|
|
||||||
repeat_delay = 250
|
|
||||||
repeat_rate = 35
|
|
||||||
|
|
||||||
follow_mouse = 1
|
|
||||||
off_window_axis_events = 2
|
|
||||||
|
|
||||||
touchpad {
|
|
||||||
natural_scroll = yes
|
|
||||||
disable_while_typing = true
|
|
||||||
clickfinger_behavior = true
|
|
||||||
scroll_factor = 0.5
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
disable_hyprland_logo = true
|
|
||||||
disable_splash_rendering = true
|
|
||||||
vfr = 1
|
|
||||||
vrr = 1
|
|
||||||
mouse_move_enables_dpms = true
|
|
||||||
key_press_enables_dpms = true
|
|
||||||
animate_manual_resizes = false
|
|
||||||
animate_mouse_windowdragging = false
|
|
||||||
enable_swallow = false
|
|
||||||
swallow_regex = (foot|kitty|allacritty|Alacritty)
|
|
||||||
new_window_takes_over_fullscreen = 2
|
|
||||||
allow_session_lock_restore = true
|
|
||||||
session_lock_xray = true
|
|
||||||
initial_workspace_tracking = false
|
|
||||||
focus_on_activate = true
|
|
||||||
}
|
|
||||||
|
|
||||||
binds {
|
|
||||||
scroll_event_delay = 0
|
|
||||||
hide_special_on_workspace_change = true
|
|
||||||
}
|
|
||||||
|
|
||||||
cursor {
|
|
||||||
zoom_factor = 1
|
|
||||||
zoom_rigid = false
|
|
||||||
hotspot_padding = 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# Overview
|
|
||||||
plugin {
|
|
||||||
hyprexpo {
|
|
||||||
columns = 3
|
|
||||||
gap_size = 5
|
|
||||||
bg_col = rgb(000000)
|
|
||||||
workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1
|
|
||||||
|
|
||||||
enable_gesture = false # laptop touchpad, 4 fingers
|
|
||||||
gesture_distance = 300 # how far is the "max"
|
|
||||||
gesture_positive = false
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,305 @@
|
|||||||
|
-- MONITOR CONFIG
|
||||||
|
hl.monitor({
|
||||||
|
output = "",
|
||||||
|
mode = "preferred",
|
||||||
|
position = "auto",
|
||||||
|
scale = 1
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.gesture({
|
||||||
|
fingers = 3,
|
||||||
|
direction = "swipe",
|
||||||
|
action = "move"
|
||||||
|
})
|
||||||
|
hl.gesture({
|
||||||
|
fingers = 3,
|
||||||
|
direction = "pinch",
|
||||||
|
action = "fullscreen"
|
||||||
|
})
|
||||||
|
hl.gesture({
|
||||||
|
fingers = 4,
|
||||||
|
direction = "horizontal",
|
||||||
|
action = "workspace"
|
||||||
|
})
|
||||||
|
hl.gesture({
|
||||||
|
fingers = 4,
|
||||||
|
direction = "up",
|
||||||
|
action = function()
|
||||||
|
hl.dispatch(hl.dsp.global("quickshell:overviewWorkspacesToggle"))
|
||||||
|
end
|
||||||
|
})
|
||||||
|
hl.gesture({
|
||||||
|
fingers = 4,
|
||||||
|
direction = "down",
|
||||||
|
action = function()
|
||||||
|
hl.dispatch(hl.dsp.global("quickshell:overviewWorkspacesToggle"))
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
gestures = {
|
||||||
|
workspace_swipe_distance = 700,
|
||||||
|
workspace_swipe_cancel_ratio = 0.2,
|
||||||
|
workspace_swipe_min_speed_to_force = 5,
|
||||||
|
workspace_swipe_direction_lock = true,
|
||||||
|
workspace_swipe_direction_lock_threshold = 10,
|
||||||
|
workspace_swipe_create_new = true
|
||||||
|
},
|
||||||
|
general = {
|
||||||
|
-- Gaps and border
|
||||||
|
gaps_in = 4,
|
||||||
|
gaps_out = 5,
|
||||||
|
gaps_workspaces = 50,
|
||||||
|
|
||||||
|
border_size = 1,
|
||||||
|
|
||||||
|
col = {
|
||||||
|
active_border = "rgba(0DB7D455)",
|
||||||
|
inactive_border = "rgba(31313600)"
|
||||||
|
},
|
||||||
|
resize_on_border = true,
|
||||||
|
|
||||||
|
no_focus_fallback = true,
|
||||||
|
allow_tearing = true, -- This just allows the `immediate` window rule to work
|
||||||
|
snap = {
|
||||||
|
enabled = true,
|
||||||
|
window_gap = 4,
|
||||||
|
monitor_gap = 5,
|
||||||
|
respect_gaps = true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
decoration = {
|
||||||
|
-- 2 = circle, higher = squircle, 4 = very obvious squircle
|
||||||
|
-- Fuck clearly visible squircles. 100% Apple brainrot.
|
||||||
|
rounding_power = 2.5,
|
||||||
|
rounding = 18,
|
||||||
|
|
||||||
|
blur = {
|
||||||
|
enabled = true,
|
||||||
|
xray = true,
|
||||||
|
special = false,
|
||||||
|
new_optimizations = true,
|
||||||
|
size = 10,
|
||||||
|
passes = 3,
|
||||||
|
brightness = 1,
|
||||||
|
noise = 0.05,
|
||||||
|
contrast = 0.89,
|
||||||
|
vibrancy = 0.5,
|
||||||
|
vibrancy_darkness = 0.5,
|
||||||
|
popups = false,
|
||||||
|
popups_ignorealpha = 0.6,
|
||||||
|
input_methods = true,
|
||||||
|
input_methods_ignorealpha = 0.8
|
||||||
|
},
|
||||||
|
shadow = {
|
||||||
|
enabled = true,
|
||||||
|
range = 20,
|
||||||
|
offset = {0, 2},
|
||||||
|
render_power = 10,
|
||||||
|
color = "rgba(00000020)"
|
||||||
|
|
||||||
|
},
|
||||||
|
-- Dim
|
||||||
|
dim_inactive = true,
|
||||||
|
dim_strength = 0.05,
|
||||||
|
dim_special = 0.2
|
||||||
|
},
|
||||||
|
animations = {
|
||||||
|
enabled = true
|
||||||
|
},
|
||||||
|
dwindle = {
|
||||||
|
preserve_split = true,
|
||||||
|
smart_split = false,
|
||||||
|
smart_resizing = false
|
||||||
|
-- precise_mouse_move = true,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
-- Curves
|
||||||
|
hl.curve("expressiveFastSpatial", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.42, 1.67}, {0.21, 0.90}}
|
||||||
|
})
|
||||||
|
hl.curve("expressiveSlowSpatial", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.39, 1.29}, {0.35, 0.98}}
|
||||||
|
})
|
||||||
|
hl.curve("expressiveDefaultSpatial", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.38, 1.21}, {0.22, 1.00}}
|
||||||
|
})
|
||||||
|
hl.curve("emphasizedDecel", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.05, 0.7}, {0.1, 1}}
|
||||||
|
})
|
||||||
|
hl.curve("emphasizedAccel", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.3, 0}, {0.8, 0.15}}
|
||||||
|
})
|
||||||
|
hl.curve("standardDecel", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0, 0}, {0, 1}}
|
||||||
|
})
|
||||||
|
hl.curve("menu_decel", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.1, 1}, {0, 1}}
|
||||||
|
})
|
||||||
|
hl.curve("menu_accel", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{0.52, 0.03}, {0.72, 0.08}}
|
||||||
|
})
|
||||||
|
hl.curve("stall", {
|
||||||
|
type = "bezier",
|
||||||
|
points = {{1, -0.1}, {0.7, 0.85}}
|
||||||
|
})
|
||||||
|
-- Configs
|
||||||
|
-- windows
|
||||||
|
hl.animation({
|
||||||
|
leaf = "windowsIn",
|
||||||
|
enabled = true,
|
||||||
|
speed = 3,
|
||||||
|
bezier = "emphasizedDecel",
|
||||||
|
style = "popin 80%"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "fadeIn",
|
||||||
|
enabled = true,
|
||||||
|
speed = 3,
|
||||||
|
bezier = "emphasizedDecel"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "windowsOut",
|
||||||
|
enabled = true,
|
||||||
|
speed = 2,
|
||||||
|
bezier = "emphasizedDecel",
|
||||||
|
style = "popin 90%"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "fadeOut",
|
||||||
|
enabled = true,
|
||||||
|
speed = 2,
|
||||||
|
bezier = "emphasizedDecel"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "windowsMove",
|
||||||
|
enabled = true,
|
||||||
|
speed = 3,
|
||||||
|
bezier = "emphasizedDecel",
|
||||||
|
style = "slide"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "border",
|
||||||
|
enabled = true,
|
||||||
|
speed = 10,
|
||||||
|
bezier = "emphasizedDecel"
|
||||||
|
})
|
||||||
|
|
||||||
|
-- layers
|
||||||
|
hl.animation({
|
||||||
|
leaf = "layersIn",
|
||||||
|
enabled = true,
|
||||||
|
speed = 2.7,
|
||||||
|
bezier = "emphasizedDecel",
|
||||||
|
style = "popin 93%"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "layersOut",
|
||||||
|
enabled = true,
|
||||||
|
speed = 2.4,
|
||||||
|
bezier = "menu_accel",
|
||||||
|
style = "popin 94%"
|
||||||
|
})
|
||||||
|
-- fade
|
||||||
|
hl.animation({
|
||||||
|
leaf = "fadeLayersIn",
|
||||||
|
enabled = true,
|
||||||
|
speed = 0.5,
|
||||||
|
bezier = "menu_decel"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "fadeLayersOut",
|
||||||
|
enabled = true,
|
||||||
|
speed = 2.7,
|
||||||
|
bezier = "stall"
|
||||||
|
})
|
||||||
|
-- workspaces
|
||||||
|
hl.animation({
|
||||||
|
leaf = "workspaces",
|
||||||
|
enabled = true,
|
||||||
|
speed = 7,
|
||||||
|
bezier = "menu_decel",
|
||||||
|
style = "slide"
|
||||||
|
})
|
||||||
|
-- specialWorkspace
|
||||||
|
hl.animation({
|
||||||
|
leaf = "specialWorkspaceIn",
|
||||||
|
enabled = true,
|
||||||
|
speed = 2.8,
|
||||||
|
bezier = "emphasizedDecel",
|
||||||
|
style = "slidevert"
|
||||||
|
})
|
||||||
|
hl.animation({
|
||||||
|
leaf = "specialWorkspaceOut",
|
||||||
|
enabled = true,
|
||||||
|
speed = 1.2,
|
||||||
|
bezier = "emphasizedAccel",
|
||||||
|
style = "slidevert"
|
||||||
|
})
|
||||||
|
-- zoom
|
||||||
|
hl.animation({
|
||||||
|
leaf = "zoomFactor",
|
||||||
|
enabled = true,
|
||||||
|
speed = 3,
|
||||||
|
bezier = "standardDecel"
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.config({
|
||||||
|
input = {
|
||||||
|
kb_layout = "us",
|
||||||
|
numlock_by_default = true,
|
||||||
|
repeat_delay = 250,
|
||||||
|
repeat_rate = 35,
|
||||||
|
|
||||||
|
follow_mouse = 1,
|
||||||
|
off_window_axis_events = 2,
|
||||||
|
|
||||||
|
touchpad = {
|
||||||
|
natural_scroll = true,
|
||||||
|
disable_while_typing = true,
|
||||||
|
clickfinger_behavior = true,
|
||||||
|
scroll_factor = 0.7
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
misc = {
|
||||||
|
disable_hyprland_logo = true,
|
||||||
|
disable_splash_rendering = true,
|
||||||
|
vrr = 0,
|
||||||
|
mouse_move_enables_dpms = true,
|
||||||
|
key_press_enables_dpms = true,
|
||||||
|
animate_manual_resizes = false,
|
||||||
|
animate_mouse_windowdragging = false,
|
||||||
|
enable_swallow = false,
|
||||||
|
swallow_regex = "(foot|kitty|allacritty|Alacritty)",
|
||||||
|
on_focus_under_fullscreen = 2,
|
||||||
|
allow_session_lock_restore = true,
|
||||||
|
session_lock_xray = true,
|
||||||
|
initial_workspace_tracking = false,
|
||||||
|
focus_on_activate = true
|
||||||
|
},
|
||||||
|
|
||||||
|
binds = {
|
||||||
|
scroll_event_delay = 0,
|
||||||
|
hide_special_on_workspace_change = true
|
||||||
|
},
|
||||||
|
|
||||||
|
cursor = {
|
||||||
|
zoom_factor = 1,
|
||||||
|
zoom_rigid = false,
|
||||||
|
zoom_disable_aa = true,
|
||||||
|
hotspot_padding = 1
|
||||||
|
},
|
||||||
|
|
||||||
|
xwayland = {
|
||||||
|
force_zero_scaling = true
|
||||||
|
}
|
||||||
|
})
|
||||||
@@ -1,270 +0,0 @@
|
|||||||
# Lines ending with `# [hidden]` won't be shown on cheatsheet
|
|
||||||
# Lines starting with #! are section headings
|
|
||||||
|
|
||||||
#!
|
|
||||||
##! Shell
|
|
||||||
# These absolutely need to be on top, or they won't work consistently
|
|
||||||
bindid = Super, Super_L, Toggle overview, global, quickshell:overviewToggleRelease # Toggle overview/launcher
|
|
||||||
bindid = Super, Super_R, Toggle overview, global, quickshell:overviewToggleRelease # [hidden] Toggle overview/launcher
|
|
||||||
bind = Super, Super_L, exec, qs -c $qsConfig ipc call TEST_ALIVE || pkill fuzzel || fuzzel # [hidden] Launcher (fallback)
|
|
||||||
bind = Super, Super_R, exec, qs -c $qsConfig ipc call TEST_ALIVE || pkill fuzzel || fuzzel # [hidden] Launcher (fallback)
|
|
||||||
binditn = Super, catchall, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Ctrl, Super_L, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Ctrl, Super_R, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse:272, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse:273, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse:274, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse:275, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse:276, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse:277, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse_up, global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
bind = Super, mouse_down,global, quickshell:overviewToggleReleaseInterrupt # [hidden]
|
|
||||||
|
|
||||||
bindit = ,Super_L, global, quickshell:workspaceNumber # [hidden]
|
|
||||||
bindit = ,Super_R, global, quickshell:workspaceNumber # [hidden]
|
|
||||||
bindd = Super, V, Clipboard history >> clipboard, global, quickshell:overviewClipboardToggle # Clipboard history >> clipboard
|
|
||||||
bindd = Super, Period, Emoji >> clipboard, global, quickshell:overviewEmojiToggle # Emoji >> clipboard
|
|
||||||
bindd = Super, Tab, Toggle overview, global, quickshell:overviewToggle # [hidden] Toggle overview/launcher (alt)
|
|
||||||
bindd = Super, A, Toggle left sidebar, global, quickshell:sidebarLeftToggle # Toggle left sidebar
|
|
||||||
bind = Super+Alt, A, global, quickshell:sidebarLeftToggleDetach # [hidden]
|
|
||||||
bind = Super, B, global, quickshell:sidebarLeftToggle # [hidden]
|
|
||||||
bind = Super, O, global, quickshell:sidebarLeftToggle # [hidden]
|
|
||||||
bindd = Super, N, Toggle right sidebar, global, quickshell:sidebarRightToggle # Toggle right sidebar
|
|
||||||
bindd = Super, Slash, Toggle cheatsheet, global, quickshell:cheatsheetToggle # Toggle cheatsheet
|
|
||||||
bindd = Super, K, Toggle on-screen keyboard, global, quickshell:oskToggle # Toggle on-screen keyboard
|
|
||||||
bindd = Super, M, Toggle media controls, global, quickshell:mediaControlsToggle # Toggle media controls
|
|
||||||
bind = Super, G, global, quickshell:overlayToggle # Toggle overlay
|
|
||||||
bindd = Ctrl+Alt, Delete, Toggle session menu, global, quickshell:sessionToggle # Toggle session menu
|
|
||||||
bindd = Super, J, Toggle bar, global, quickshell:barToggle # Toggle bar
|
|
||||||
bind = Ctrl+Alt, Delete, exec, qs -c $qsConfig ipc call TEST_ALIVE || pkill wlogout || wlogout -p layer-shell # [hidden] Session menu (fallback)
|
|
||||||
bind = Shift+Super+Alt, Slash, exec, qs -p ~/.config/quickshell/$qsConfig/welcome.qml # [hidden] Launch welcome app
|
|
||||||
|
|
||||||
bindle=, XF86MonBrightnessUp, exec, qs -c $qsConfig ipc call brightness increment || brightnessctl s 5%+ # [hidden]
|
|
||||||
bindle=, XF86MonBrightnessDown, exec, qs -c $qsConfig ipc call brightness decrement || brightnessctl s 5%- # [hidden]
|
|
||||||
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1.5# [hidden]
|
|
||||||
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- # [hidden]
|
|
||||||
|
|
||||||
bindl = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle # [hidden]
|
|
||||||
bindld = Super+Shift,M, Toggle mute, exec, wpctl set-mute @DEFAULT_SINK@ toggle # [hidden]
|
|
||||||
bindl = Alt ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
|
||||||
bindl = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
|
||||||
bindld = Super+Alt,M, Toggle mic, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
|
||||||
bindd = Ctrl+Super, T, Toggle wallpaper selector, global, quickshell:wallpaperSelectorToggle # Wallpaper selector
|
|
||||||
bindd = Ctrl+Super+Alt, T, Select random wallpaper, global, quickshell:wallpaperSelectorRandom # Random wallpaper
|
|
||||||
bindd = Ctrl+Super, T, Change wallpaper, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/quickshell/$qsConfig/scripts/colors/switchwall.sh # [hidden] Change wallpaper (fallback)
|
|
||||||
bind = Ctrl+Super, R, exec, killall ags agsv1 gjs ydotool qs quickshell; qs -c $qsConfig & # Restart widgets
|
|
||||||
bind = Super+Alt, W, global, quickshell:panelFamilyCycle # Cycle panel family
|
|
||||||
|
|
||||||
##! Utilities
|
|
||||||
# Screenshot, Record, OCR, Color picker, Clipboard history
|
|
||||||
bindd = Super, V, Copy clipboard history entry, exec, qs -c $qsConfig ipc call TEST_ALIVE || pkill fuzzel || cliphist list | fuzzel --match-mode fzf --dmenu | cliphist decode | wl-copy # [hidden] Clipboard history >> clipboard (fallback)
|
|
||||||
bindd = Super, Period, Copy an emoji, exec, qs -c $qsConfig ipc call TEST_ALIVE || pkill fuzzel || ~/.config/hypr/hyprland/scripts/fuzzel-emoji.sh copy # [hidden] Emoji >> clipboard (fallback)
|
|
||||||
bind = Super+Shift, S, global, quickshell:regionScreenshot # Screen snip
|
|
||||||
bind = Super+Shift, S, exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || hyprshot --freeze --clipboard-only --mode region --silent # [hidden] Screen snip (fallback)
|
|
||||||
bind = Super+Shift, A, global, quickshell:regionSearch # Google Lens
|
|
||||||
bind = Super+Shift, A, exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || ~/.config/hypr/hyprland/scripts/snip_to_search.sh # [hidden] Google Lens (fallback)
|
|
||||||
# OCR
|
|
||||||
bind = Super+Shift, X, global, quickshell:regionOcr # Character recognition >> clipboard
|
|
||||||
bind = Super+Shift, T, global, quickshell:regionOcr # [hidden]
|
|
||||||
bind = Super+Shift, X,exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || grim -g "$(slurp $SLURP_ARGS)" "/tmp/ocr_image.png" && tesseract "/tmp/ocr_image.png" stdout -l $(tesseract --list-langs | awk 'NR>1{print $1}' | tr '\\n' '+' | sed 's/\\+$/\\n/') | wl-copy && rm "/tmp/ocr_image.png" # [hidden]
|
|
||||||
bind = Super+Shift, T,exec, qs -c $qsConfig ipc call TEST_ALIVE || pidof slurp || grim -g "$(slurp $SLURP_ARGS)" "/tmp/ocr_image.png" && tesseract "/tmp/ocr_image.png" stdout -l $(tesseract --list-langs | awk 'NR>1{print $1}' | tr '\\n' '+' | sed 's/\\+$/\\n/') | wl-copy && rm "/tmp/ocr_image.png" # [hidden]
|
|
||||||
# Color picker
|
|
||||||
bindd = Super+Shift, C, Color picker, exec, hyprpicker -a # Pick color (Hex) >> clipboard
|
|
||||||
# Fullscreen screenshot
|
|
||||||
bindl = ,Print,exec,grim - | wl-copy # Screenshot >> clipboard
|
|
||||||
bindln = Ctrl,Print, exec, mkdir -p $(xdg-user-dir PICTURES)/Screenshots && grim $(xdg-user-dir PICTURES)/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png # Screenshot >> clipboard & file (file)
|
|
||||||
bindln = Ctrl,Print,exec,grim - | wl-copy # [hidden] Screenshot >> clipboard & file (clipboard)
|
|
||||||
# Recording stuff
|
|
||||||
bindl = Super+Shift, R, global, quickshell:regionRecord # Record region (no sound)
|
|
||||||
bindl = Super+Shift, R, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/quickshell/$qsConfig/scripts/videos/record.sh # [hidden] Record region (no sound) (fallback)
|
|
||||||
bindl = Super+Alt, R, global, quickshell:regionRecord # [hidden] Record region (no sound)
|
|
||||||
bindl = Super+Alt, R, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/quickshell/$qsConfig/scripts/videos/record.sh # [hidden] Record region (no sound) (fallback)
|
|
||||||
bindl = Ctrl+Alt, R, exec, ~/.config/quickshell/$qsConfig/scripts/videos/record.sh --fullscreen # [hidden] Record screen (no sound)
|
|
||||||
bindl = Super+Shift+Alt, R, exec, ~/.config/quickshell/$qsConfig/scripts/videos/record.sh --fullscreen --sound # Record screen (with sound)
|
|
||||||
# AI
|
|
||||||
bindd = Super+Shift+Alt, mouse:273, Generate AI summary for selected text, exec, ~/.config/hypr/hyprland/scripts/ai/primary-buffer-query.sh # [hidden] AI summary for selected text
|
|
||||||
|
|
||||||
#!
|
|
||||||
##! Window
|
|
||||||
# Focusing
|
|
||||||
bindm = Super, mouse:272, movewindow # Move
|
|
||||||
bindm = Super, mouse:274, movewindow # [hidden]
|
|
||||||
bindm = Super, mouse:273, resizewindow # Resize
|
|
||||||
#/# bind = Super, ←/↑/→/↓,, # Focus in direction
|
|
||||||
bind = Super, Left, movefocus, l # [hidden]
|
|
||||||
bind = Super, Right, movefocus, r # [hidden]
|
|
||||||
bind = Super, Up, movefocus, u # [hidden]
|
|
||||||
bind = Super, Down, movefocus, d # [hidden]
|
|
||||||
bind = Super, BracketLeft, movefocus, l # [hidden]
|
|
||||||
bind = Super, BracketRight, movefocus, r # [hidden]
|
|
||||||
#/# bind = Super+Shift, ←/↑/→/↓,, # Move in direction
|
|
||||||
bind = Super+Shift, Left, movewindow, l # [hidden]
|
|
||||||
bind = Super+Shift, Right, movewindow, r # [hidden]
|
|
||||||
bind = Super+Shift, Up, movewindow, u # [hidden]
|
|
||||||
bind = Super+Shift, Down, movewindow, d # [hidden]
|
|
||||||
bind = Alt, F4, killactive, # [hidden] Close (Windows)
|
|
||||||
bind = Super, Q, killactive, # Close
|
|
||||||
bind = Super+Shift+Alt, Q, exec, hyprctl kill # Forcefully zap a window
|
|
||||||
|
|
||||||
|
|
||||||
# Window split ratio
|
|
||||||
#/# binde = Super, ;/',, # Adjust split ratio
|
|
||||||
binde = Super, Semicolon, splitratio, -0.1 # [hidden]
|
|
||||||
binde = Super, Apostrophe, splitratio, +0.1 # [hidden]
|
|
||||||
# Positioning mode
|
|
||||||
bind = Super+Alt, Space, togglefloating, # Float/Tile
|
|
||||||
bind = Super, D, fullscreen, 1 # Maximize
|
|
||||||
bind = Super, F, fullscreen, 0 # Fullscreen
|
|
||||||
bind = Super+Alt, F, fullscreenstate, 0 3 # Fullscreen spoof
|
|
||||||
bind = Super, P, pin # Pin
|
|
||||||
|
|
||||||
#/# bind = Super+Alt, Hash,, # Send to workspace # (1, 2, 3,...)
|
|
||||||
# We use raw keycodes because some keyboard layouts register number keys as different chars. The codes can be verified with `wev`
|
|
||||||
bind = Super+Alt, code:10, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 1 # [hidden]
|
|
||||||
bind = Super+Alt, code:11, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 2 # [hidden]
|
|
||||||
bind = Super+Alt, code:12, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 3 # [hidden]
|
|
||||||
bind = Super+Alt, code:13, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 4 # [hidden]
|
|
||||||
bind = Super+Alt, code:14, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 5 # [hidden]
|
|
||||||
bind = Super+Alt, code:15, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 6 # [hidden]
|
|
||||||
bind = Super+Alt, code:16, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 7 # [hidden]
|
|
||||||
bind = Super+Alt, code:17, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 8 # [hidden]
|
|
||||||
bind = Super+Alt, code:18, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 9 # [hidden]
|
|
||||||
bind = Super+Alt, code:19, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 10 # [hidden]
|
|
||||||
# keypad numbers
|
|
||||||
bind = Super+Alt, code:87, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 1 # [hidden]
|
|
||||||
bind = Super+Alt, code:88, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 2 # [hidden]
|
|
||||||
bind = Super+Alt, code:89, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 3 # [hidden]
|
|
||||||
bind = Super+Alt, code:83, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 4 # [hidden]
|
|
||||||
bind = Super+Alt, code:84, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 5 # [hidden]
|
|
||||||
bind = Super+Alt, code:85, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 6 # [hidden]
|
|
||||||
bind = Super+Alt, code:79, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 7 # [hidden]
|
|
||||||
bind = Super+Alt, code:80, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 8 # [hidden]
|
|
||||||
bind = Super+Alt, code:81, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 9 # [hidden]
|
|
||||||
bind = Super+Alt, code:90, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh movetoworkspacesilent 10 # [hidden]
|
|
||||||
|
|
||||||
# #/# bind = Super+Shift, Scroll ↑/↓,, # Send to workspace left/right
|
|
||||||
bind = Super+Shift, mouse_down, movetoworkspace, r-1 # [hidden]
|
|
||||||
bind = Super+Shift, mouse_up, movetoworkspace, r+1 # [hidden]
|
|
||||||
bind = Super+Alt, mouse_down, movetoworkspace, -1 # [hidden]
|
|
||||||
bind = Super+Alt, mouse_up, movetoworkspace, +1 # [hidden]
|
|
||||||
|
|
||||||
#/# bind = Super+Shift, Page_↑/↓,, # Send to workspace left/right
|
|
||||||
bind = Super+Alt, Page_Down, movetoworkspace, +1 # [hidden]
|
|
||||||
bind = Super+Alt, Page_Up, movetoworkspace, -1 # [hidden]
|
|
||||||
bind = Super+Shift, Page_Down, movetoworkspace, r+1 # [hidden]
|
|
||||||
bind = Super+Shift, Page_Up, movetoworkspace, r-1 # [hidden]
|
|
||||||
bind = Ctrl+Super+Shift, Right, movetoworkspace, r+1 # [hidden]
|
|
||||||
bind = Ctrl+Super+Shift, Left, movetoworkspace, r-1 # [hidden]
|
|
||||||
|
|
||||||
bind = Super+Alt, S, movetoworkspacesilent, special # Send to scratchpad
|
|
||||||
|
|
||||||
bind = Ctrl+Super, S, togglespecialworkspace, # [hidden]
|
|
||||||
|
|
||||||
##! Workspace
|
|
||||||
# Switching
|
|
||||||
#/# bind = Super, Hash,, # Focus workspace # (1, 2, 3,...)
|
|
||||||
# We use raw keycodes because some keyboard layouts register number keys as different chars. The codes can be verified with `wev`
|
|
||||||
bind = Super, code:10, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 1 # [hidden]
|
|
||||||
bind = Super, code:11, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 2 # [hidden]
|
|
||||||
bind = Super, code:12, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 3 # [hidden]
|
|
||||||
bind = Super, code:13, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 4 # [hidden]
|
|
||||||
bind = Super, code:14, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 5 # [hidden]
|
|
||||||
bind = Super, code:15, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 6 # [hidden]
|
|
||||||
bind = Super, code:16, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 7 # [hidden]
|
|
||||||
bind = Super, code:17, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 8 # [hidden]
|
|
||||||
bind = Super, code:18, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 9 # [hidden]
|
|
||||||
bind = Super, code:19, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 10 # [hidden]
|
|
||||||
# keypad numbers
|
|
||||||
bindp = Super, code:87, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 1 # [hidden]
|
|
||||||
bindp = Super, code:88, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 2 # [hidden]
|
|
||||||
bindp = Super, code:89, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 3 # [hidden]
|
|
||||||
bindp = Super, code:83, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 4 # [hidden]
|
|
||||||
bindp = Super, code:84, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 5 # [hidden]
|
|
||||||
bindp = Super, code:85, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 6 # [hidden]
|
|
||||||
bindp = Super, code:79, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 7 # [hidden]
|
|
||||||
bindp = Super, code:80, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 8 # [hidden]
|
|
||||||
bindp = Super, code:81, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 9 # [hidden]
|
|
||||||
bindp = Super, code:90, exec, ~/.config/hypr/hyprland/scripts/workspace_action.sh workspace 10 # [hidden]
|
|
||||||
|
|
||||||
#/# bind = Ctrl+Super, ←/→,, # Focus left/right
|
|
||||||
bind = Ctrl+Super, Right, workspace, r+1 # [hidden]
|
|
||||||
bind = Ctrl+Super, Left, workspace, r-1 # [hidden]
|
|
||||||
#/# bind = Ctrl+Super+Alt, ←/→,, # [hidden] Focus busy left/right
|
|
||||||
bind = Ctrl+Super+Alt, Right, workspace, m+1 # [hidden]
|
|
||||||
bind = Ctrl+Super+Alt, Left, workspace, m-1 # [hidden]
|
|
||||||
#/# bind = Super, Page_↑/↓,, # Focus left/right
|
|
||||||
bind = Super, Page_Down, workspace, +1 # [hidden]
|
|
||||||
bind = Super, Page_Up, workspace, -1 # [hidden]
|
|
||||||
bind = Ctrl+Super, Page_Down, workspace, r+1 # [hidden]
|
|
||||||
bind = Ctrl+Super, Page_Up, workspace, r-1 # [hidden]
|
|
||||||
#/# bind = Super, Scroll ↑/↓,, # Focus left/right
|
|
||||||
bind = Super, mouse_up, workspace, +1 # [hidden]
|
|
||||||
bind = Super, mouse_down, workspace, -1 # [hidden]
|
|
||||||
bind = Ctrl+Super, mouse_up, workspace, r+1 # [hidden]
|
|
||||||
bind = Ctrl+Super, mouse_down, workspace, r-1 # [hidden]
|
|
||||||
## Special
|
|
||||||
bind = Super, S, togglespecialworkspace, # Toggle scratchpad
|
|
||||||
bind = Super, mouse:275, togglespecialworkspace, # [hidden]
|
|
||||||
bind = Ctrl+Super, BracketLeft, workspace, -1 # [hidden]
|
|
||||||
bind = Ctrl+Super, BracketRight, workspace, +1 # [hidden]
|
|
||||||
bind = Ctrl+Super, Up, workspace, r-5 # [hidden]
|
|
||||||
bind = Ctrl+Super, Down, workspace, r+5 # [hidden]
|
|
||||||
|
|
||||||
##! Virtual machines
|
|
||||||
bind = Super+Alt, F1, exec, notify-send 'Entered Virtual Machine submap' 'Keybinds disabled. Hit Super+Alt+F1 to escape' -a 'Hyprland' && hyprctl dispatch submap virtual-machine # Disable keybinds
|
|
||||||
submap = virtual-machine
|
|
||||||
bind = Super+Alt, F1, exec, notify-send 'Exited Virtual Machine submap' 'Keybinds re-enabled' -a 'Hyprland' && hyprctl dispatch submap global # [hidden]
|
|
||||||
submap = global
|
|
||||||
|
|
||||||
#!
|
|
||||||
# Testing
|
|
||||||
bind = Super+Alt, f11, exec, bash -c 'RANDOM_IMAGE=$(find ~/Pictures -type f | grep -v -i "nipple" | grep -v -i "pussy" | shuf -n 1); ACTION=$(notify-send "Test notification with body image" "This notification should contain your user account <b>image</b> and <a href=\"https://discord.com/app\">Discord</a> <b>icon</b>. Oh and here is a random image in your Pictures folder: <img src=\"$RANDOM_IMAGE\" alt=\"Testing image\"/>" -a "Hyprland keybind" -p -h "string:image-path:/var/lib/AccountsService/icons/$USER" -t 6000 -i "discord" -A "openImage=Open profile image" -A "action2=Open the random image" -A "action3=Useless button"); [[ $ACTION == *openImage ]] && xdg-open "/var/lib/AccountsService/icons/$USER"; [[ $ACTION == *action2 ]] && xdg-open \"$RANDOM_IMAGE\"' # [hidden]
|
|
||||||
bind = Super+Alt, f12, exec, bash -c 'RANDOM_IMAGE=$(find ~/Pictures -type f | grep -v -i "nipple" | grep -v -i "pussy" | shuf -n 1); ACTION=$(notify-send "Test notification" "This notification should contain a random image in your <b>Pictures</b> folder and <a href=\"https://discord.com/app\">Discord</a> <b>icon</b>.\n<i>Flick right to dismiss!</i>" -a "Discord (fake)" -p -h "string:image-path:$RANDOM_IMAGE" -t 6000 -i "discord" -A "openImage=Open profile image" -A "action2=Useless button" -A "action3=Cry more"); [[ $ACTION == *openImage ]] && xdg-open "/var/lib/AccountsService/icons/$USER"' # [hidden]
|
|
||||||
bind = Super+Alt, Equal, exec, notify-send "Urgent notification" "Ah hell no" -u critical -a 'Hyprland keybind' # [hidden]
|
|
||||||
|
|
||||||
##! Session
|
|
||||||
bindd = Super, L, Lock, exec, loginctl lock-session # Lock
|
|
||||||
bindld = Super+Shift, L, Suspend system, exec, systemctl suspend || loginctl suspend # Sleep
|
|
||||||
# bindl=,switch:on:Lid Switch, exec, systemctl suspend || loginctl suspend # [hidden] Suspend when laptop lid is closed, uncomment if for whatever reason it's not the default behavior
|
|
||||||
bindd = Ctrl+Shift+Alt+Super, Delete, Shutdown, exec, systemctl poweroff || loginctl poweroff # [hidden] Power off
|
|
||||||
|
|
||||||
##! Screen
|
|
||||||
# Zoom
|
|
||||||
binde = Super, Minus, exec, qs -c $qsConfig ipc call zoom zoomOut # Zoom out
|
|
||||||
binde = Super, Equal, exec, qs -c $qsConfig ipc call zoom zoomIn # Zoom in
|
|
||||||
binde = Super, Minus, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/hypr/hyprland/scripts/zoom.sh decrease 0.1 # [hidden] Zoom out
|
|
||||||
binde = Super, Equal, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/hypr/hyprland/scripts/zoom.sh increase 0.1 # [hidden] Zoom in
|
|
||||||
# Zoom with keypad
|
|
||||||
binde = Super, code:82, exec, qs -c $qsConfig ipc call zoom zoomOut # [hidden] Zoom out
|
|
||||||
binde = Super, code:86, exec, qs -c $qsConfig ipc call zoom zoomIn # [hidden] Zoom in
|
|
||||||
binde = Super, code:82, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/hypr/hyprland/scripts/zoom.sh decrease 0.1 # [hidden] Zoom out
|
|
||||||
binde = Super, code:86, exec, qs -c $qsConfig ipc call TEST_ALIVE || ~/.config/hypr/hyprland/scripts/zoom.sh increase 0.1 # [hidden] Zoom in
|
|
||||||
|
|
||||||
##! Media
|
|
||||||
bindl= Super+Shift, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # Next track
|
|
||||||
bindl= ,XF86AudioNext, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # [hidden]
|
|
||||||
bindl= ,XF86AudioPrev, exec, playerctl previous # [hidden]
|
|
||||||
bind = Super+Shift+Alt, mouse:275, exec, playerctl previous # [hidden]
|
|
||||||
bind = Super+Shift+Alt, mouse:276, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # [hidden]
|
|
||||||
bindl= Super+Shift, B, exec, playerctl previous # Previous track
|
|
||||||
bindl= Super+Shift, P, exec, playerctl play-pause # Play/pause media
|
|
||||||
bindl= ,XF86AudioPlay, exec, playerctl play-pause # [hidden]
|
|
||||||
bindl= ,XF86AudioPause, exec, playerctl play-pause # [hidden]
|
|
||||||
|
|
||||||
##! Apps
|
|
||||||
bind = Super, Return, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # Terminal
|
|
||||||
bind = Super, T, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # [hidden] (terminal) (alt)
|
|
||||||
bind = Ctrl+Alt, T, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "${TERMINAL}" "kitty -1" "foot" "alacritty" "wezterm" "konsole" "kgx" "uxterm" "xterm" # [hidden] (terminal) (for Ubuntu people)
|
|
||||||
bind = Super, E, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "dolphin" "nautilus" "nemo" "thunar" "${TERMINAL}" "kitty -1 fish -c yazi" # File manager
|
|
||||||
bind = Super, W, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "google-chrome-stable" "zen-browser" "firefox" "brave" "chromium" "microsoft-edge-stable" "opera" "librewolf" # Browser
|
|
||||||
bind = Super, C, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "code" "codium" "cursor" "zed" "zedit" "zeditor" "kate" "gnome-text-editor" "emacs" "command -v nvim && kitty -1 nvim" "command -v micro && kitty -1 micro" # Code editor
|
|
||||||
bind = Ctrl+Super+Shift+Alt, W, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "wps" "onlyoffice-desktopeditors" "libreoffice" # Office software
|
|
||||||
bind = Super, X, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "kate" "gnome-text-editor" "emacs" # Text editor
|
|
||||||
bind = Ctrl+Super, V, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "pavucontrol-qt" "pavucontrol" # Volume mixer
|
|
||||||
bind = Super, I, exec, XDG_CURRENT_DESKTOP=gnome ~/.config/hypr/hyprland/scripts/launch_first_available.sh "qs -p ~/.config/quickshell/$qsConfig/settings.qml" "systemsettings" "gnome-control-center" "better-control" # Settings app
|
|
||||||
bind = Ctrl+Shift, Escape, exec, ~/.config/hypr/hyprland/scripts/launch_first_available.sh "gnome-system-monitor" "plasma-systemmonitor --page-name Processes" "command -v btop && kitty -1 fish -c btop" # Task manager
|
|
||||||
|
|
||||||
# Cursed stuff
|
|
||||||
## Make window not amogus large
|
|
||||||
bind = Ctrl+Super, Backslash, resizeactive, exact 640 480 # [hidden]
|
|
||||||
|
|
||||||
@@ -0,0 +1,359 @@
|
|||||||
|
require("hyprland.lib")
|
||||||
|
require("hyprland.variables")
|
||||||
|
if is_file_exists(HOME .. "/.config/hypr/custom/variables.lua") then
|
||||||
|
require("custom.variables")
|
||||||
|
end
|
||||||
|
|
||||||
|
local qsScripts = "$HOME/.config/quickshell/$qsConfig/scripts"
|
||||||
|
local hyprScripts = "$HOME/.config/hypr/hyprland/scripts"
|
||||||
|
local qsIpcCall = "qs -c $qsConfig ipc call"
|
||||||
|
local qsIsAlive = qsIpcCall .. " TEST_ALIVE"
|
||||||
|
|
||||||
|
hl.bind("SUPER + SUPER_L", hl.dsp.global("quickshell:searchToggleRelease"), { description = "Shell: Toggle search" })
|
||||||
|
hl.bind("SUPER + SUPER_R", hl.dsp.global("quickshell:searchToggleRelease"))
|
||||||
|
hl.bind("SUPER + SUPER_L", hl.dsp.exec_cmd(qsIsAlive .. " || pkill fuzzel || fuzzel"))
|
||||||
|
hl.bind("SUPER + SUPER_R", hl.dsp.exec_cmd(qsIsAlive .. " || pkill fuzzel || fuzzel"))
|
||||||
|
|
||||||
|
hl.bind("SUPER_L", hl.dsp.global("quickshell:workspaceNumber"), { ignore_mods = true, transparent = true })
|
||||||
|
hl.bind("SUPER_R", hl.dsp.global("quickshell:workspaceNumber"), { ignore_mods = true, transparent = true })
|
||||||
|
hl.bind("SUPER_L", hl.dsp.global("quickshell:workspaceNumber"),
|
||||||
|
{ ignore_mods = true, transparent = true, release = true })
|
||||||
|
hl.bind("SUPER_R", hl.dsp.global("quickshell:workspaceNumber"),
|
||||||
|
{ ignore_mods = true, transparent = true, release = true })
|
||||||
|
hl.bind("SUPER + Tab", hl.dsp.global("quickshell:overviewWorkspacesToggle"), { description = "Shell: Toggle overview" })
|
||||||
|
hl.bind("SUPER + V", hl.dsp.global("quickshell:overviewClipboardToggle"))
|
||||||
|
hl.bind("SUPER + Period", hl.dsp.global("quickshell:overviewEmojiToggle"))
|
||||||
|
hl.bind("SUPER + A", hl.dsp.global("quickshell:sidebarLeftToggle"), { description = "Shell: Toggle left sidebar" })
|
||||||
|
hl.bind("SUPER + ALT + A", hl.dsp.global("quickshell:sidebarLeftToggleDetach"))
|
||||||
|
hl.bind("SUPER + B", hl.dsp.global("quickshell:sidebarLeftToggle"))
|
||||||
|
hl.bind("SUPER + O", hl.dsp.global("quickshell:sidebarLeftToggle"))
|
||||||
|
hl.bind("SUPER + N", hl.dsp.global("quickshell:sidebarRightToggle"), { description = "Shell: Toggle right sidebar" })
|
||||||
|
hl.bind("SUPER + Slash", hl.dsp.global("quickshell:cheatsheetToggle"), { description = "Shell: Toggle cheatsheet" })
|
||||||
|
hl.bind("SUPER + K", hl.dsp.global("quickshell:oskToggle"), { description = "Shell: Toggle on-screen keyboard" })
|
||||||
|
hl.bind("SUPER + M", hl.dsp.global("quickshell:mediaControlsToggle"), { description = "Shell: Toggle media controls" })
|
||||||
|
hl.bind("SUPER + G", hl.dsp.global("quickshell:overlayToggle"), { description = "Shell: Toggle widget overlay" })
|
||||||
|
hl.bind("CTRL + ALT + Delete", hl.dsp.global("quickshell:sessionToggle"), { description = "Shell: Toggle session menu" })
|
||||||
|
hl.bind("SUPER + J", hl.dsp.global("quickshell:barToggle"), { description = "Shell: Toggle bar" })
|
||||||
|
hl.bind("CTRL + ALT + Delete", hl.dsp.exec_cmd(qsIsAlive .. " || pkill wlogout || wlogout -p layer-shell"))
|
||||||
|
hl.bind("SHIFT + SUPER + ALT + Slash", hl.dsp.exec_cmd("qs -p $HOME/.config/quickshell/$qsConfig/welcome.qml"))
|
||||||
|
|
||||||
|
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd(qsIpcCall .. " brightness increment || brightnessctl s 5%+"),
|
||||||
|
{ locked = true, repeating = true })
|
||||||
|
hl.bind("XF86MonBrightnessDown", hl.dsp.exec_cmd(qsIpcCall .. " brightness decrement || brightnessctl s 5%-"),
|
||||||
|
{ locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1.5"),
|
||||||
|
{ locked = true, repeating = true })
|
||||||
|
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"),
|
||||||
|
{ locked = true, repeating = true })
|
||||||
|
|
||||||
|
hl.bind("CTRL + SUPER + T", hl.dsp.global("quickshell:wallpaperSelectorToggle"),
|
||||||
|
{ description = "Shell: Change wallpaper" })
|
||||||
|
hl.bind("CTRL + SUPER + ALT + T", hl.dsp.global("quickshell:wallpaperSelectorRandom"),
|
||||||
|
{ description = "Shell: Random wallpaper" })
|
||||||
|
hl.bind("CTRL + SUPER + SHIFT + D", hl.dsp.global("quickshell:toggleLightDark"),
|
||||||
|
{ description = "Shell: Toggle light/dark mode" })
|
||||||
|
hl.bind("CTRL + SUPER + T", hl.dsp.exec_cmd(qsIsAlive .. " || " .. qsScripts .. "/colors/switchwall.sh"))
|
||||||
|
hl.bind("CTRL + SUPER + R", hl.dsp.exec_cmd("killall ydotool qs quickshell; qs -c $qsConfig &"),
|
||||||
|
{ description = "Shell: Restart widgets" })
|
||||||
|
hl.bind("CTRL + SUPER + P", hl.dsp.global("quickshell:panelFamilyCycle"), { description = "Shell: Cycle panel family" })
|
||||||
|
|
||||||
|
--##! Utilities
|
||||||
|
--# Screenshot, Record, OCR, Color picker, Clipboard history
|
||||||
|
hl.bind("SUPER + V", hl.dsp.exec_cmd(
|
||||||
|
qsIsAlive .. " || pkill fuzzel || cliphist list | fuzzel --match-mode fzf --dmenu | cliphist decode | wl-copy"),
|
||||||
|
{ description = "Utilities: Clipboard history >> clipboard" })
|
||||||
|
hl.bind("SUPER + Period", hl.dsp.exec_cmd(
|
||||||
|
qsIsAlive .. " || pkill fuzzel || " .. hyprScripts .. "/fuzzel-emoji.sh copy"),
|
||||||
|
{ description = "Utilities: Emoji >> clipboard" })
|
||||||
|
hl.bind("SUPER + SHIFT + S", hl.dsp.global("quickshell:regionScreenshot"), { description = "Utilities: Screen snip" })
|
||||||
|
hl.bind("SUPER + SHIFT + S",
|
||||||
|
hl.dsp.exec_cmd(qsIsAlive .. " || pidof slurp || hyprshot --freeze --clipboard-only --mode region --silent"))
|
||||||
|
hl.bind("SUPER + SHIFT + A", hl.dsp.global("quickshell:regionSearch"), { description = "Utilities: Google Lens" })
|
||||||
|
hl.bind("SUPER + SHIFT + A", hl.dsp.exec_cmd(qsIsAlive .. " || pidof slurp || " .. hyprScripts .. "/snip_to_search.sh"))
|
||||||
|
--# OCR
|
||||||
|
hl.bind("SUPER + SHIFT + X", hl.dsp.global("quickshell:regionOcr"),
|
||||||
|
{ description = "Utilities: Character recognition >> clipboard" })
|
||||||
|
hl.bind("SUPER + SHIFT + T", hl.dsp.global("quickshell:screenTranslate"),
|
||||||
|
{ description = "Utilities: Translate screen content" })
|
||||||
|
hl.bind("SUPER + SHIFT + X", hl.dsp.exec_cmd(
|
||||||
|
qsIsAlive ..
|
||||||
|
" || pidof slurp || grim -g \"$(slurp $SLURP_ARGS)\" \"/tmp/ocr_image.png\" && tesseract \"/tmp/ocr_image.png\" stdout -l $(tesseract --list-langs | awk 'NR>1{print $1}' | tr '\\\\n' '+' | sed 's/\\\\+$/\\\\n/') | wl-copy && rm \"/tmp/ocr_image.png\""
|
||||||
|
))
|
||||||
|
--# Color picker
|
||||||
|
hl.bind("SUPER + SHIFT + C", hl.dsp.exec_cmd("hyprpicker -a"),
|
||||||
|
{ description = "Utilities: Pick color #RRGGBB >> clipboard" })
|
||||||
|
--# Recording stuff
|
||||||
|
hl.bind("SUPER + SHIFT + R", hl.dsp.global("quickshell:regionRecord"),
|
||||||
|
{ locked = true, description = "Utilities: Record region (no sound)" })
|
||||||
|
hl.bind("SUPER + SHIFT + R", hl.dsp.exec_cmd(qsIsAlive .. " || " .. qsScripts .. "/videos/record.sh"), { locked = true })
|
||||||
|
hl.bind("SUPER + ALT + R", hl.dsp.global("quickshell:regionRecord"), { locked = true })
|
||||||
|
hl.bind("SUPER + ALT + R", hl.dsp.exec_cmd(qsIsAlive .. " || " .. qsScripts .. "/videos/record.sh"), { locked = true })
|
||||||
|
hl.bind("CTRL + ALT + R", hl.dsp.exec_cmd(qsScripts .. "/videos/record.sh --fullscreen"), { locked = true })
|
||||||
|
hl.bind("SUPER + SHIFT + ALT + R", hl.dsp.exec_cmd(qsScripts .. "/videos/record.sh --fullscreen --sound"),
|
||||||
|
{ locked = true, description = "Utilities: Record screen (with sound)" })
|
||||||
|
--# Fullscreen screenshot
|
||||||
|
local grimhyprctl = "grim -o \"$(hyprctl activeworkspace -j | jq -r '.monitor')\""
|
||||||
|
hl.bind("Print", hl.dsp.exec_cmd(grimhyprctl .. " - | wl-copy"),
|
||||||
|
{ locked = true, description = "Utilities: Screenshot >> clipboard" })
|
||||||
|
hl.bind("CTRL + Print", hl.dsp.exec_cmd(
|
||||||
|
"mkdir -p $(xdg-user-dir PICTURES)/Screenshots && " ..
|
||||||
|
grimhyprctl .. " $(xdg-user-dir PICTURES)/Screenshots/Screenshot_\"$(date '+%Y-%m-%d_%H.%M.%S')\".png"
|
||||||
|
), { locked = true, non_consuming = true, description = "Utilities: Screenshot >> clipboard & file" })
|
||||||
|
hl.bind("CTRL + Print", hl.dsp.exec_cmd(grimhyprctl .. " - | wl-copy"), { locked = true, non_consuming = true })
|
||||||
|
--# AI
|
||||||
|
hl.bind("SUPER + SHIFT + ALT + mouse:273", hl.dsp.exec_cmd(hyprScripts .. "/ai/primary-buffer-query.sh"),
|
||||||
|
{ description = "Utilities: Generate AI summary for selected text" })
|
||||||
|
-- (requires a running ollama model)
|
||||||
|
|
||||||
|
--##! Screen
|
||||||
|
--# Zoom
|
||||||
|
local function zoomfunction(value)
|
||||||
|
local zoomvalue = hl.get_config("cursor:zoom_factor")
|
||||||
|
if (zoomvalue + value) > 3.0 then
|
||||||
|
hl.config({ cursor = { zoom_factor = 3.0 } })
|
||||||
|
elseif (zoomvalue + value) < 1.0 then
|
||||||
|
hl.config({ cursor = { zoom_factor = 1.0 } })
|
||||||
|
else
|
||||||
|
hl.config({ cursor = { zoom_factor = zoomvalue + value } })
|
||||||
|
end
|
||||||
|
end
|
||||||
|
hl.bind("SUPER + Minus", function() zoomfunction(-0.3) end, { repeating = true, description = "Screen: Zoom out" })
|
||||||
|
hl.bind("SUPER + Equal", function() zoomfunction(0.3) end, { repeating = true, description = "Screen: Zoom in" })
|
||||||
|
|
||||||
|
--# Zoom with keypad
|
||||||
|
hl.bind("SUPER + code:82", function() zoomfunction(-0.3) end, { repeating = true })
|
||||||
|
hl.bind("SUPER + code:86", function() zoomfunction(0.3) end, { repeating = true })
|
||||||
|
|
||||||
|
--##! Media
|
||||||
|
local mediaNextCommand =
|
||||||
|
"playerctl next || playerctl position `bc <<< \"100 * $(playerctl metadata mpris:length) / 1000000 / 100\"`"
|
||||||
|
hl.bind("SUPER + SHIFT + N", hl.dsp.exec_cmd(mediaNextCommand), { locked = true, description = "Media: Next track" })
|
||||||
|
hl.bind("XF86AudioNext", hl.dsp.exec_cmd(mediaNextCommand), { locked = true })
|
||||||
|
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||||
|
hl.bind("SUPER + SHIFT + ALT + mouse:275", hl.dsp.exec_cmd("playerctl previous"))
|
||||||
|
hl.bind("SUPER + SHIFT + ALT + mouse:276", hl.dsp.exec_cmd(mediaNextCommand))
|
||||||
|
hl.bind("SUPER + SHIFT + B", hl.dsp.exec_cmd("playerctl previous"),
|
||||||
|
{ locked = true, description = "Media: Previous track" })
|
||||||
|
hl.bind("SUPER + SHIFT + P", hl.dsp.exec_cmd("playerctl play-pause"),
|
||||||
|
{ locked = true, description = "Media: Play/pause media" })
|
||||||
|
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||||
|
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_SINK@ toggle"), { locked = true })
|
||||||
|
hl.bind("SUPER + SHIFT + M", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_SINK@ toggle"),
|
||||||
|
{ locked = true, description = "Media: Toggle mute" })
|
||||||
|
hl.bind("ALT + XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_SOURCE@ toggle"), { locked = true })
|
||||||
|
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_SOURCE@ toggle"), { locked = true })
|
||||||
|
hl.bind("SUPER + ALT + M", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_SOURCE@ toggle"),
|
||||||
|
{ locked = true, description = "Media: Toggle mic" })
|
||||||
|
|
||||||
|
--#!
|
||||||
|
--##! Window
|
||||||
|
--# Focusing
|
||||||
|
hl.bind("SUPER + mouse:272", hl.dsp.window.drag(), { mouse = true, description = "Window: Move" })
|
||||||
|
hl.bind("SUPER + mouse:274", hl.dsp.window.drag(), { mouse = true })
|
||||||
|
hl.bind("SUPER + mouse:273", hl.dsp.window.resize(), { mouse = true, description = "Window: Resize" })
|
||||||
|
--#/# bind = SUPER + ←/↑/→/↓,, -- Focus in direction
|
||||||
|
for i = 1, 4 do
|
||||||
|
local arrowkey = { "Left", "Right", "Up", "Down" }
|
||||||
|
local focusdir = { "l", "r", "u", "d" }
|
||||||
|
hl.bind("SUPER + " .. arrowkey[i], hl.dsp.focus({ direction = focusdir[i] }),
|
||||||
|
{ description = "Window: Focus " .. arrowkey[i] })
|
||||||
|
end
|
||||||
|
for i = 1, 2 do
|
||||||
|
local arrowkey = { "BracketLeft", "BracketRight" }
|
||||||
|
local focusdir = { "l", "r" }
|
||||||
|
hl.bind("SUPER + " .. arrowkey[i], hl.dsp.focus({ direction = focusdir[i] }))
|
||||||
|
end
|
||||||
|
--#/# bind = SUPER + SHIFT, ←/↑/→/↓,, -- Move in direction
|
||||||
|
for i = 1, 4 do
|
||||||
|
local arrowkey = { "Left", "Right", "Up", "Down" }
|
||||||
|
local focusdir = { "l", "r", "u", "d" }
|
||||||
|
hl.bind("SUPER + SHIFT + " .. arrowkey[i], hl.dsp.window.move({ direction = focusdir[i] }),
|
||||||
|
{ description = "Window: Move " .. arrowkey[i] })
|
||||||
|
end
|
||||||
|
|
||||||
|
hl.bind("ALT + F4",
|
||||||
|
function()
|
||||||
|
hl.exec_cmd(
|
||||||
|
"notify-send \"Wrong close keybind\" \"Super+Q to close. Use Alt+F4 for Windows VMs\" -a Hyprland")
|
||||||
|
end,
|
||||||
|
{ non_consuming = true })
|
||||||
|
hl.bind("SUPER + Q", hl.dsp.window.close(), { description = "Window: Close" })
|
||||||
|
hl.bind("SUPER + SHIFT + ALT + Q", hl.dsp.exec_cmd("hyprctl kill"), { description = "Window: Forcefully zap a window" })
|
||||||
|
|
||||||
|
--# Window split ratio
|
||||||
|
--#/# binde = SUPER, ;/',, -- Adjust split ratio
|
||||||
|
hl.bind("SUPER + Semicolon", hl.dsp.layout("splitratio -0.1"), { repeating = true })
|
||||||
|
hl.bind("SUPER + Apostrophe", hl.dsp.layout("splitratio +0.1"), { repeating = true })
|
||||||
|
--# Positioning mode
|
||||||
|
hl.bind("SUPER + ALT + Space", hl.dsp.window.float({ action = "toggle" }), { description = "Window: Float/Tile" })
|
||||||
|
hl.bind("SUPER + D", hl.dsp.window.fullscreen({ mode = "maximized", action = "toggle" }),
|
||||||
|
{ description = "Window: Maximize" })
|
||||||
|
hl.bind("SUPER + F", hl.dsp.window.fullscreen({ mode = "fullscreen", action = "toggle" }),
|
||||||
|
{ description = "Window: Fullscreen" })
|
||||||
|
hl.bind("SUPER + ALT + F", hl.dsp.window.fullscreen_state({ internal = 0, client = 3, action = "toggle" }),
|
||||||
|
{ description = "Window: Fullscreen spoof" })
|
||||||
|
hl.bind("SUPER + P", hl.dsp.window.pin(), { description = "Window: Pin" })
|
||||||
|
|
||||||
|
--#/# bind = SUPER+ALT, Hash,, -- Send to workspace -- (1, 2, 3,...)
|
||||||
|
for i = 1, 10 do
|
||||||
|
hl.bind("SUPER + ALT + " .. (i % 10), function()
|
||||||
|
hl.dispatch(hl.dsp.window.move({ workspace = workspace_in_group(i), follow = false }))
|
||||||
|
end, { description = "Window: Send to workspace " .. i })
|
||||||
|
end
|
||||||
|
--# We also use raw keycodes because some keyboard layouts register number keys as different chars. The codes can be verified with `wev`
|
||||||
|
for i = 1, 10 do
|
||||||
|
local numberkey = { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }
|
||||||
|
hl.bind("SUPER + ALT + code:" .. numberkey[i], function()
|
||||||
|
hl.dispatch(hl.dsp.window.move({ workspace = workspace_in_group(i), follow = false }))
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
--# keypad numbers
|
||||||
|
for i = 1, 10 do
|
||||||
|
local numpadkey = { 87, 88, 89, 83, 84, 85, 79, 80, 81, 90 }
|
||||||
|
hl.bind("SUPER + ALT + code:" .. numpadkey[i], function()
|
||||||
|
hl.dispatch(hl.dsp.window.move({ workspace = workspace_in_group(i), follow = false }))
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
--# #/# bind = SUPER+SHIFT, Scroll ↑/↓,, -- Send to workspace left/right
|
||||||
|
for i = 1, 4 do
|
||||||
|
local key = { "SUPER + SHIFT + mouse_", "SUPER + ALT + mouse_" }
|
||||||
|
local keycombos = { key[1] .. "down", key[1] .. "up", key[2] .. "down", key[2] .. "up" }
|
||||||
|
local prefix = { "r-", "r+", "r-", "r+" }
|
||||||
|
hl.bind(keycombos[i], hl.dsp.window.move({ workspace = prefix[i] .. "1" }))
|
||||||
|
end
|
||||||
|
|
||||||
|
--#/# bind = SUPER+SHIFT, Page_↑/↓,, -- Send to workspace left/right
|
||||||
|
for i = 1, 2 do
|
||||||
|
local keydirs = { "Up", "Down" }
|
||||||
|
local prefix = { "r-", "r+" }
|
||||||
|
local descdir = { "left", "right" }
|
||||||
|
hl.bind("SUPER + SHIFT + Page_" .. keydirs[i], hl.dsp.window.move({ workspace = prefix[i] .. "1" }), {description = "Window: Send to workspace " .. descdir[i]})
|
||||||
|
end
|
||||||
|
for i = 1, 4 do
|
||||||
|
local key = { "SUPER + ALT + Page_", "CTRL + SUPER + SHIFT + " }
|
||||||
|
local keycombos = { key[1] .. "down", key[1] .. "up", key[2] .. "Right", key[2] .. "Left" }
|
||||||
|
local prefix = { "r+", "r-", "r+", "r-" }
|
||||||
|
hl.bind(keycombos[i], hl.dsp.window.move({ workspace = prefix[i] .. "1" })) -- # [hidden]
|
||||||
|
end
|
||||||
|
|
||||||
|
hl.bind("SUPER + ALT + S",
|
||||||
|
hl.dsp.window.move({ workspace = "special:special", follow = false }), { description = "Window: Send to scratchpad" })
|
||||||
|
hl.bind("CTRL + SUPER + S", hl.dsp.workspace.toggle_special("special"))
|
||||||
|
|
||||||
|
--##! Workspace
|
||||||
|
--# Switching
|
||||||
|
--#/# bind = SUPER, Hash,, -- Focus workspace -- (1, 2, 3,...)
|
||||||
|
for i = 1, 10 do
|
||||||
|
hl.bind("SUPER + " .. (i % 10), function()
|
||||||
|
hl.dispatch(hl.dsp.focus({ workspace = workspace_in_group(i) }))
|
||||||
|
end, { description = "Workspace: Focus " .. i })
|
||||||
|
end
|
||||||
|
--# We also use raw keycodes because some keyboard layouts register number keys as different chars. The codes can be verified with `wev`
|
||||||
|
for i = 1, 10 do
|
||||||
|
local numberkey = { 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 }
|
||||||
|
hl.bind("SUPER + code:" .. numberkey[i], function()
|
||||||
|
hl.dispatch(hl.dsp.focus({ workspace = workspace_in_group(i) }))
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
--# keypad numbers
|
||||||
|
for i = 1, 10 do
|
||||||
|
local numpadkey = { 87, 88, 89, 83, 84, 85, 79, 80, 81, 90 }
|
||||||
|
hl.bind("SUPER + code:" .. numpadkey[i], function()
|
||||||
|
hl.dispatch(hl.dsp.focus({ workspace = workspace_in_group(i) }))
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
--#/# bind = CTRL+SUPER, ←/→,, -- Focus left/right
|
||||||
|
--#/# bind = CTRL+SUPER+ALT, ←/→,, -- # [hidden] Focus busy left/right
|
||||||
|
for i = 1, 2 do
|
||||||
|
local keys = { "Left", "Right" }
|
||||||
|
local prefix = { "r-", "r+" }
|
||||||
|
local descdir = { "left", "right" }
|
||||||
|
hl.bind("CTRL + SUPER + " .. keys[i], hl.dsp.focus({ workspace = prefix[i] .. "1" }), {description = "Workspace: Focus " .. descdir[i]})
|
||||||
|
end
|
||||||
|
for i = 1, 2 do
|
||||||
|
local keys = { "Left", "Right" }
|
||||||
|
local prefix = { "m-", "m+" }
|
||||||
|
hl.bind("CTRL + SUPER + ALT + " .. keys[i], hl.dsp.focus({ workspace = prefix[i] .. "1" }))
|
||||||
|
end
|
||||||
|
--#/# bind = SUPER, Page_↑/↓,, -- Focus left/right
|
||||||
|
for i = 1, 4 do
|
||||||
|
local key = { "SUPER + Page_Down", "SUPER + Page_Up" }
|
||||||
|
local keycombos = { key[1], key[2], "CTRL + " .. key[1], "CTRL + " .. key[2] }
|
||||||
|
local prefix = { "r+", "r-", "r+", "r-" }
|
||||||
|
hl.bind(keycombos[i], hl.dsp.focus({ workspace = prefix[i] .. "1" }))
|
||||||
|
end
|
||||||
|
--#/# bind = SUPER, Scroll ↑/↓,, -- Focus left/right
|
||||||
|
for i = 1, 4 do
|
||||||
|
local key = { "SUPER + mouse_up", "SUPER + mouse_down" }
|
||||||
|
local keycombos = { key[1], key[2], "CTRL + " .. key[1], "CTRL + " .. key[2] }
|
||||||
|
local prefix = { "+", "-", "r+", "r-" }
|
||||||
|
hl.bind(keycombos[i], hl.dsp.focus({ workspace = prefix[i] .. "1" }))
|
||||||
|
end
|
||||||
|
--## Special
|
||||||
|
hl.bind("SUPER + S", hl.dsp.workspace.toggle_special("special"), { description = "Workspace: Toggle scratchpad" })
|
||||||
|
hl.bind("SUPER + mouse:275", hl.dsp.workspace.toggle_special("special"))
|
||||||
|
for i = 1, 4 do
|
||||||
|
local key = { "BracketLeft", "BracketRight", "Up", "Down" }
|
||||||
|
local prefix = { "-1", "+1", "r-5", "r+5" }
|
||||||
|
hl.bind("CTRL + SUPER + " .. key[i], hl.dsp.focus({ workspace = prefix[i] }))
|
||||||
|
end
|
||||||
|
|
||||||
|
--##! Virtual machines
|
||||||
|
hl.define_submap("virtual-machine", function()
|
||||||
|
hl.bind("SUPER + ALT + F1", function()
|
||||||
|
local currentsubmap = hl.get_current_submap()
|
||||||
|
if currentsubmap == "virtual-machine" then
|
||||||
|
hl.dispatch(hl.dsp.exec_cmd(
|
||||||
|
"notify-send 'Exited Virtual Machine submap' 'Keybinds re-enabled' -a 'Hyprland'"))
|
||||||
|
hl.dispatch(hl.dsp.submap("reset"))
|
||||||
|
elseif currentsubmap == "" then
|
||||||
|
hl.dispatch(hl.dsp.exec_cmd(
|
||||||
|
"notify-send 'Entered Virtual Machine submap' 'Keybinds disabled. hit SUPER+ALT+F1 to escape' -a 'Hyprland'"))
|
||||||
|
hl.dispatch(hl.dsp.submap("virtual-machine"))
|
||||||
|
end
|
||||||
|
end, { submap_universal = true })
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
||||||
|
--#!
|
||||||
|
--# Testing
|
||||||
|
hl.bind("SUPER + ALT + F11",
|
||||||
|
hl.dsp.exec_cmd(
|
||||||
|
"bash -c 'RANDOM_IMAGE=$(find ~/Pictures -type f | shuf -n 1); ACTION=$(notify-send \"Test notification with body image\" \"This notification should contain your user account <b>image</b> and <a href=\\\"https://discord.com/app\\\">Discord</a> <b>icon</b>. Oh and here is a random image in your Pictures folder: <img src=\\\"$RANDOM_IMAGE\\\" alt=\\\"Testing image\\\"/>\" -a \"Hyprland\" -p -h \"string:image-path:/var/lib/AccountsService/icons/$USER\" -t 6000 -i \"discord\" -A \"openImage=Profile image\" -A \"action2=Open the random image\" -A \"action3=Useless button\"); [[ $ACTION == *openImage ]] && xdg-open \"/var/lib/AccountsService/icons/$USER\"; [[ $ACTION == *action2 ]] && xdg-open \"$RANDOM_IMAGE\"'")
|
||||||
|
) -- # [hidden]
|
||||||
|
hl.bind("SUPER + ALT + F12",
|
||||||
|
hl.dsp.exec_cmd(
|
||||||
|
"bash -c 'RANDOM_IMAGE=$(find ~/Pictures -type f | shuf -n 1); ACTION=$(notify-send \"Test notification\" \"This notification should contain a random image in your <b>Pictures</b> folder and <a href=\\\"https://discord.com/app\\\">Discord</a> <b>icon</b>.\n<i>Flick right to dismiss!</i>\" -a \"Discord (fake)\" -p -h \"string:image-path:$RANDOM_IMAGE\" -t 6000 -i \"discord\" -A \"openImage=Profile image\" -A \"action2=Useless button\"); [[ $ACTION == *openImage ]] && xdg-open \"/var/lib/AccountsService/icons/$USER\"'")
|
||||||
|
) -- # [hidden]
|
||||||
|
hl.bind("SUPER + ALT + Equal",
|
||||||
|
hl.dsp.exec_cmd("notify-send 'Urgent notification' 'Ah hell no' -u critical -a 'Hyprland keybind'")) -- # [hidden]
|
||||||
|
|
||||||
|
--##! Session
|
||||||
|
hl.bind("SUPER + L", hl.dsp.exec_cmd("loginctl lock-session"), { description = "Session: Lock" })
|
||||||
|
hl.bind("SUPER + SHIFT + L", hl.dsp.exec_cmd("systemctl suspend || loginctl suspend"),
|
||||||
|
{ locked = true, description = "Session: Sleep" }) -- Sleep
|
||||||
|
-- hl.bind("switch:on:Lid Switch", hl.dsp.exec_cmd("systemctl suspend || loginctl suspend"), {locked = true} ) -- # [hidden] Suspend when laptop lid is closed, uncomment if for whatever reason it's not the default behavior
|
||||||
|
|
||||||
|
hl.bind("CTRL + SHIFT + ALT + SUPER + Delete", hl.dsp.exec_cmd("systemctl poweroff || loginctl poweroff"),
|
||||||
|
{ description = "Session: Shut down" }) -- # [hidden] Power off
|
||||||
|
|
||||||
|
|
||||||
|
--##! Apps
|
||||||
|
hl.bind("SUPER + Return", hl.dsp.exec_cmd(terminal), { description = "App: Terminal" })
|
||||||
|
hl.bind("SUPER + T", hl.dsp.exec_cmd(terminal))
|
||||||
|
hl.bind("CTRL + ALT + T", hl.dsp.exec_cmd(terminal))
|
||||||
|
hl.bind("SUPER + E", hl.dsp.exec_cmd(fileManager), { description = "App: File manager" })
|
||||||
|
hl.bind("SUPER + W", hl.dsp.exec_cmd(browser), { description = "App: Browser" })
|
||||||
|
hl.bind("SUPER + C", hl.dsp.exec_cmd(codeEditor), { description = "App: Code editor" })
|
||||||
|
hl.bind("CTRL + SUPER + SHIFT + ALT + W", hl.dsp.exec_cmd(officeSoftware), { description = "App: Office software" })
|
||||||
|
hl.bind("SUPER + X", hl.dsp.exec_cmd(textEditor), { description = "App: Text editor" })
|
||||||
|
hl.bind("CTRL + SUPER + V", hl.dsp.exec_cmd(volumeMixer), { description = "App: Volume mixer" })
|
||||||
|
hl.bind("SUPER + I", hl.dsp.exec_cmd(settingsApp), { description = "App: Settings app" })
|
||||||
|
hl.bind("CTRL + SHIFT + Escape", hl.dsp.exec_cmd(taskManager), { description = "App: Task manager" })
|
||||||
|
|
||||||
|
--# Cursed stuff
|
||||||
|
--## Make window not amogus large
|
||||||
|
hl.bind("CTRL + SUPER + Backslash", hl.dsp.window.resize({ x = 640, y = 480, "exact" }))
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
HOME = os.getenv("HOME")
|
||||||
|
|
||||||
|
function is_file_exists(name)
|
||||||
|
local f = io.open(name, "r")
|
||||||
|
if f ~= nil then
|
||||||
|
io.close(f)
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function create_if_not_exists(path)
|
||||||
|
if not is_file_exists(path) then
|
||||||
|
os.execute("mkdir -p \"$(dirname \"" .. path .. "\")\"")
|
||||||
|
os.execute("echo '-- This file will not be overwritten across dots-hyprland updates.\n-- The file name is for the sake of organization and does not matter\n-- See the corresponding files in ~/.config/hypr/hyprland for examples' > \"" .. path .. "\"")
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
function workspace_in_group(i)
|
||||||
|
local curr = hl.get_active_workspace().id
|
||||||
|
local newVal = math.floor((curr - 1) / workspaceGroupSize) * workspaceGroupSize + i
|
||||||
|
-- hl.notification.create({ text = "curr " .. curr .. " floor " .. math.floor(curr / 10) .. " new " .. newVal, duration = 5000 })
|
||||||
|
return newVal
|
||||||
|
end
|
||||||
@@ -1,159 +0,0 @@
|
|||||||
# ######## Window rules ########
|
|
||||||
|
|
||||||
# Uncomment to apply global transparency to all windows:
|
|
||||||
# windowrulev2 = opacity 0.89 override 0.89 override, class:.*
|
|
||||||
|
|
||||||
# Disable blur for xwayland context menus
|
|
||||||
windowrulev2 = noblur,class:^()$,title:^()$
|
|
||||||
# windowrulev2 = noblur, xwayland:1
|
|
||||||
|
|
||||||
|
|
||||||
# Floating
|
|
||||||
windowrulev2 = center, title:^(Open File)(.*)$
|
|
||||||
windowrulev2 = float, title:^(Open File)(.*)$
|
|
||||||
windowrulev2 = center, title:^(Select a File)(.*)$
|
|
||||||
windowrulev2 = float, title:^(Select a File)(.*)$
|
|
||||||
windowrulev2 = center, title:^(Choose wallpaper)(.*)$
|
|
||||||
windowrulev2 = float, title:^(Choose wallpaper)(.*)$
|
|
||||||
windowrulev2 = size 60% 65%, title:^(Choose wallpaper)(.*)$
|
|
||||||
windowrulev2 = center, title:^(Open Folder)(.*)$
|
|
||||||
windowrulev2 = float, title:^(Open Folder)(.*)$
|
|
||||||
windowrulev2 = center, title:^(Save As)(.*)$
|
|
||||||
windowrulev2 = float, title:^(Save As)(.*)$
|
|
||||||
windowrulev2 = center, title:^(Library)(.*)$
|
|
||||||
windowrulev2 = float, title:^(Library)(.*)$
|
|
||||||
windowrulev2 = center, title:^(File Upload)(.*)$
|
|
||||||
windowrulev2 = float, title:^(File Upload)(.*)$
|
|
||||||
windowrulev2 = center, title:^(.*)(wants to save)$
|
|
||||||
windowrulev2 = float, title:^(.*)(wants to save)$
|
|
||||||
windowrulev2 = center, title:^(.*)(wants to open)$
|
|
||||||
windowrulev2 = float, title:^(.*)(wants to open)$
|
|
||||||
windowrulev2 = float, class:^(blueberry\.py)$
|
|
||||||
windowrulev2 = float, class:^(guifetch)$ # FlafyDev/guifetch
|
|
||||||
windowrulev2 = float, class:^(pavucontrol)$
|
|
||||||
windowrulev2 = size 45%, class:^(pavucontrol)$
|
|
||||||
windowrulev2 = center, class:^(pavucontrol)$
|
|
||||||
windowrulev2 = float, class:^(org.pulseaudio.pavucontrol)$
|
|
||||||
windowrulev2 = size 45%, class:^(org.pulseaudio.pavucontrol)$
|
|
||||||
windowrulev2 = center, class:^(org.pulseaudio.pavucontrol)$
|
|
||||||
windowrulev2 = float, class:^(nm-connection-editor)$
|
|
||||||
windowrulev2 = size 45%, class:^(nm-connection-editor)$
|
|
||||||
windowrulev2 = center, class:^(nm-connection-editor)$
|
|
||||||
windowrulev2 = float, class:.*plasmawindowed.*
|
|
||||||
windowrulev2 = float, class:kcm_.*
|
|
||||||
windowrulev2 = float, class:.*bluedevilwizard
|
|
||||||
windowrulev2 = float, title:.*Welcome
|
|
||||||
windowrulev2 = float, title:^(illogical-impulse Settings)$
|
|
||||||
windowrulev2 = float, title:.*Shell conflicts.*
|
|
||||||
windowrulev2 = float, class:org.freedesktop.impl.portal.desktop.kde
|
|
||||||
windowrulev2 = size 60% 65%, class:org.freedesktop.impl.portal.desktop.kde
|
|
||||||
windowrulev2 = float, class:^(Zotero)$
|
|
||||||
windowrulev2 = size 45%, class:^(Zotero)$
|
|
||||||
|
|
||||||
# Move
|
|
||||||
# kde-material-you-colors spawns a window when changing dark/light theme. This is to make sure it doesn't interfere at all.
|
|
||||||
windowrulev2 = float, class:^(plasma-changeicons)$
|
|
||||||
windowrulev2 = noinitialfocus, class:^(plasma-changeicons)$
|
|
||||||
windowrulev2 = move 999999 999999, class:^(plasma-changeicons)$
|
|
||||||
# stupid dolphin copy
|
|
||||||
windowrulev2 = move 40 80, title:^(Copying — Dolphin)$
|
|
||||||
|
|
||||||
# Tiling
|
|
||||||
windowrulev2 = tile, class:^dev\.warp\.Warp$
|
|
||||||
|
|
||||||
# Picture-in-Picture
|
|
||||||
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
||||||
windowrulev2 = keepaspectratio, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
||||||
windowrulev2 = move 73% 72%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
||||||
windowrulev2 = size 25%, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
||||||
windowrulev2 = float, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
||||||
windowrulev2 = pin, title:^([Pp]icture[-\s]?[Ii]n[-\s]?[Pp]icture)(.*)$
|
|
||||||
|
|
||||||
# --- Tearing ---
|
|
||||||
windowrulev2 = immediate, title:.*\.exe
|
|
||||||
windowrulev2 = immediate, title:.*minecraft.*
|
|
||||||
windowrulev2 = immediate, class:^(steam_app).*
|
|
||||||
|
|
||||||
# Fix Jetbrain IDEs focus/rerendering problem
|
|
||||||
windowrulev2=noinitialfocus,class:^jetbrains-.*$,floating:1,title:^$|^\s$|^win\d+$
|
|
||||||
|
|
||||||
# No shadow for tiled windows (matches windows that are not floating).
|
|
||||||
windowrulev2 = noshadow, floating:0
|
|
||||||
|
|
||||||
# ######## Workspace rules ########
|
|
||||||
workspace = special:special, gapsout:30
|
|
||||||
|
|
||||||
# ######## Layer rules ########
|
|
||||||
layerrule = xray 1, .*
|
|
||||||
# layerrule = noanim, .*
|
|
||||||
layerrule = noanim, walker
|
|
||||||
layerrule = noanim, selection
|
|
||||||
layerrule = noanim, overview
|
|
||||||
layerrule = noanim, anyrun
|
|
||||||
layerrule = noanim, indicator.*
|
|
||||||
layerrule = noanim, osk
|
|
||||||
layerrule = noanim, hyprpicker
|
|
||||||
|
|
||||||
layerrule = noanim, noanim
|
|
||||||
layerrule = blur, gtk-layer-shell
|
|
||||||
layerrule = ignorezero, gtk-layer-shell
|
|
||||||
layerrule = blur, launcher
|
|
||||||
layerrule = ignorealpha 0.5, launcher
|
|
||||||
layerrule = blur, notifications
|
|
||||||
layerrule = ignorealpha 0.69, notifications
|
|
||||||
layerrule = blur, logout_dialog # wlogout
|
|
||||||
|
|
||||||
# ags
|
|
||||||
layerrule = animation slide left, sideleft.*
|
|
||||||
layerrule = animation slide right, sideright.*
|
|
||||||
layerrule = blur, session[0-9]*
|
|
||||||
layerrule = blur, bar[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, bar[0-9]*
|
|
||||||
layerrule = blur, barcorner.*
|
|
||||||
layerrule = ignorealpha 0.6, barcorner.*
|
|
||||||
layerrule = blur, dock[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, dock[0-9]*
|
|
||||||
layerrule = blur, indicator.*
|
|
||||||
layerrule = ignorealpha 0.6, indicator.*
|
|
||||||
layerrule = blur, overview[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, overview[0-9]*
|
|
||||||
layerrule = blur, cheatsheet[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, cheatsheet[0-9]*
|
|
||||||
layerrule = blur, sideright[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, sideright[0-9]*
|
|
||||||
layerrule = blur, sideleft[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, sideleft[0-9]*
|
|
||||||
layerrule = blur, indicator.*
|
|
||||||
layerrule = ignorealpha 0.6, indicator.*
|
|
||||||
layerrule = blur, osk[0-9]*
|
|
||||||
layerrule = ignorealpha 0.6, osk[0-9]*
|
|
||||||
|
|
||||||
# Quickshell
|
|
||||||
layerrule = blurpopups, quickshell:.*
|
|
||||||
layerrule = blur, quickshell:.*
|
|
||||||
layerrule = ignorealpha 0.79, quickshell:.*
|
|
||||||
layerrule = animation slide, quickshell:bar
|
|
||||||
layerrule = animation slide bottom, quickshell:cheatsheet
|
|
||||||
layerrule = animation slide bottom, quickshell:dock
|
|
||||||
layerrule = animation popin 120%, quickshell:screenCorners
|
|
||||||
layerrule = noanim, quickshell:lockWindowPusher
|
|
||||||
layerrule = animation fade, quickshell:notificationPopup
|
|
||||||
layerrule = noanim, quickshell:overlay
|
|
||||||
layerrule = noanim, quickshell:overview
|
|
||||||
layerrule = animation slide bottom, quickshell:osk
|
|
||||||
layerrule = noanim, quickshell:polkit
|
|
||||||
layerrule = xray 0, quickshell:popup # No weird color for bar tooltips (this in theory should suffice)
|
|
||||||
layerrule = ignorealpha 1, quickshell:popup # No weird color for bar tooltips (but somehow this is necessary)
|
|
||||||
layerrule = ignorealpha 1, quickshell:mediaControls # Same as above
|
|
||||||
layerrule = noanim, quickshell:regionSelector
|
|
||||||
layerrule = noanim, quickshell:screenshot
|
|
||||||
layerrule = blur, quickshell:session
|
|
||||||
layerrule = noanim, quickshell:session
|
|
||||||
layerrule = ignorealpha 0, quickshell:session
|
|
||||||
layerrule = animation slide right, quickshell:sidebarRight
|
|
||||||
layerrule = animation slide left, quickshell:sidebarLeft
|
|
||||||
layerrule = animation slide, quickshell:verticalBar
|
|
||||||
layerrule = animation slide top, quickshell:wallpaperSelector
|
|
||||||
|
|
||||||
# Launchers need to be FAST
|
|
||||||
layerrule = noanim, gtk4-layer-shell
|
|
||||||
@@ -0,0 +1,169 @@
|
|||||||
|
-- ######## Window rules ########
|
||||||
|
|
||||||
|
-- Disable blur for xwayland context menus
|
||||||
|
hl.window_rule({match = {class = "^()$", title = "^()$" }, no_blur = true })
|
||||||
|
|
||||||
|
-- Disable blur for every window
|
||||||
|
hl.window_rule({match = {class = ".*" }, no_blur = true })
|
||||||
|
|
||||||
|
-- Floating
|
||||||
|
hl.window_rule({match = {title = "^(Open File)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Open File)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Select a File)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Select a File)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Choose wallpaper)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Choose wallpaper)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Choose wallpaper)(.*)$" }, size = {"(monitor_w*0.60)", "(monitor_h*0.65)"} })
|
||||||
|
hl.window_rule({match = {title = "^(Open Folder)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Open Folder)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Save As)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Save As)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(Library)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(Library)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(File Upload)(.*)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(File Upload)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to save)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to save)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to open)$" }, center = true})
|
||||||
|
hl.window_rule({match = {title = "^(.*)(wants to open)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(blueberry\\.py)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(guifetch)$" }, float = true}) -- FlafyDev/guifetch
|
||||||
|
hl.window_rule({match = {class = "^(pavucontrol)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(pavucontrol)$" }, size = {"(monitor_w*0.45)", "(monitor_h*0.45)"} })
|
||||||
|
hl.window_rule({match = {class = "^(pavucontrol)$" }, center = true})
|
||||||
|
hl.window_rule({match = {class = "^(org.pulseaudio.pavucontrol)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(org.pulseaudio.pavucontrol)$" }, size = {"(monitor_w*0.45)", "(monitor_h*0.45)"} })
|
||||||
|
hl.window_rule({match = {class = "^(org.pulseaudio.pavucontrol)$" }, center = true})
|
||||||
|
hl.window_rule({match = {class = "^(nm-connection-editor)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(nm-connection-editor)$" }, size = {"(monitor_w*0.45)", "(monitor_h*0.45)"} })
|
||||||
|
hl.window_rule({match = {class = "^(nm-connection-editor)$" }, center = true})
|
||||||
|
hl.window_rule({match = {class = ".*plasmawindowed.*" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "kcm_.*" }, float = true})
|
||||||
|
hl.window_rule({match = {class = ".*bluedevilwizard" }, float = true})
|
||||||
|
hl.window_rule({match = {title = ".*Welcome" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^(illogical-impulse Settings)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = ".*Shell conflicts.*" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "org.freedesktop.impl.portal.desktop.kde" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "org.freedesktop.impl.portal.desktop.kde" }, size = {"(monitor_w*0.60)", "(monitor_h*0.65)"} })
|
||||||
|
hl.window_rule({match = {class = "^(Zotero)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(Zotero)$" }, size = {"(monitor_w*0.45)", "(monitor_h*0.45)"} })
|
||||||
|
|
||||||
|
-- Move
|
||||||
|
-- kde-material-you-colors spawns a window when changing dark/light theme. This is to make sure it doesn't interfere at all.
|
||||||
|
hl.window_rule({match = {class = "^(plasma-changeicons)$" }, float = true})
|
||||||
|
hl.window_rule({match = {class = "^(plasma-changeicons)$" }, no_initial_focus = true})
|
||||||
|
hl.window_rule({match = {class = "^(plasma-changeicons)$" }, move = {999999, 999999}})
|
||||||
|
-- stupid dolphin copy
|
||||||
|
hl.window_rule({match = {title = "^(Copying — Dolphin)$" }, move = {40, 80}})
|
||||||
|
|
||||||
|
-- Tiling
|
||||||
|
hl.window_rule({match = {class = "^dev\\.warp\\.Warp$" }, tile = true})
|
||||||
|
|
||||||
|
-- Picture-in-Picture
|
||||||
|
hl.window_rule({match = {title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" }, keep_aspect_ratio = true})
|
||||||
|
hl.window_rule({match = {title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" }, move = {"(monitor_w*0.73)", "(monitor_h*0.72)"} })
|
||||||
|
hl.window_rule({match = {title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" }, size = {"(monitor_w*0.25)", "(monitor_h*0.25)"} })
|
||||||
|
hl.window_rule({match = {title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" }, float = true})
|
||||||
|
hl.window_rule({match = {title = "^([Pp]icture[-\\s]?[Ii]n[-\\s]?[Pp]icture)(.*)$" }, pin = true})
|
||||||
|
|
||||||
|
-- Screen sharing
|
||||||
|
hl.window_rule({match = {title = ".*is sharing (a window|your screen).*" }, float = true})
|
||||||
|
hl.window_rule({match = {title = ".*is sharing (a window|your screen).*" }, pin = true})
|
||||||
|
hl.window_rule({match = {title = ".*is sharing (a window|your screen).*" }, move = {"(monitor_w*.5-window_w*.5)", "(monitor_h-window_h-12)"} })
|
||||||
|
|
||||||
|
-- --- Tearing ---
|
||||||
|
hl.window_rule({match = {title = ".*\\.exe" }, immediate = true})
|
||||||
|
hl.window_rule({match = {title = ".*minecraft.*" }, immediate = true})
|
||||||
|
hl.window_rule({match = {class = "^(steam_app).*" }, immediate = true})
|
||||||
|
|
||||||
|
-- No shadow for tiled windows
|
||||||
|
hl.window_rule({match = {float = 0 }, no_shadow = true})
|
||||||
|
|
||||||
|
-- ######## Workspace rules ########
|
||||||
|
hl.workspace_rule({ workspace = "special:special", gaps_out = 30 })
|
||||||
|
|
||||||
|
-- ######## Layer rules ########
|
||||||
|
hl.layer_rule({ match = { namespace = ".*" }, xray = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "walker" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "selection" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "overview" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "anyrun" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "indicator.*" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "osk" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "hyprpicker" }, no_anim = true})
|
||||||
|
|
||||||
|
hl.layer_rule({ match = { namespace = "noanim" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "gtk-layer-shell" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "gtk-layer-shell" }, ignore_alpha = 0})
|
||||||
|
hl.layer_rule({ match = { namespace = "launcher" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "launcher" }, ignore_alpha = 0.5})
|
||||||
|
hl.layer_rule({ match = { namespace = "notifications" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "notifications" }, ignore_alpha = 0.69})
|
||||||
|
hl.layer_rule({ match = { namespace = "logout_dialog" }, blur = true}) -- wlogout
|
||||||
|
|
||||||
|
-- ags
|
||||||
|
hl.layer_rule({ match = { namespace = "sideleft.*" }, animation = "slide left"})
|
||||||
|
hl.layer_rule({ match = { namespace = "sideright.*" }, animation = "slide right"})
|
||||||
|
hl.layer_rule({ match = { namespace = "session[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "bar[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "bar[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "barcorner.*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "barcorner.*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "dock[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "dock[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "indicator.*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "indicator.*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "overview[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "overview[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "cheatsheet[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "cheatsheet[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "sideright[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "sideright[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "sideleft[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "sideleft[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "indicator.*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "indicator.*" }, ignore_alpha = 0.6})
|
||||||
|
hl.layer_rule({ match = { namespace = "osk[0-9]*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "osk[0-9]*" }, ignore_alpha = 0.6})
|
||||||
|
|
||||||
|
-- Quickshell
|
||||||
|
-- Quickshell: illogical-impulse
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:.*" }, blur_popups = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:.*" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:.*" }, ignore_alpha = 0.79})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:bar" }, animation = "slide"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:actionCenter" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:cheatsheet" }, animation = "slide bottom"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:dock" }, animation = "slide bottom"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:screenCorners" }, animation = "popin 120%"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:lockWindowPusher" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:notificationPopup" }, animation = "fade"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:overlay" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:overlay" }, ignore_alpha = 1})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:overview" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:osk" }, animation = "slide bottom"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:polkit" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:popup" }, xray = false}) -- No weird color for bar tooltips (this in theory should suffice)
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:popup" }, ignore_alpha = 1}) -- No weird color for bar tooltips (but somehow this is necessary)
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:mediaControls" }, ignore_alpha = 1}) -- Same as above
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:reloadPopup" }, animation = "slide"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:regionSelector" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:screenshot" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:session" }, blur = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:session" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:session" }, ignore_alpha = 0})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:sidebarRight" }, animation = "slide right"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:sidebarLeft" }, animation = "slide left"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:verticalBar" }, animation = "slide"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:osk" }, order = -1})
|
||||||
|
-- Quickshell: waffles
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:wallpaperSelector" }, animation = "slide top"})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:wNotificationCenter" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:wOnScreenDisplay" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:wStartMenu" }, no_anim = true})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:wTaskView" }, ignore_alpha = 0})
|
||||||
|
hl.layer_rule({ match = { namespace = "quickshell:wTaskView" }, no_anim = true})
|
||||||
|
|
||||||
|
-- Launchers need to be FAST
|
||||||
|
hl.layer_rule({ match = { namespace = "gtk4-layer-shell" }, no_anim = true})
|
||||||
@@ -1886,3 +1886,68 @@ AH↗️HA↘️HA↗️HA↘️ pekora arrows hahaha rabbit
|
|||||||
𝕏 twitter x logo
|
𝕏 twitter x logo
|
||||||
👉👈 etou ughhhhhhh shy
|
👉👈 etou ughhhhhhh shy
|
||||||
👉👌 put it in imagination perv
|
👉👌 put it in imagination perv
|
||||||
|
🫨 shaking face tremble shake shocked
|
||||||
|
🩷 pink heart love
|
||||||
|
🩵 light blue heart love cyan
|
||||||
|
🩶 grey heart gray love
|
||||||
|
🫷 leftwards pushing hand stop halt left
|
||||||
|
🫸 rightwards pushing hand stop halt right
|
||||||
|
🫎 moose animal antlers
|
||||||
|
🫏 donkey animal mule ass
|
||||||
|
🪽 wing bird feather fly
|
||||||
|
🐦⬛ black bird crow raven rook
|
||||||
|
🪿 goose bird honk
|
||||||
|
🪼 jellyfish sea ocean sting
|
||||||
|
🪻 hyacinth flower spring
|
||||||
|
🫚 ginger root spice food
|
||||||
|
🫛 pea pod peas vegetable food
|
||||||
|
🪭 folding hand fan fan cool
|
||||||
|
🪮 hair pick afro comb
|
||||||
|
🪇 maracas instrument music shake
|
||||||
|
🪈 flute instrument music
|
||||||
|
🪯 khanda sikh religion symbol
|
||||||
|
🛜 wireless wifi wi-fi internet network
|
||||||
|
🙂↔️ head shaking horizontally no shake
|
||||||
|
🙂↕️ head shaking vertically yes nod
|
||||||
|
🚶➡️ person walking facing right walk
|
||||||
|
🚶♀️➡️ woman walking facing right walk
|
||||||
|
🚶♂️➡️ man walking facing right walk
|
||||||
|
🧎➡️ person kneeling facing right kneel
|
||||||
|
🧎♀️➡️ woman kneeling facing right kneel
|
||||||
|
🧎♂️➡️ man kneeling facing right kneel
|
||||||
|
🧑🦯➡️ person with white cane facing right accessibility blind
|
||||||
|
👨🦯➡️ man with white cane facing right accessibility blind
|
||||||
|
👩🦯➡️ woman with white cane facing right accessibility blind
|
||||||
|
🧑🦼➡️ person in motorized wheelchair facing right accessibility
|
||||||
|
👨🦼➡️ man in motorized wheelchair facing right accessibility
|
||||||
|
👩🦼➡️ woman in motorized wheelchair facing right accessibility
|
||||||
|
🧑🦽➡️ person in manual wheelchair facing right accessibility
|
||||||
|
👨🦽➡️ man in manual wheelchair facing right accessibility
|
||||||
|
👩🦽➡️ woman in manual wheelchair facing right accessibility
|
||||||
|
🏃➡️ person running facing right run
|
||||||
|
🏃♀️➡️ woman running facing right run
|
||||||
|
🏃♂️➡️ man running facing right run
|
||||||
|
🧑🧑🧒 family adult adult child parents
|
||||||
|
🧑🧑🧒🧒 family adult adult child child parents
|
||||||
|
🧑🧒 family adult child parent
|
||||||
|
🧑🧒🧒 family adult child child parent
|
||||||
|
🐦🔥 phoenix fire bird rebirth
|
||||||
|
🍋🟩 lime fruit citrus green
|
||||||
|
🍄🟫 brown mushroom fungi
|
||||||
|
⛓️💥 broken chain snap shatter
|
||||||
|
face with bags under eyes tired sleepy exhausted
|
||||||
|
fingerprint id biometric
|
||||||
|
leafless tree barren dead winter
|
||||||
|
root vegetable food turnip radish
|
||||||
|
harp instrument music
|
||||||
|
shovel dig tool
|
||||||
|
splatter splash stain mess
|
||||||
|
🇨🇶 flag sark
|
||||||
|
distorted face anxiety shocked panic
|
||||||
|
fight cloud comic brawl dust
|
||||||
|
hairy creature sasquatch bigfoot
|
||||||
|
🧑🩰 ballet dancer dance ballerina
|
||||||
|
orca killer whale
|
||||||
|
landslide rockfall disaster
|
||||||
|
trombone instrument music
|
||||||
|
treasure chest gold loot pirate
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
curr_workspace="$(hyprctl activeworkspace -j | jq -r ".id")"
|
|
||||||
dispatcher="$1"
|
|
||||||
shift ## The target is now in $1, not $2
|
|
||||||
|
|
||||||
if [[ -z "${dispatcher}" || "${dispatcher}" == "--help" || "${dispatcher}" == "-h" || -z "$1" ]]; then
|
|
||||||
echo "Usage: $0 <dispatcher> <target>"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ "$1" == *"+"* || "$1" == *"-"* ]]; then ## Is this something like r+1 or -1?
|
|
||||||
hyprctl dispatch "${dispatcher}" "$1" ## $1 = workspace id since we shifted earlier.
|
|
||||||
elif [[ "$1" =~ ^[0-9]+$ ]]; then ## Is this just a number?
|
|
||||||
target_workspace=$((((curr_workspace - 1) / 10 ) * 10 + $1))
|
|
||||||
hyprctl dispatch "${dispatcher}" "${target_workspace}"
|
|
||||||
else
|
|
||||||
hyprctl dispatch "${dispatcher}" "$1" ## In case the target in a string, required for special workspaces.
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
@@ -1,54 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Controls Hyprland's cursor zoom_factor, clamped between 1.0 and 3.0
|
|
||||||
|
|
||||||
# Get current zoom level
|
|
||||||
get_zoom() {
|
|
||||||
hyprctl getoption -j cursor:zoom_factor | jq '.float'
|
|
||||||
}
|
|
||||||
|
|
||||||
# Clamp a value between 1.0 and 3.0
|
|
||||||
clamp() {
|
|
||||||
local val="$1"
|
|
||||||
awk "BEGIN {
|
|
||||||
v = $val;
|
|
||||||
if (v < 1.0) v = 1.0;
|
|
||||||
if (v > 3.0) v = 3.0;
|
|
||||||
print v;
|
|
||||||
}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Set zoom level
|
|
||||||
set_zoom() {
|
|
||||||
local value="$1"
|
|
||||||
clamped=$(clamp "$value")
|
|
||||||
hyprctl keyword cursor:zoom_factor "$clamped"
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
reset)
|
|
||||||
set_zoom 1.0
|
|
||||||
;;
|
|
||||||
increase)
|
|
||||||
if [[ -z "$2" ]]; then
|
|
||||||
echo "Usage: $0 increase STEP"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
current=$(get_zoom)
|
|
||||||
new=$(awk "BEGIN { print $current + $2 }")
|
|
||||||
set_zoom "$new"
|
|
||||||
;;
|
|
||||||
decrease)
|
|
||||||
if [[ -z "$2" ]]; then
|
|
||||||
echo "Usage: $0 decrease STEP"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
current=$(get_zoom)
|
|
||||||
new=$(awk "BEGIN { print $current - $2 }")
|
|
||||||
set_zoom "$new"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {reset|increase STEP|decrease STEP}"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
require("hyprland/lib")
|
||||||
|
|
||||||
|
hl.on("hyprland.start", function()
|
||||||
|
local homeDir = os.getenv("HOME")
|
||||||
|
if string.len(homeDir) == 0 then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local baseCustomDir = homeDir .. "/.config/hypr/custom"
|
||||||
|
local files = {
|
||||||
|
baseCustomDir .. "/env.lua",
|
||||||
|
baseCustomDir .. "/execs.lua",
|
||||||
|
baseCustomDir .. "/general.lua",
|
||||||
|
baseCustomDir .. "/keybinds.lua",
|
||||||
|
baseCustomDir .. "/rules.lua",
|
||||||
|
baseCustomDir .. "/variables.lua"
|
||||||
|
}
|
||||||
|
local createdFiles = 0
|
||||||
|
for _, file in ipairs(files) do
|
||||||
|
if not is_file_exists(file) then
|
||||||
|
create_if_not_exists(file)
|
||||||
|
createdFiles = createdFiles + 1
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if createdFiles > 0 then
|
||||||
|
-- hl.exec_cmd("notify-send 'Hyprland config' 'Created " .. createdFiles .. " custom Hyprland config files in " .. baseCustomDir .. "' -a 'Hyprland'")
|
||||||
|
-- hl.exec_cmd("hyprctl reload")
|
||||||
|
end
|
||||||
|
end)
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
require("hyprland/services/create_custom_config")
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
-- DO NOT EDIT THIS FILE. IT IS MANAGED BY THE SHELL AND FOLLOWS STRICT RULES
|
||||||
|
-- In other words, I ain't writing a lua parser for this, so please be a good boi/girl/whatever
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
-- Default variables
|
||||||
|
-- Copy these to ~/.config/hypr/custom/variables.lua to make changes in a dotfiles-update-friendly manner
|
||||||
|
|
||||||
|
-- The folder within ~/.config/quickshell containing the config
|
||||||
|
hl.env("qsConfig", "ii")
|
||||||
|
|
||||||
|
-- Apps
|
||||||
|
-- PULL REQUESTS ADDING MORE WILL NOT BE ACCEPTED, CONFIG FOR YOURSELF
|
||||||
|
terminal = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'foot' 'kitty -1' 'alacritty' 'wezterm' 'konsole' 'kgx' 'uxterm' 'xterm'"
|
||||||
|
fileManager = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'dolphin' 'nautilus' 'nemo' 'thunar' 'kitty -1 fish -c yazi'"
|
||||||
|
browser = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'google-chrome-stable' 'zen-browser' 'firefox' 'brave' 'chromium' 'microsoft-edge-stable' 'opera' 'librewolf'"
|
||||||
|
codeEditor = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'windsurf' 'antigravity' 'code' 'codium' 'cursor' 'zed' 'zedit' 'zeditor' 'kate' 'gnome-text-editor' 'emacs' 'command -v nvim && kitty -1 nvim' 'command -v micro && kitty -1 micro'"
|
||||||
|
officeSoftware = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'wps' 'onlyoffice-desktopeditors' 'libreoffice'"
|
||||||
|
textEditor = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'kate' 'gnome-text-editor' 'emacs'"
|
||||||
|
volumeMixer = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'pavucontrol-qt' 'pavucontrol'"
|
||||||
|
settingsApp = "XDG_CURRENT_DESKTOP=gnome ~/.config/hypr/hyprland/scripts/launch_first_available.sh 'qs -p ~/.config/quickshell/$qsConfig/settings.qml' 'systemsettings' 'gnome-control-center' 'better-control'"
|
||||||
|
taskManager = "~/.config/hypr/hyprland/scripts/launch_first_available.sh 'gnome-system-monitor' 'plasma-systemmonitor --page-name Processes' 'command -v btop && kitty -1 fish -c btop'"
|
||||||
|
|
||||||
|
workspaceGroupSize = 10
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# This configuration is generated by matugen
|
# This configuration is generated by matugen
|
||||||
# Changing these variables with matugen still enabled will overwrite them.
|
# Changing these variables with matugen still enabled will overwrite them.
|
||||||
|
|
||||||
$text_color = rgba(FFDAD6FF)
|
$text_color = rgba(d9e2ffFF)
|
||||||
$entry_background_color = rgba(41000311)
|
$entry_background_color = rgba(00194411)
|
||||||
$entry_border_color = rgba(896E6C55)
|
$entry_border_color = rgba(8f909955)
|
||||||
$entry_color = rgba(FFDAD6FF)
|
$entry_color = rgba(d9e2ffFF)
|
||||||
$font_family = Rubik Light
|
$font_family = Google Sans Flex Medium
|
||||||
$font_family_clock = Rubik Light
|
$font_family_clock = Google Sans Flex Medium
|
||||||
$font_material_symbols = Material Symbols Rounded
|
$font_material_symbols = Material Symbols Rounded
|
||||||
|
|||||||
@@ -1,4 +0,0 @@
|
|||||||
# This file is to be overwritten by nwg-displays if you choose to use it.
|
|
||||||
# nwg-displays is a graphical tool for managing monitors.
|
|
||||||
# - Installation for Arch Linux: sudo pacman -S nwg-displays
|
|
||||||
# - Repo: https://github.com/nwg-piotr/nwg-displays
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
# This file is to be overwritten by nwg-displays if you choose to use it.
|
|
||||||
# nwg-displays is a graphical tool for managing monitors.
|
|
||||||
# - Installation for Arch Linux: sudo pacman -S nwg-displays
|
|
||||||
# - Repo: https://github.com/nwg-piotr/nwg-displays
|
|
||||||
@@ -140,14 +140,17 @@ XftHintStyle=hintslight
|
|||||||
TerminalApplication=kitty -1
|
TerminalApplication=kitty -1
|
||||||
XftSubPixel=none
|
XftSubPixel=none
|
||||||
fixed=JetBrainsMono Nerd Font,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
fixed=JetBrainsMono Nerd Font,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
||||||
font=Rubik,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
font=Google Sans Flex,11,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium
|
||||||
menuFont=Rubik,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
menuFont=Google Sans Flex,10,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium
|
||||||
smallestReadableFont=Rubik,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
smallestReadableFont=Google Sans Flex,9,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium
|
||||||
toolBarFont=Rubik,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
toolBarFont=Google Sans Flex,10,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium
|
||||||
|
|
||||||
[Icons]
|
[Icons]
|
||||||
Theme=breeze-dark
|
Theme=breeze-dark
|
||||||
|
|
||||||
|
[KDE]
|
||||||
|
widgetStyle=Darkly
|
||||||
|
|
||||||
[KFileDialog Settings]
|
[KFileDialog Settings]
|
||||||
Allow Expansion=false
|
Allow Expansion=false
|
||||||
Automatically select filename extension=true
|
Automatically select filename extension=true
|
||||||
@@ -174,8 +177,8 @@ Theme=freedesktop
|
|||||||
[WM]
|
[WM]
|
||||||
activeBackground=54,52,58
|
activeBackground=54,52,58
|
||||||
activeBlend=252,252,252
|
activeBlend=252,252,252
|
||||||
activeFont=Rubik,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
|
|
||||||
activeForeground=230,224,233
|
activeForeground=230,224,233
|
||||||
inactiveBackground=76,70,90
|
inactiveBackground=76,70,90
|
||||||
|
activeFont=Google Sans Flex,10,-1,5,500,0,0,0,0,0,0,0,0,0,0,1,Medium
|
||||||
inactiveBlend=161,169,177
|
inactiveBlend=161,169,177
|
||||||
inactiveForeground=232,222,248
|
inactiveForeground=232,222,248
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
# Theming
|
||||||
|
include ~/.local/state/quickshell/user/generated/terminal/kitty-theme.conf
|
||||||
|
|
||||||
# Font
|
# Font
|
||||||
font_family JetBrains Mono Nerd Font
|
font_family JetBrains Mono Nerd Font
|
||||||
font_size 11.0
|
font_size 11.0
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ input_path = '~/.config/matugen/templates/colors.json'
|
|||||||
output_path = '~/.local/state/quickshell/user/generated/colors.json'
|
output_path = '~/.local/state/quickshell/user/generated/colors.json'
|
||||||
|
|
||||||
[templates.hyprland]
|
[templates.hyprland]
|
||||||
input_path = '~/.config/matugen/templates/hyprland/colors.conf'
|
input_path = '~/.config/matugen/templates/hyprland/colors.lua'
|
||||||
output_path = '~/.config/hypr/hyprland/colors.conf'
|
output_path = '~/.config/hypr/hyprland/colors.lua'
|
||||||
|
|
||||||
[templates.hyprlock]
|
[templates.hyprlock]
|
||||||
input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf'
|
input_path = '~/.config/matugen/templates/hyprland/hyprlock-colors.conf'
|
||||||
|
|||||||
@@ -1,22 +1,38 @@
|
|||||||
/*
|
/*
|
||||||
* GTK Colors
|
* GTK colors generated with Matugen
|
||||||
* Generated with Matugen
|
* The source template is here: ~/.config/matugen/templates/gtk-3.0/gtk.css
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/* Accents */
|
||||||
@define-color accent_color {{colors.primary.default.hex}};
|
@define-color accent_color {{colors.primary.default.hex}};
|
||||||
@define-color accent_fg_color {{colors.on_primary.default.hex}};
|
@define-color accent_fg_color {{colors.on_primary.default.hex}};
|
||||||
@define-color accent_bg_color {{colors.primary.default.hex}};
|
@define-color accent_bg_color {{colors.primary.default.hex}};
|
||||||
|
@define-color destructive_bg_color {{colors.error_container.default.hex}};
|
||||||
|
@define-color destructive_fg_color {{colors.on_error_container.default.hex}};
|
||||||
|
@define-color destructive_color {{colors.error.default.hex}};
|
||||||
|
@define-color success_bg_color #374B3E;
|
||||||
|
@define-color success_fg_color #D1E9D6;
|
||||||
|
@define-color success_color #B5CCBA;
|
||||||
|
/* Base surfaces */
|
||||||
@define-color window_bg_color {{colors.background.default.hex}};
|
@define-color window_bg_color {{colors.background.default.hex}};
|
||||||
@define-color window_fg_color {{colors.on_background.default.hex}};
|
@define-color window_fg_color {{colors.on_background.default.hex}};
|
||||||
@define-color headerbar_bg_color {{colors.surface_dim.default.hex}};
|
@define-color headerbar_bg_color {{colors.surface_container.default.hex}};
|
||||||
|
@define-color headerbar_backdrop_color {{colors.surface_container.default.hex}};
|
||||||
@define-color headerbar_fg_color {{colors.on_surface.default.hex}};
|
@define-color headerbar_fg_color {{colors.on_surface.default.hex}};
|
||||||
@define-color popover_bg_color {{colors.surface_dim.default.hex}};
|
@define-color card_bg_color {{colors.surface_container.default.hex}};
|
||||||
@define-color popover_fg_color {{colors.on_surface.default.hex}};
|
|
||||||
@define-color view_bg_color {{colors.surface.default.hex}};
|
|
||||||
@define-color view_fg_color {{colors.on_surface.default.hex}};
|
|
||||||
@define-color card_bg_color {{colors.surface.default.hex}};
|
|
||||||
@define-color card_fg_color {{colors.on_surface.default.hex}};
|
@define-color card_fg_color {{colors.on_surface.default.hex}};
|
||||||
@define-color sidebar_bg_color @window_bg_color;
|
@define-color sidebar_bg_color {{colors.surface_container.default.hex}};
|
||||||
@define-color sidebar_fg_color @window_fg_color;
|
@define-color sidebar_fg_color {{colors.on_surface.default.hex}};
|
||||||
@define-color sidebar_border_color @window_bg_color;
|
@define-color secondary_sidebar_bg_color {{colors.surface_container_low.default.hex}};
|
||||||
@define-color sidebar_backdrop_color @window_bg_color;
|
@define-color secondary_sidebar_fg_color {{colors.on_surface.default.hex}};
|
||||||
|
@define-color sidebar_border_color @sidebar_bg_color;
|
||||||
|
@define-color sidebar_backdrop_color @sidebar_bg_color;
|
||||||
|
@define-color view_bg_color {{colors.surface_container_lowest.default.hex}};
|
||||||
|
@define-color view_fg_color {{colors.on_surface.default.hex}};
|
||||||
|
@define-color overview_bg_color {{colors.surface_container_lowest.default.hex}};
|
||||||
|
@define-color overview_fg_color {{colors.on_surface.default.hex}};
|
||||||
|
/* Popups */
|
||||||
|
@define-color popover_bg_color {{colors.surface_container_highest.default.hex}};
|
||||||
|
@define-color popover_fg_color {{colors.on_surface.default.hex}};
|
||||||
|
@define-color dialog_bg_color {{colors.surface_container_high.default.hex}};
|
||||||
|
@define-color dialog_fg_color {{colors.on_surface.default.hex}};
|
||||||
|
|||||||
@@ -1,44 +1,541 @@
|
|||||||
/*
|
/*
|
||||||
* GTK Colors
|
* GTK colors generated with Matugen
|
||||||
* Generated with Matugen
|
* The source template is here: ~/.config/matugen/templates/gtk-4.0/gtk.css
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@media (prefers-color-scheme: light) {
|
@media (prefers-color-scheme: light) {
|
||||||
|
/* Accents */
|
||||||
@define-color accent_color {{colors.primary.light.hex}};
|
@define-color accent_color {{colors.primary.light.hex}};
|
||||||
|
@define-color accent_hover_color rgba({{colors.primary.light.red}}, {{colors.primary.light.green}}, {{colors.primary.light.blue}}, 0.08);
|
||||||
|
@define-color accent_vibrant_hover_color rgba({{colors.primary.light.red}}, {{colors.primary.light.green}}, {{colors.primary.light.blue}}, 0.18);
|
||||||
|
@define-color accent_active_color rgba({{colors.primary.light.red}}, {{colors.primary.light.green}}, {{colors.primary.light.blue}}, 0.1);
|
||||||
|
@define-color accent_vibrant_active_color rgba({{colors.primary.light.red}}, {{colors.primary.light.green}}, {{colors.primary.light.blue}}, 0.26);
|
||||||
@define-color accent_fg_color {{colors.on_primary.light.hex}};
|
@define-color accent_fg_color {{colors.on_primary.light.hex}};
|
||||||
@define-color accent_bg_color {{colors.primary.light.hex}};
|
@define-color accent_bg_color {{colors.primary.light.hex}};
|
||||||
|
@define-color destructive_bg_color {{colors.error_container.light.hex}};
|
||||||
|
@define-color destructive_fg_color {{colors.on_error_container.light.hex}};
|
||||||
|
@define-color destructive_color {{colors.error.light.hex}};
|
||||||
|
@define-color success_bg_color #B5CCBA;
|
||||||
|
@define-color success_fg_color #213528;
|
||||||
|
@define-color success_color #374B3E;
|
||||||
|
/* Base surfaces */
|
||||||
@define-color window_bg_color {{colors.background.light.hex}};
|
@define-color window_bg_color {{colors.background.light.hex}};
|
||||||
@define-color window_fg_color {{colors.on_background.light.hex}};
|
@define-color window_fg_color {{colors.on_background.light.hex}};
|
||||||
@define-color headerbar_bg_color {{colors.surface_dim.light.hex}};
|
@define-color headerbar_bg_color {{colors.surface_container.light.hex}};
|
||||||
|
@define-color headerbar_backdrop_color {{colors.surface_container.light.hex}};
|
||||||
@define-color headerbar_fg_color {{colors.on_surface.light.hex}};
|
@define-color headerbar_fg_color {{colors.on_surface.light.hex}};
|
||||||
@define-color popover_bg_color {{colors.surface_dim.light.hex}};
|
@define-color card_bg_color {{colors.surface_container.light.hex}};
|
||||||
@define-color popover_fg_color {{colors.on_surface.light.hex}};
|
|
||||||
@define-color view_bg_color {{colors.surface.light.hex}};
|
|
||||||
@define-color view_fg_color {{colors.on_surface.light.hex}};
|
|
||||||
@define-color card_bg_color {{colors.surface.light.hex}};
|
|
||||||
@define-color card_fg_color {{colors.on_surface.light.hex}};
|
@define-color card_fg_color {{colors.on_surface.light.hex}};
|
||||||
@define-color sidebar_bg_color @window_bg_color;
|
@define-color sidebar_bg_color {{colors.background.light.hex}};
|
||||||
@define-color sidebar_fg_color @window_fg_color;
|
@define-color sidebar_fg_color {{colors.on_surface.light.hex}};
|
||||||
@define-color sidebar_border_color @window_bg_color;
|
@define-color sidebar_row_active_bg_color {{colors.secondary_container.light.hex}};
|
||||||
@define-color sidebar_backdrop_color @window_bg_color;
|
@define-color sidebar_row_active_fg_color {{colors.on_secondary_container.light.hex}};
|
||||||
|
@define-color secondary_sidebar_bg_color {{colors.surface_container_low.light.hex}};
|
||||||
|
@define-color secondary_sidebar_backdrop_color {{colors.surface_container_low.light.hex}};
|
||||||
|
@define-color secondary_sidebar_fg_color {{colors.on_surface_variant.light.hex}};
|
||||||
|
@define-color sidebar_border_color @sidebar_bg_color;
|
||||||
|
@define-color sidebar_backdrop_color @sidebar_bg_color;
|
||||||
|
@define-color view_bg_color {{colors.surface_container_lowest.light.hex}};
|
||||||
|
@define-color view_fg_color {{colors.on_surface.light.hex}};
|
||||||
|
@define-color overview_bg_color {{colors.surface_container_lowest.light.hex}};
|
||||||
|
@define-color overview_fg_color {{colors.on_surface.light.hex}};
|
||||||
|
/* Popups */
|
||||||
|
@define-color popover_bg_color {{colors.surface_container_highest.light.hex}};
|
||||||
|
@define-color popover_fg_color {{colors.on_surface.light.hex}};
|
||||||
|
@define-color popover_fg_hover_color rgba({{colors.on_surface.light.red}}, {{colors.on_surface.light.green}}, {{colors.on_surface.light.blue}}, 0.08);
|
||||||
|
@define-color dialog_bg_color {{colors.surface_container_high.light.hex}};
|
||||||
|
@define-color dialog_fg_color {{colors.on_surface.light.hex}};
|
||||||
|
@define-color thumbnail_bg_color {{colors.surface_container_high.light.hex}};
|
||||||
|
@define-color thumbnail_fg_color {{colors.on_surface.light.hex}};
|
||||||
|
|
||||||
|
/* Material */
|
||||||
|
@define-color inverse_on_surface {{colors.inverse_on_surface.light.hex}};
|
||||||
|
@define-color inverse_primary {{colors.inverse_primary.light.hex}};
|
||||||
|
@define-color inverse_surface {{colors.inverse_surface.light.hex}};
|
||||||
|
@define-color surface_container_highest {{colors.surface_container_highest.light.hex}};
|
||||||
|
@define-color surface_container_high {{colors.surface_container_high.light.hex}};
|
||||||
|
@define-color on_surface_variant {{colors.on_surface_variant.light.hex}};
|
||||||
|
@define-color surface_variant {{colors.surface_variant.light.hex}};
|
||||||
|
|
||||||
|
@define-color outline {{colors.outline.light.hex}};
|
||||||
|
|
||||||
|
/* Material state layers */
|
||||||
|
@define-color inverse_on_surface_hover rgba({{colors.inverse_on_surface.light.red}}, {{colors.inverse_on_surface.light.green}}, {{colors.inverse_on_surface.light.blue}}, 0.08);
|
||||||
|
@define-color inverse_on_surface_active rgba({{colors.inverse_on_surface.light.red}}, {{colors.inverse_on_surface.light.green}}, {{colors.inverse_on_surface.light.blue}}, 0.18);
|
||||||
|
@define-color inverse_primary_hover rgba({{colors.inverse_primary.light.red}}, {{colors.inverse_primary.light.green}}, {{colors.inverse_primary.light.blue}}, 0.08);
|
||||||
|
@define-color inverse_primary_active rgba({{colors.inverse_primary.light.red}}, {{colors.inverse_primary.light.green}}, {{colors.inverse_primary.light.blue}}, 0.18);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
|
/* Accents */
|
||||||
@define-color accent_color {{colors.primary.dark.hex}};
|
@define-color accent_color {{colors.primary.dark.hex}};
|
||||||
|
@define-color accent_hover_color rgba({{colors.primary.dark.red}}, {{colors.primary.dark.green}}, {{colors.primary.dark.blue}}, 0.08);
|
||||||
|
@define-color accent_vibrant_hover_color rgba({{colors.primary.dark.red}}, {{colors.primary.dark.green}}, {{colors.primary.dark.blue}}, 0.18);
|
||||||
|
@define-color accent_active_color rgba({{colors.primary.dark.red}}, {{colors.primary.dark.green}}, {{colors.primary.dark.blue}}, 0.1);
|
||||||
|
@define-color accent_vibrant_active_color rgba({{colors.primary.dark.red}}, {{colors.primary.dark.green}}, {{colors.primary.dark.blue}}, 0.2);
|
||||||
@define-color accent_fg_color {{colors.on_primary.dark.hex}};
|
@define-color accent_fg_color {{colors.on_primary.dark.hex}};
|
||||||
@define-color accent_bg_color {{colors.primary.dark.hex}};
|
@define-color accent_bg_color {{colors.primary.dark.hex}};
|
||||||
|
@define-color destructive_bg_color {{colors.error_container.dark.hex}};
|
||||||
|
@define-color destructive_fg_color {{colors.on_error_container.dark.hex}};
|
||||||
|
@define-color destructive_color {{colors.error.dark.hex}};
|
||||||
|
@define-color success_bg_color #374B3E;
|
||||||
|
@define-color success_fg_color #D1E9D6;
|
||||||
|
@define-color success_color #B5CCBA;
|
||||||
|
/* Base surfaces */
|
||||||
@define-color window_bg_color {{colors.background.dark.hex}};
|
@define-color window_bg_color {{colors.background.dark.hex}};
|
||||||
@define-color window_fg_color {{colors.on_background.dark.hex}};
|
@define-color window_fg_color {{colors.on_background.dark.hex}};
|
||||||
@define-color headerbar_bg_color {{colors.surface_dim.dark.hex}};
|
@define-color headerbar_bg_color {{colors.surface_container.dark.hex}};
|
||||||
|
@define-color headerbar_backdrop_color {{colors.surface_container.dark.hex}};
|
||||||
@define-color headerbar_fg_color {{colors.on_surface.dark.hex}};
|
@define-color headerbar_fg_color {{colors.on_surface.dark.hex}};
|
||||||
@define-color popover_bg_color {{colors.surface_dim.dark.hex}};
|
@define-color card_bg_color {{colors.surface_container.dark.hex}};
|
||||||
@define-color popover_fg_color {{colors.on_surface.dark.hex}};
|
|
||||||
@define-color view_bg_color {{colors.surface.dark.hex}};
|
|
||||||
@define-color view_fg_color {{colors.on_surface.dark.hex}};
|
|
||||||
@define-color card_bg_color {{colors.surface.dark.hex}};
|
|
||||||
@define-color card_fg_color {{colors.on_surface.dark.hex}};
|
@define-color card_fg_color {{colors.on_surface.dark.hex}};
|
||||||
@define-color sidebar_bg_color @window_bg_color;
|
@define-color sidebar_bg_color {{colors.background.dark.hex}};
|
||||||
@define-color sidebar_fg_color @window_fg_color;
|
@define-color sidebar_fg_color {{colors.on_surface.dark.hex}};
|
||||||
@define-color sidebar_border_color @window_bg_color;
|
@define-color sidebar_row_active_bg_color {{colors.secondary_container.dark.hex}};
|
||||||
@define-color sidebar_backdrop_color @window_bg_color;
|
@define-color sidebar_row_active_fg_color {{colors.on_secondary_container.dark.hex}};
|
||||||
|
@define-color secondary_sidebar_bg_color {{colors.surface_container_low.dark.hex}};
|
||||||
|
@define-color secondary_sidebar_backdrop_color {{colors.surface_container_low.dark.hex}};
|
||||||
|
@define-color secondary_sidebar_fg_color {{colors.on_surface_variant.dark.hex}};
|
||||||
|
@define-color sidebar_border_color @sidebar_bg_color;
|
||||||
|
@define-color sidebar_backdrop_color @sidebar_bg_color;
|
||||||
|
@define-color view_bg_color {{colors.surface_container_lowest.dark.hex}};
|
||||||
|
@define-color view_fg_color {{colors.on_surface.dark.hex}};
|
||||||
|
@define-color overview_bg_color {{colors.surface_container_lowest.dark.hex}};
|
||||||
|
@define-color overview_fg_color {{colors.on_surface.dark.hex}};
|
||||||
|
/* Popups */
|
||||||
|
@define-color popover_bg_color {{colors.surface_container_highest.dark.hex}};
|
||||||
|
@define-color popover_fg_color {{colors.on_surface.dark.hex}};
|
||||||
|
@define-color popover_fg_hover_color rgba({{colors.on_surface.dark.red}}, {{colors.on_surface.dark.green}}, {{colors.on_surface.dark.blue}}, 0.08);
|
||||||
|
@define-color dialog_bg_color {{colors.surface_container_high.dark.hex}};
|
||||||
|
@define-color dialog_fg_color {{colors.on_surface.dark.hex}};
|
||||||
|
@define-color thumbnail_bg_color {{colors.surface_container_high.dark.hex}};
|
||||||
|
@define-color thumbnail_fg_color {{colors.on_surface.dark.hex}};
|
||||||
|
|
||||||
|
/* Material */
|
||||||
|
@define-color inverse_on_surface {{colors.inverse_on_surface.dark.hex}};
|
||||||
|
@define-color inverse_primary {{colors.inverse_primary.dark.hex}};
|
||||||
|
@define-color inverse_surface {{colors.inverse_surface.dark.hex}};
|
||||||
|
@define-color surface_container_highest {{colors.surface_container_highest.dark.hex}};
|
||||||
|
@define-color surface_container_high {{colors.surface_container_high.dark.hex}};
|
||||||
|
@define-color on_surface_variant {{colors.on_surface_variant.dark.hex}};
|
||||||
|
@define-color surface_variant {{colors.surface_variant.dark.hex}};
|
||||||
|
|
||||||
|
@define-color outline {{colors.outline.dark.hex}};
|
||||||
|
|
||||||
|
/* Material state layers */
|
||||||
|
@define-color inverse_on_surface_hover rgba({{colors.inverse_on_surface.dark.red}}, {{colors.inverse_on_surface.dark.green}}, {{colors.inverse_on_surface.dark.blue}}, 0.08);
|
||||||
|
@define-color inverse_on_surface_active rgba({{colors.inverse_on_surface.dark.red}}, {{colors.inverse_on_surface.dark.green}}, {{colors.inverse_on_surface.dark.blue}}, 0.18);
|
||||||
|
@define-color inverse_primary_hover rgba({{colors.inverse_primary.dark.red}}, {{colors.inverse_primary.dark.green}}, {{colors.inverse_primary.dark.blue}}, 0.08);
|
||||||
|
@define-color inverse_primary_active rgba({{colors.inverse_primary.dark.red}}, {{colors.inverse_primary.dark.green}}, {{colors.inverse_primary.dark.blue}}, 0.18);
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
caret-color: @accent_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
background: @window_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button {
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button,
|
||||||
|
.text-button * {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
splitbutton {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
splitbutton button {
|
||||||
|
border-top-left-radius: 999px;
|
||||||
|
border-bottom-left-radius: 999px;
|
||||||
|
border-top-right-radius: 4px;
|
||||||
|
border-bottom-right-radius: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
splitbutton separator {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
splitbutton menubutton {
|
||||||
|
border-top-left-radius: 4px;
|
||||||
|
border-bottom-left-radius: 4px;
|
||||||
|
border-top-right-radius: 999px;
|
||||||
|
border-bottom-right-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-menu-item {
|
||||||
|
background-color: transparent;
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar #NautilusPathButton *,
|
||||||
|
.nautilus-pathbar .nautilus-path-button * {
|
||||||
|
color: @sidebar_row_active_fg_color;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar #NautilusPathButton,
|
||||||
|
.nautilus-pathbar .nautilus-path-button {
|
||||||
|
background: @accent_active_color;
|
||||||
|
border-radius: 4px;
|
||||||
|
margin: 0;
|
||||||
|
margin-right: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar #NautilusPathButton:hover,
|
||||||
|
.nautilus-pathbar .nautilus-path-button:hover {
|
||||||
|
background: @accent_vibrant_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar #NautilusPathButton:active,
|
||||||
|
.nautilus-pathbar .nautilus-path-button:active {
|
||||||
|
background: @accent_vibrant_active_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathButton,
|
||||||
|
.nautilus-pathbar {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar box box:first-child #NautilusPathButton,
|
||||||
|
.nautilus-pathbar box box:first-child .nautilus-path-button {
|
||||||
|
border-radius: 24px 4px 4px 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar box box:last-child #NautilusPathButton,
|
||||||
|
.nautilus-pathbar box box:last-child .nautilus-path-button {
|
||||||
|
border-radius: 4px 24px 24px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar #NautilusPathButton.current-dir.current-dir,
|
||||||
|
.nautilus-pathbar .nautilus-path-button.current-dir.current-dir {
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar .dim-label,
|
||||||
|
.nautilus-pathbar .dim-label {
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar button .dim-label,
|
||||||
|
.nautilus-pathbar button .dim-label {
|
||||||
|
font-size: 14px;
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#NautilusPathBar button,
|
||||||
|
.nautilus-pathbar button {
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
#NautilusPathBar button:checked,
|
||||||
|
.nautilus-pathbar button:checked {
|
||||||
|
background: @accent_vibrant_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
headerbar button {
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
headerbar >windowhandle box stack > box:nth-child(2) {
|
||||||
|
background: @accent_active_color;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.nautilus-list-view,
|
||||||
|
.nautilus-grid-view {
|
||||||
|
background: @secondary_sidebar_bg_color;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation-sidebar row * {
|
||||||
|
color: @sidebar_fg_color;
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation-sidebar row {
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation-sidebar row:hover {
|
||||||
|
background: @accent_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation-sidebar row:active {
|
||||||
|
background: @accent_active_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation-sidebar row:selected {
|
||||||
|
background: @sidebar_row_active_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navigation-sidebar row:selected * {
|
||||||
|
color: @sidebar_row_active_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
banner widget {
|
||||||
|
border-radius: 16px 0 0 16px;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
background-color: @secondary_sidebar_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list {
|
||||||
|
box-shadow: none;
|
||||||
|
background-color: @window_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row {
|
||||||
|
background: @card_bg_color;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: none;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row.activatable:hover {
|
||||||
|
background-color: @thumbnail_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row.activatable:active {
|
||||||
|
background-color: @popover_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.horizontal>listview>row {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row:insensitive {
|
||||||
|
background-color: @card_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle {
|
||||||
|
border-radius: 4px;
|
||||||
|
background-color: @surface_container_highest;
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle:hover {
|
||||||
|
background-color: @surface_variant;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle:active {
|
||||||
|
background-color: @surface_container_highest;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle * {
|
||||||
|
color: @on_surface_variant;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row:first-child {
|
||||||
|
border-radius: 16px 16px 4px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row:last-child {
|
||||||
|
border-radius: 4px 4px 16px 16px;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle:first-child {
|
||||||
|
border-radius: 16px 4px 4px 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle:last-child {
|
||||||
|
border-radius: 4px 16px 16px 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxed-list row:first-child:last-child,
|
||||||
|
.text-button.toggle:first-child:last-child {
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle:checked {
|
||||||
|
background-color: @accent_bg_color;
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-button.toggle:checked * {
|
||||||
|
color: @accent_fg_color;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.back {
|
||||||
|
border-radius: 999px;
|
||||||
|
background-color: @accent_hover_color;
|
||||||
|
padding-left: 4px;
|
||||||
|
padding-right: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.back * {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.back:hover {
|
||||||
|
background-color: @accent_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
button.back:active {
|
||||||
|
background-color: @accent_active_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* switch */
|
||||||
|
|
||||||
|
switch {
|
||||||
|
background: @secondary_sidebar_bg_color;
|
||||||
|
border: @outline 2px solid;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch:checked {
|
||||||
|
background: @accent_color;
|
||||||
|
border-color: @accent_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch slider {
|
||||||
|
background: @outline;
|
||||||
|
margin: 3px;
|
||||||
|
min-width: 0;
|
||||||
|
min-height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch:checked slider {
|
||||||
|
background: @accent_fg_color;
|
||||||
|
outline: transparent 2px solid;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* toast */
|
||||||
|
|
||||||
|
toast {
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 6px 6px 6px 10px;
|
||||||
|
background-color: @inverse_surface;
|
||||||
|
color: @inverse_on_surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast .heading {
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast button {
|
||||||
|
background-color: transparent;
|
||||||
|
color: @inverse_primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast button:hover {
|
||||||
|
background-color: @inverse_primary_hover;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast button:active {
|
||||||
|
background-color: @inverse_primary_active;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast button:last-child {
|
||||||
|
color: @inverse_on_surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast button:last-child:hover {
|
||||||
|
background-color: @inverse_on_surface_hover;
|
||||||
|
}
|
||||||
|
|
||||||
|
toast button:last-child:active {
|
||||||
|
background-color: @inverse_on_surface_active;
|
||||||
|
}
|
||||||
|
|
||||||
|
.collapse-spacing.vertical {
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
tabbox {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
tabbox tabboxchild tab,
|
||||||
|
tabbox tabboxchild {
|
||||||
|
background: transparent;
|
||||||
|
padding: 0 8px 3px;
|
||||||
|
border-radius: 999px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tabbox tabboxchild tab {
|
||||||
|
padding: 3px 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tab:hover {
|
||||||
|
background: @accent_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
tab:active,
|
||||||
|
tab:selected {
|
||||||
|
background: @accent_active_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
tab .tab-title {
|
||||||
|
padding: 0 12px;
|
||||||
|
color: @secondary_sidebar_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
tab .tab-title label {
|
||||||
|
border: none;
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
tab:selected .tab-title label {
|
||||||
|
padding: 6px 0;
|
||||||
|
color: @accent_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* popup menu */
|
||||||
|
|
||||||
|
popover listview.view row,
|
||||||
|
popover listview.view row:first-child,
|
||||||
|
popover listview.view row:last-child {
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
popover contents,
|
||||||
|
popover arrow {
|
||||||
|
background: @secondary_sidebar_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
popover listview.view row:hover {
|
||||||
|
background: @popover_fg_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
popover listview.view row:active {
|
||||||
|
background: @popover_fg_active_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
modelbutton {
|
||||||
|
padding: 2px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
modelbutton * {
|
||||||
|
color: @popover_fg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
modelbutton:hover {
|
||||||
|
background-color: @popover_fg_hover_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background-color: @inverse_surface;
|
||||||
|
color: @inverse_on_surface;
|
||||||
|
font-size: 11px;
|
||||||
|
padding: 5px 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* search */
|
||||||
|
|
||||||
|
.entry-completion.entry-completion.entry-completion contents {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.image-button.flat arrow {
|
||||||
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +0,0 @@
|
|||||||
general {
|
|
||||||
col.active_border = rgba({{colors.outline.default.hex_stripped}}AA)
|
|
||||||
col.inactive_border = rgba({{colors.outline_variant.default.hex_stripped}}AA)
|
|
||||||
}
|
|
||||||
|
|
||||||
misc {
|
|
||||||
background_color = rgba({{colors.surface.dark.hex_stripped}}FF)
|
|
||||||
}
|
|
||||||
|
|
||||||
plugin {
|
|
||||||
hyprbars {
|
|
||||||
# Honestly idk if it works like css, but well, why not
|
|
||||||
bar_text_font = Rubik, Geist, AR One Sans, Reddit Sans, Inter, Roboto, Ubuntu, Noto Sans, sans-serif
|
|
||||||
bar_height = 30
|
|
||||||
bar_padding = 10
|
|
||||||
bar_button_padding = 5
|
|
||||||
bar_precedence_over_border = true
|
|
||||||
bar_part_of_window = true
|
|
||||||
|
|
||||||
bar_color = rgba({{colors.background.default.hex_stripped}}FF)
|
|
||||||
col.text = rgba({{colors.on_background.default.hex_stripped}}FF)
|
|
||||||
|
|
||||||
|
|
||||||
# example buttons (R -> L)
|
|
||||||
# hyprbars-button = color, size, on-click
|
|
||||||
hyprbars-button = rgb({{colors.on_background.default.hex_stripped}}), 13, , hyprctl dispatch killactive
|
|
||||||
hyprbars-button = rgb({{colors.on_background.default.hex_stripped}}), 13, , hyprctl dispatch fullscreen 1
|
|
||||||
hyprbars-button = rgb({{colors.on_background.default.hex_stripped}}), 13, , hyprctl dispatch movetoworkspacesilent special
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
windowrulev2 = bordercolor rgba({{colors.primary.default.hex_stripped}}AA) rgba({{colors.primary.default.hex_stripped}}77),pinned:1
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
hl.config({
|
||||||
|
general = {
|
||||||
|
col = {
|
||||||
|
active_border = "rgba({{colors.outline_variant.default.hex_stripped}}77)",
|
||||||
|
inactive_border = "rgba({{colors.surface_container_low.default.hex_stripped}}33)",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
misc = {
|
||||||
|
background_color = "rgba({{colors.surface.dark.hex_stripped}}FF)",
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
hl.window_rule({
|
||||||
|
match = { pin = 1 },
|
||||||
|
border_color = "rgba({{colors.primary.default.hex_stripped}}AA) rgba({{colors.primary.default.hex_stripped}}77)",
|
||||||
|
})
|
||||||
@@ -5,8 +5,8 @@ $text_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF)
|
|||||||
$entry_background_color = rgba({{colors.on_primary_fixed.default.hex_stripped}}11)
|
$entry_background_color = rgba({{colors.on_primary_fixed.default.hex_stripped}}11)
|
||||||
$entry_border_color = rgba({{colors.outline.default.hex_stripped}}55)
|
$entry_border_color = rgba({{colors.outline.default.hex_stripped}}55)
|
||||||
$entry_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF)
|
$entry_color = rgba({{colors.primary_fixed.default.hex_stripped}}FF)
|
||||||
$font_family = Rubik
|
$font_family = Google Sans Flex Medium
|
||||||
$font_family_clock = Space Grotesk DemiBold
|
$font_family_clock = Google Sans Flex Medium
|
||||||
$font_material_symbols = Material Symbols Rounded
|
$font_material_symbols = Material Symbols Rounded
|
||||||
|
|
||||||
$background_image = {{image}}
|
$background_image = {{image}}
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
[Appearance]
|
|
||||||
color_scheme_path=/usr/share/qt5ct/colors/darker.conf
|
|
||||||
custom_palette=true
|
|
||||||
icon_theme=OneUI-dark
|
|
||||||
standard_dialogs=default
|
|
||||||
style=kvantum-dark
|
|
||||||
|
|
||||||
[Fonts]
|
|
||||||
fixed="JetBrainsMono Nerd Font,11,-1,5,50,0,0,0,0,0,Regular"
|
|
||||||
general="Rubik,11,-1,5,50,0,0,0,0,0"
|
|
||||||
|
|
||||||
[Interface]
|
|
||||||
activate_item_on_single_click=1
|
|
||||||
buttonbox_layout=0
|
|
||||||
cursor_flash_time=1000
|
|
||||||
dialog_buttons_have_icons=1
|
|
||||||
double_click_interval=400
|
|
||||||
gui_effects=General
|
|
||||||
keyboard_scheme=2
|
|
||||||
menus_have_icons=true
|
|
||||||
show_shortcuts_in_context_menus=true
|
|
||||||
stylesheets=@Invalid()
|
|
||||||
toolbutton_style=4
|
|
||||||
underline_shortcut=1
|
|
||||||
wheel_scroll_lines=3
|
|
||||||
|
|
||||||
[SettingsWindow]
|
|
||||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\x98\0\0\x3\x99\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x3\x1\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x4\x98\0\0\x3\x99)
|
|
||||||
|
|
||||||
[Troubleshooting]
|
|
||||||
force_raster_widgets=1
|
|
||||||
ignored_applications=@Invalid()
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
[Appearance]
|
|
||||||
color_scheme_path=~/.config/qt6ct/style-colors.conf
|
|
||||||
custom_palette=true
|
|
||||||
icon_theme=OneUI
|
|
||||||
standard_dialogs=default
|
|
||||||
style=kvantum
|
|
||||||
|
|
||||||
[Fonts]
|
|
||||||
fixed="JetBrainsMono Nerd Font,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
|
||||||
general="Rubik,11,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular"
|
|
||||||
|
|
||||||
[Interface]
|
|
||||||
activate_item_on_single_click=1
|
|
||||||
buttonbox_layout=0
|
|
||||||
cursor_flash_time=1000
|
|
||||||
dialog_buttons_have_icons=1
|
|
||||||
double_click_interval=400
|
|
||||||
gui_effects=@Invalid()
|
|
||||||
keyboard_scheme=2
|
|
||||||
menus_have_icons=true
|
|
||||||
show_shortcuts_in_context_menus=true
|
|
||||||
stylesheets=@Invalid()
|
|
||||||
toolbutton_style=4
|
|
||||||
underline_shortcut=1
|
|
||||||
wheel_scroll_lines=3
|
|
||||||
|
|
||||||
[SettingsWindow]
|
|
||||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\as\0\0\x4\x3\0\0\0\0\0\0\0\0\0\0\as\0\0\x4\x3\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\as\0\0\x4\x3)
|
|
||||||
|
|
||||||
[Troubleshooting]
|
|
||||||
force_raster_widgets=1
|
|
||||||
ignored_applications=@Invalid()
|
|
||||||
@@ -20,9 +20,11 @@ Singleton {
|
|||||||
property bool overlayOpen: false
|
property bool overlayOpen: false
|
||||||
property bool overviewOpen: false
|
property bool overviewOpen: false
|
||||||
property bool regionSelectorOpen: false
|
property bool regionSelectorOpen: false
|
||||||
|
property bool searchOpen: false
|
||||||
property bool screenLocked: false
|
property bool screenLocked: false
|
||||||
property bool screenLockContainsCharacters: false
|
property bool screenLockContainsCharacters: false
|
||||||
property bool screenUnlockFailed: false
|
property bool screenUnlockFailed: false
|
||||||
|
property bool screenTranslatorOpen: false
|
||||||
property bool sessionOpen: false
|
property bool sessionOpen: false
|
||||||
property bool superDown: false
|
property bool superDown: false
|
||||||
property bool superReleaseMightTrigger: true
|
property bool superReleaseMightTrigger: true
|
||||||
@@ -36,14 +38,6 @@ Singleton {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
property real screenZoom: 1
|
|
||||||
onScreenZoomChanged: {
|
|
||||||
Quickshell.execDetached(["hyprctl", "keyword", "cursor:zoom_factor", root.screenZoom.toString()]);
|
|
||||||
}
|
|
||||||
Behavior on screenZoom {
|
|
||||||
animation: Appearance.animation.elementMoveFast.numberAnimation.createObject(this)
|
|
||||||
}
|
|
||||||
|
|
||||||
GlobalShortcut {
|
GlobalShortcut {
|
||||||
name: "workspaceNumber"
|
name: "workspaceNumber"
|
||||||
description: "Hold to show workspace numbers, release to show icons"
|
description: "Hold to show workspace numbers, release to show icons"
|
||||||
@@ -55,16 +49,4 @@ Singleton {
|
|||||||
root.superDown = false
|
root.superDown = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
IpcHandler {
|
|
||||||
target: "zoom"
|
|
||||||
|
|
||||||
function zoomIn() {
|
|
||||||
screenZoom = Math.min(screenZoom + 0.4, 3.0)
|
|
||||||
}
|
|
||||||
|
|
||||||
function zoomOut() {
|
|
||||||
screenZoom = Math.max(screenZoom - 0.4, 1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
@@ -1,157 +1,172 @@
|
|||||||
|
pragma ComponentBehavior: Bound
|
||||||
import QtQuick
|
import QtQuick
|
||||||
|
import QtQuick.Effects
|
||||||
import QtQuick.Layouts
|
import QtQuick.Layouts
|
||||||
import Quickshell
|
import Quickshell
|
||||||
import Qt5Compat.GraphicalEffects
|
import Quickshell.Wayland
|
||||||
|
|
||||||
Scope {
|
Scope {
|
||||||
id: root
|
id: root
|
||||||
property bool failed;
|
property bool failed
|
||||||
property string errorString;
|
property string errorString
|
||||||
|
property real progressHeight: 3
|
||||||
|
|
||||||
// Connect to the Quickshell global to listen for the reload signals.
|
// Connect to the Quickshell global to listen for the reload signals.
|
||||||
Connections {
|
Connections {
|
||||||
target: Quickshell
|
target: Quickshell
|
||||||
|
|
||||||
function onReloadCompleted() {
|
function onReloadCompleted() {
|
||||||
root.failed = false;
|
root.failed = false;
|
||||||
popupLoader.loading = true;
|
popupLoader.loading = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function onReloadFailed(error: string) {
|
function onReloadFailed(error: string) {
|
||||||
// Close any existing popup before making a new one.
|
// Close any existing popup before making a new one.
|
||||||
popupLoader.active = false;
|
popupLoader.active = false;
|
||||||
|
|
||||||
root.failed = true;
|
root.failed = true;
|
||||||
root.errorString = error;
|
root.errorString = error;
|
||||||
popupLoader.loading = true;
|
popupLoader.loading = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keep the popup in a loader because it isn't needed most of the time
|
// Keep the popup in a loader because it isn't needed most of the time
|
||||||
LazyLoader {
|
LazyLoader {
|
||||||
id: popupLoader
|
id: popupLoader
|
||||||
|
|
||||||
PanelWindow {
|
PanelWindow {
|
||||||
id: popup
|
id: popup
|
||||||
|
|
||||||
exclusiveZone: 0
|
exclusiveZone: 0
|
||||||
anchors.top: true
|
anchors.top: true
|
||||||
margins.top: 0
|
margins.top: 0
|
||||||
|
|
||||||
implicitWidth: rect.width + shadow.radius * 2
|
implicitWidth: rect.width + 8 * 2
|
||||||
implicitHeight: rect.height + shadow.radius * 2
|
implicitHeight: rect.height + 8 * 2
|
||||||
|
|
||||||
// color blending is a bit odd as detailed in the type reference.
|
WlrLayershell.namespace: "quickshell:reloadPopup"
|
||||||
color: "transparent"
|
|
||||||
|
|
||||||
Rectangle {
|
// color blending is a bit odd as detailed in the type reference.
|
||||||
id: rect
|
color: "transparent"
|
||||||
anchors.centerIn: parent
|
|
||||||
color: failed ? "#ffe99195" : "#ffD1E8D5"
|
|
||||||
|
|
||||||
implicitHeight: layout.implicitHeight + 30
|
RectangularShadow {
|
||||||
implicitWidth: layout.implicitWidth + 30
|
|
||||||
radius: 12
|
|
||||||
|
|
||||||
// Fills the whole area of the rectangle, making any clicks go to it,
|
|
||||||
// which dismiss the popup.
|
|
||||||
MouseArea {
|
|
||||||
id: mouseArea
|
|
||||||
anchors.fill: parent
|
|
||||||
onPressed: {
|
|
||||||
popupLoader.active = false
|
|
||||||
}
|
|
||||||
|
|
||||||
// makes the mouse area track mouse hovering, so the hide animation
|
|
||||||
// can be paused when hovering.
|
|
||||||
hoverEnabled: true
|
|
||||||
}
|
|
||||||
|
|
||||||
ColumnLayout {
|
|
||||||
id: layout
|
|
||||||
spacing: 10
|
|
||||||
anchors {
|
|
||||||
top: parent.top
|
|
||||||
topMargin: 10
|
|
||||||
horizontalCenter: parent.horizontalCenter
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
renderType: Text.NativeRendering
|
|
||||||
font.family: "Rubik"
|
|
||||||
font.pointSize: 14
|
|
||||||
text: root.failed ? "Quickshell: Reload failed" : "Quickshell reloaded"
|
|
||||||
color: failed ? "#ff93000A" : "#ff0C1F13"
|
|
||||||
}
|
|
||||||
|
|
||||||
Text {
|
|
||||||
renderType: Text.NativeRendering
|
|
||||||
font.family: "JetBrains Mono NF"
|
|
||||||
font.pointSize: 11
|
|
||||||
text: root.errorString
|
|
||||||
color: failed ? "#ff93000A" : "#ff0C1F13"
|
|
||||||
// When visible is false, it also takes up no space.
|
|
||||||
visible: root.errorString != ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// A progress bar on the bottom of the screen, showing how long until the
|
|
||||||
// popup is removed.
|
|
||||||
Rectangle {
|
|
||||||
z: 2
|
|
||||||
id: bar
|
|
||||||
color: failed ? "#ff93000A" : "#ff0C1F13"
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.margins: 10
|
|
||||||
height: 5
|
|
||||||
radius: 9999
|
|
||||||
|
|
||||||
PropertyAnimation {
|
|
||||||
id: anim
|
|
||||||
target: bar
|
|
||||||
property: "width"
|
|
||||||
from: rect.width - bar.anchors.margins * 2
|
|
||||||
to: 0
|
|
||||||
duration: failed ? 10000 : 1000
|
|
||||||
onFinished: popupLoader.active = false
|
|
||||||
|
|
||||||
// Pause the animation when the mouse is hovering over the popup,
|
|
||||||
// so it stays onscreen while reading. This updates reactively
|
|
||||||
// when the mouse moves on and off the popup.
|
|
||||||
paused: mouseArea.containsMouse
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Its bg
|
|
||||||
Rectangle {
|
|
||||||
z: 1
|
|
||||||
id: bar_bg
|
|
||||||
color: failed ? "#30af1b25" : "#4027643e"
|
|
||||||
anchors.bottom: parent.bottom
|
|
||||||
anchors.left: parent.left
|
|
||||||
anchors.margins: 10
|
|
||||||
height: 5
|
|
||||||
radius: 9999
|
|
||||||
width: rect.width - bar.anchors.margins * 2
|
|
||||||
}
|
|
||||||
|
|
||||||
// We could set `running: true` inside the animation, but the width of the
|
|
||||||
// rectangle might not be calculated yet, due to the layout.
|
|
||||||
// In the `Component.onCompleted` event handler, all of the component's
|
|
||||||
// properties and children have been initialized.
|
|
||||||
Component.onCompleted: anim.start()
|
|
||||||
}
|
|
||||||
|
|
||||||
DropShadow {
|
|
||||||
id: shadow
|
|
||||||
anchors.fill: rect
|
anchors.fill: rect
|
||||||
horizontalOffset: 0
|
radius: rect.radius
|
||||||
verticalOffset: 2
|
blur: 6.3
|
||||||
radius: 6
|
offset: Qt.vector2d(0.0, 1.0)
|
||||||
samples: radius * 2 + 1 // Ideally should be 2 * radius + 1, see qt docs
|
spread: 1
|
||||||
color: "#44000000"
|
color: "#55000000"
|
||||||
source: rect
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
Rectangle {
|
||||||
|
id: rect
|
||||||
|
anchors.centerIn: parent
|
||||||
|
color: root.failed ? "#ffe99195" : "#ffD1E8D5"
|
||||||
|
|
||||||
|
implicitHeight: layout.implicitHeight + 30
|
||||||
|
implicitWidth: layout.implicitWidth + 30
|
||||||
|
radius: 8
|
||||||
|
|
||||||
|
// Fills the whole area of the rectangle, making any clicks go to it,
|
||||||
|
// which dismiss the popup.
|
||||||
|
MouseArea {
|
||||||
|
id: mouseArea
|
||||||
|
anchors.fill: parent
|
||||||
|
onPressed: {
|
||||||
|
popupLoader.active = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// makes the mouse area track mouse hovering, so the hide animation
|
||||||
|
// can be paused when hovering.
|
||||||
|
hoverEnabled: true
|
||||||
|
}
|
||||||
|
|
||||||
|
ColumnLayout {
|
||||||
|
id: layout
|
||||||
|
spacing: 10
|
||||||
|
anchors {
|
||||||
|
top: parent.top
|
||||||
|
topMargin: 10
|
||||||
|
horizontalCenter: parent.horizontalCenter
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: title
|
||||||
|
renderType: Text.NativeRendering
|
||||||
|
font.family: "Google Sans Flex"
|
||||||
|
font.pointSize: 14
|
||||||
|
text: root.failed ? "Quickshell: Reload failed" : "Quickshell reloaded"
|
||||||
|
color: root.failed ? "#ff93000A" : "#ff0C1F13"
|
||||||
|
}
|
||||||
|
|
||||||
|
Text {
|
||||||
|
id: info
|
||||||
|
renderType: Text.NativeRendering
|
||||||
|
font.family: "JetBrains Mono NF"
|
||||||
|
font.pointSize: 11
|
||||||
|
text: root.errorString
|
||||||
|
color: root.failed ? "#ff93000A" : "#ff0C1F13"
|
||||||
|
// When visible is false, it also takes up no space.
|
||||||
|
visible: root.errorString != ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// A progress bar on the bottom of the screen, showing how long until the
|
||||||
|
// popup is removed.
|
||||||
|
Rectangle {
|
||||||
|
id: bar
|
||||||
|
z: 2
|
||||||
|
color: root.failed ? "#ff93000A" : "#ff0C1F13"
|
||||||
|
property real maxWidth: Math.max(title.width, info.width)
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
leftMargin: (parent.width - maxWidth) / 2
|
||||||
|
bottom: parent.bottom
|
||||||
|
bottomMargin: 10
|
||||||
|
}
|
||||||
|
height: root.progressHeight
|
||||||
|
radius: 9999
|
||||||
|
|
||||||
|
PropertyAnimation {
|
||||||
|
id: anim
|
||||||
|
target: bar
|
||||||
|
property: "width"
|
||||||
|
from: Math.max(title.width, info.width)
|
||||||
|
to: 0
|
||||||
|
duration: root.failed ? 10000 : 1000
|
||||||
|
onFinished: popupLoader.active = false
|
||||||
|
|
||||||
|
// Pause the animation when the mouse is hovering over the popup,
|
||||||
|
// so it stays onscreen while reading. This updates reactively
|
||||||
|
// when the mouse moves on and off the popup.
|
||||||
|
paused: mouseArea.containsMouse
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Its bg
|
||||||
|
Rectangle {
|
||||||
|
id: bar_bg
|
||||||
|
z: 1
|
||||||
|
color: root.failed ? "#30af1b25" : "#4027643e"
|
||||||
|
property real maxWidth: Math.max(title.width, info.width)
|
||||||
|
anchors {
|
||||||
|
left: parent.left
|
||||||
|
right: parent.right
|
||||||
|
leftMargin: (parent.width - maxWidth) / 2
|
||||||
|
rightMargin: anchors.leftMargin
|
||||||
|
bottom: parent.bottom
|
||||||
|
bottomMargin: 10
|
||||||
|
}
|
||||||
|
height: root.progressHeight
|
||||||
|
radius: 9999
|
||||||
|
width: bar.width
|
||||||
|
}
|
||||||
|
|
||||||
|
// We could set `running: true` inside the animation, but the width of the
|
||||||
|
// rectangle might not be calculated yet, due to the layout.
|
||||||
|
// In the `Component.onCompleted` event handler, all of the component's
|
||||||
|
// properties and children have been initialized.
|
||||||
|
Component.onCompleted: anim.start()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
sodipodi:docname=".svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="7.75"
|
||||||
|
inkscape:cx="12"
|
||||||
|
inkscape:cy="12"
|
||||||
|
inkscape:window-width="1173"
|
||||||
|
inkscape:window-height="790"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1007 B |
@@ -1,5 +1,5 @@
|
|||||||
The "search" and "task view" icons are from here, with modifications
|
The "start-here", "search" and "task view" icons are from here, with modifications
|
||||||
|
|
||||||
https://www.figma.com/community/file/1123040825921884189/windows-11
|
[Windows 11 by Joshua Oghenekaro Okwe - Figma](https://www.figma.com/community/file/1123040825921884189/windows-11)
|
||||||
|
|
||||||
License: CC BY 4.0
|
License: [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/deed.en)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M11.883 3.007 12 3a1 1 0 0 1 .993.883L13 4v7h7a1 1 0 0 1 .993.883L21 12a1 1 0 0 1-.883.993L20 13h-7v7a1 1 0 0 1-.883.993L12 21a1 1 0 0 1-.993-.883L11 20v-7H4a1 1 0 0 1-.993-.883L3 12a1 1 0 0 1 .883-.993L4 11h7V4a1 1 0 0 1 .883-.993L12 3l-.117.007Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 375 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M11.75 3a.75.75 0 0 1 .743.648l.007.102.001 7.25h7.253a.75.75 0 0 1 .102 1.493l-.102.007h-7.253l.002 7.25a.75.75 0 0 1-1.493.101l-.007-.102-.002-7.249H3.752a.75.75 0 0 1-.102-1.493L3.752 11h7.25L11 3.75a.75.75 0 0 1 .75-.75Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 352 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M9.04173 19.003H14.9583C14.7196 20.4211 13.486 21.5015 12 21.5015C10.514 21.5015 9.28037 20.4211 9.04173 19.003ZM12 2.00391C16.1421 2.00391 19.5 5.36177 19.5 9.50391V13.5024L20.9183 16.6625C20.9732 16.7848 21.0016 16.9174 21.0016 17.0515C21.0016 17.5762 20.5763 18.0015 20.0516 18.0015H3.95219C3.8184 18.0015 3.68613 17.9733 3.56402 17.9186C3.08515 17.7042 2.87073 17.1422 3.08511 16.6633L4.50001 13.5028L4.50011 9.49099L4.50453 9.24107C4.6436 5.21035 7.95588 2.00391 12 2.00391Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 651 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M3.28034 2.21968C2.98745 1.92678 2.51257 1.92677 2.21968 2.21966C1.92678 2.51255 1.92677 2.98743 2.21966 3.28032L5.22385 6.28457C4.7954 7.18486 4.54098 8.18466 4.50453 9.24108L4.50011 9.491L4.50001 13.5028L3.08511 16.6633C2.87073 17.1422 3.08515 17.7042 3.56402 17.9186C3.68613 17.9733 3.8184 18.0015 3.95219 18.0015H16.9406L20.7194 21.7805C21.0123 22.0734 21.4872 22.0734 21.7801 21.7805C22.073 21.4876 22.073 21.0127 21.7801 20.7198L3.28034 2.21968ZM21.0016 17.0515C21.0016 17.2676 20.9295 17.4668 20.808 17.6264L7.05071 3.86876C8.37284 2.70708 10.1062 2.00392 12 2.00392C16.1421 2.00392 19.5 5.36178 19.5 9.50392V13.5024L20.9183 16.6625C20.9732 16.7849 21.0016 16.9174 21.0016 17.0515ZM14.9583 19.003C14.7196 20.4211 13.486 21.5015 12 21.5015C10.514 21.5015 9.28037 20.4211 9.04173 19.003H14.9583Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 972 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M5.21938 6.27997L2.21966 3.28019C1.92677 2.9873 1.92678 2.51242 2.21968 2.21953C2.51257 1.92664 2.98745 1.92665 3.28034 2.21954L21.7801 20.7197C22.073 21.0126 22.073 21.4875 21.7801 21.7804C21.4872 22.0732 21.0123 22.0732 20.7194 21.7803L17.4398 18.5006L15.0001 18.5014C15.0001 20.1582 13.657 21.5014 12.0001 21.5014C10.4024 21.5014 9.09645 20.2524 9.0052 18.6776L8.99966 18.4991L4.27498 18.4999C4.10364 18.4999 3.93413 18.4646 3.77697 18.3964C3.14377 18.1213 2.85342 17.3851 3.12846 16.7519L4.50011 13.594V9.49599C4.50028 8.34367 4.7582 7.25363 5.21938 6.27997ZM15.9391 16.9999L6.36473 7.42534C6.1289 8.07014 6.00022 8.76748 6.00011 9.49609V13.9057L4.65613 16.9999H15.9391ZM13.4997 18.4991L10.5001 18.5014C10.5001 19.3298 11.1717 20.0014 12.0001 20.0014C12.7798 20.0014 13.4206 19.4065 13.4932 18.6458L13.4997 18.4991ZM18.0001 13.9067L18.7084 15.5266L20.8958 17.714C20.9532 17.5705 20.9848 17.4139 20.9848 17.2499C20.9848 17.0775 20.9492 16.907 20.8801 16.7491L19.5001 13.5931V9.49609L19.4959 9.24515C19.3568 5.19084 16.05 1.99609 12.0001 1.99609C10.0984 1.99609 8.36403 2.69926 7.0433 3.86123L8.10667 4.92462C9.15366 4.03291 10.5126 3.49609 12.0001 3.49609C15.2417 3.49609 17.8854 6.05027 17.9965 9.28375L18.0002 9.50895L18.0001 13.9067Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M15.2503 7H12.7503L12.6486 7.00685C12.2825 7.05651 12.0003 7.3703 12.0003 7.75C12.0003 8.16421 12.3361 8.5 12.7503 8.5H13.793L12.14 10.8141L12.0847 10.9035C11.8281 11.3892 12.1762 12 12.7503 12H15.2503L15.3521 11.9932C15.7182 11.9435 16.0003 11.6297 16.0003 11.25C16.0003 10.8358 15.6646 10.5 15.2503 10.5H14.2077L15.8606 8.18593L15.9159 8.0965C16.1726 7.61079 15.8245 7 15.2503 7ZM21.2503 2H17.7503L17.6486 2.00685C17.2825 2.05651 17.0003 2.3703 17.0003 2.75C17.0003 3.16421 17.3361 3.5 17.7503 3.5H19.8841L17.1176 7.84734L17.0685 7.93689C16.8429 8.42124 17.1933 9 17.7503 9H21.2503L21.3521 8.99315C21.7182 8.94349 22.0003 8.6297 22.0003 8.25C22.0003 7.83579 21.6646 7.5 21.2503 7.5H19.1166L21.8831 3.15266L21.9322 3.06311C22.1578 2.57876 21.8074 2 21.2503 2ZM12.6992 5.5H15.2496C15.7577 5.5 16.2059 5.65842 16.5659 5.91925L17.1948 4.93106C16.2579 4.69344 15.5554 3.86808 15.5028 2.87044C14.4573 2.3172 13.2652 2.00391 12 2.00391C7.95588 2.00391 4.6436 5.21035 4.50453 9.24107L4.50011 9.49099L4.50001 13.5028L3.08511 16.6633C2.87073 17.1422 3.08515 17.7042 3.56402 17.9186C3.68613 17.9733 3.8184 18.0015 3.95219 18.0015H20.0516C20.5763 18.0015 21.0016 17.5762 21.0016 17.0515C21.0016 16.9174 20.9732 16.7848 20.9183 16.6625L19.5 13.5024V10.5H17.7496C17.6155 10.5 17.4854 10.4889 17.3599 10.4677C17.4503 10.7113 17.4996 10.9749 17.4996 11.25C17.4996 12.3903 16.6528 13.3304 15.5531 13.4795L15.5028 13.4864L15.3 13.5H12.7496C11.0204 13.5 9.98519 11.6649 10.7578 10.2027L10.7815 10.1578L10.8898 9.98276L11.2724 9.44714C10.7989 9.03466 10.4996 8.42727 10.4996 7.75C10.4996 6.60969 11.3465 5.66965 12.4462 5.52046L12.4965 5.51364L12.6992 5.5ZM14.9583 19.003C14.7196 20.4211 13.486 21.5015 12 21.5015C10.514 21.5015 9.28037 20.4211 9.04173 19.003H14.9583Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M11.9994 3.5C8.89563 3.5 5.99929 5.93202 5.99929 9.75V13.9028L4.68294 17H19.3525L17.9993 13.9069V11.75C17.9993 11.3358 18.3351 11 18.7493 11C19.1635 11 19.4993 11.3358 19.4993 11.75V13.5931L20.88 16.749C21.2413 17.5748 20.6362 18.5 19.7348 18.5H15.0012C15.0004 20.157 13.6568 21.5 11.9996 21.5C10.3424 21.5 8.9989 20.157 8.99805 18.5H4.30504C3.40926 18.5 2.80425 17.5855 3.15463 16.7611L4.49929 13.5972V9.75C4.49929 5.06798 8.10327 2 11.9994 2C12.8589 2 13.7043 2.14907 14.4999 2.43197C14.8902 2.57074 15.094 2.99962 14.9553 3.38989C14.8165 3.78017 14.3876 3.98405 13.9973 3.84528C13.3609 3.61898 12.6854 3.5 11.9994 3.5ZM11.9996 20C12.8284 20 13.5004 19.3286 13.5012 18.5H10.498C10.4989 19.3286 11.1709 20 11.9996 20ZM15.2503 7H12.7503L12.6486 7.00685C12.2825 7.05651 12.0003 7.3703 12.0003 7.75C12.0003 8.16421 12.3361 8.5 12.7503 8.5H13.793L12.14 10.8141L12.0847 10.9035C11.8281 11.3892 12.1762 12 12.7503 12H15.2503L15.3521 11.9932C15.7182 11.9435 16.0003 11.6297 16.0003 11.25C16.0003 10.8358 15.6646 10.5 15.2503 10.5H14.2077L15.8606 8.18593L15.9159 8.0965C16.1726 7.61079 15.8245 7 15.2503 7ZM21.2503 2H17.7503L17.6486 2.00685C17.2825 2.05651 17.0003 2.3703 17.0003 2.75C17.0003 3.16421 17.3361 3.5 17.7503 3.5H19.8841L17.1176 7.84734L17.0685 7.93689C16.8429 8.42124 17.1933 9 17.7503 9H21.2503L21.3521 8.99315C21.7182 8.94349 22.0003 8.6297 22.0003 8.25C22.0003 7.83579 21.6646 7.5 21.2503 7.5H19.1166L21.8831 3.15266L21.9322 3.06311C22.1578 2.57876 21.8074 2 21.2503 2Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M12.0001 1.99609C16.05 1.99609 19.3568 5.19084 19.4959 9.24515L19.5001 9.49609V13.5931L20.8801 16.7491C20.9492 16.907 20.9848 17.0775 20.9848 17.2499C20.9848 17.9402 20.4252 18.4999 19.7348 18.4999L15.0001 18.5014C15.0001 20.1582 13.657 21.5014 12.0001 21.5014C10.4024 21.5014 9.09645 20.2524 9.0052 18.6776L8.99966 18.4991L4.27498 18.4999C4.10364 18.4999 3.93413 18.4646 3.77697 18.3964C3.14377 18.1213 2.85342 17.3851 3.12846 16.7519L4.50011 13.594V9.49599C4.50071 5.3412 7.8522 1.99609 12.0001 1.99609ZM13.4997 18.4991L10.5001 18.5014C10.5001 19.3298 11.1717 20.0014 12.0001 20.0014C12.7798 20.0014 13.4206 19.4065 13.4932 18.6458L13.4997 18.4991ZM12.0001 3.49609C8.67995 3.49609 6.00059 6.17035 6.00011 9.49609V13.9057L4.65613 16.9999H19.3526L18.0001 13.9067L18.0002 9.50895L17.9965 9.28375C17.8854 6.05027 15.2417 3.49609 12.0001 3.49609Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1015 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M6.25 3C4.45507 3 3 4.45507 3 6.25V17.75C3 19.5449 4.45507 21 6.25 21H17.75C19.5449 21 21 19.5449 21 17.75V6.25C21 4.45507 19.5449 3 17.75 3H6.25ZM4.5 8H19.5V17.75C19.5 18.7165 18.7165 19.5 17.75 19.5H6.25C5.2835 19.5 4.5 18.7165 4.5 17.75V8ZM6 10.35C6 9.88056 6.38056 9.5 6.85 9.5H10.15C10.6194 9.5 11 9.88056 11 10.35V17.15C11 17.6194 10.6194 18 10.15 18H6.85C6.38056 18 6 17.6194 6 17.15V10.35ZM7.5 11V16.5H9.5V11H7.5ZM12.75 9.5H17.25C17.6642 9.5 18 9.83579 18 10.25C18 10.6642 17.6642 11 17.25 11H12.75C12.3358 11 12 10.6642 12 10.25C12 9.83579 12.3358 9.5 12.75 9.5ZM12 13.25C12 12.8358 12.3358 12.5 12.75 12.5H16.25C16.6642 12.5 17 12.8358 17 13.25C17 13.6642 16.6642 14 16.25 14H12.75C12.3358 14 12 13.6642 12 13.25Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 895 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M3 6.25C3 4.45507 4.45507 3 6.25 3H17.75C19.5449 3 21 4.45507 21 6.25V17.75C21 19.5449 19.5449 21 17.75 21H6.25C4.45507 21 3 19.5449 3 17.75V6.25ZM6.25 4.5C5.2835 4.5 4.5 5.2835 4.5 6.25V6.5H19.5V6.25C19.5 5.2835 18.7165 4.5 17.75 4.5H6.25ZM4.5 17.75C4.5 18.7165 5.2835 19.5 6.25 19.5H17.75C18.7165 19.5 19.5 18.7165 19.5 17.75V8H4.5V17.75ZM6.85 9.5H10.15C10.6194 9.5 11 9.88056 11 10.35V17.15C11 17.6194 10.6194 18 10.15 18H6.85C6.38056 18 6 17.6194 6 17.15V10.35C6 9.88056 6.38056 9.5 6.85 9.5ZM7.5 16.5H9.5V11H7.5V16.5ZM12 10.25C12 9.83579 12.3358 9.5 12.75 9.5H17.25C17.6642 9.5 18 9.83579 18 10.25C18 10.6642 17.6642 11 17.25 11H12.75C12.3358 11 12 10.6642 12 10.25ZM12.75 12.5C12.3358 12.5 12 12.8358 12 13.25C12 13.6642 12.3358 14 12.75 14H16.25C16.6642 14 17 13.6642 17 13.25C17 12.8358 16.6642 12.5 16.25 12.5H12.75Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 997 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M18.4923 2.33034L21.671 5.50911C22.5497 6.38779 22.5497 7.81241 21.671 8.69109L19.0866 11.275C20.1696 11.4375 21 12.3718 21 13.5V18.75C21 19.9926 19.9926 21 18.75 21H5.25C4.00736 21 3 19.9926 3 18.75V5.25001C3 4.00736 4.00736 3.00001 5.25 3.00001H10.5C11.6289 3.00001 12.5637 3.83146 12.7253 4.91541L15.3103 2.33034C16.189 1.45166 17.6136 1.45166 18.4923 2.33034ZM4.5 18.75C4.5 19.1642 4.83579 19.5 5.25 19.5L11.249 19.4993L11.25 12.75L4.5 12.7493V18.75ZM12.749 19.4993L18.75 19.5C19.1642 19.5 19.5 19.1642 19.5 18.75V13.5C19.5 13.0858 19.1642 12.75 18.75 12.75L12.749 12.7493V19.4993ZM10.5 4.50001H5.25C4.83579 4.50001 4.5 4.83579 4.5 5.25001V11.2493H11.25V5.25001C11.25 4.83579 10.9142 4.50001 10.5 4.50001ZM12.75 9.30933V11.25L14.69 11.2493L12.75 9.30933Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 930 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M18.4923 2.33088L21.671 5.50966C22.5497 6.38834 22.5497 7.81296 21.671 8.69164L19.0866 11.2756C20.1696 11.438 21 12.3723 21 13.5006V18.7506C21 19.9932 19.9926 21.0006 18.75 21.0006H5.25C4.00736 21.0006 3 19.9932 3 18.7506V5.25055C3 4.00791 4.00736 3.00055 5.25 3.00055H10.5C11.6289 3.00055 12.5637 3.83201 12.7253 4.91596L15.3103 2.33088C16.189 1.45221 17.6136 1.45221 18.4923 2.33088ZM4.5 18.7506C4.5 19.1648 4.83579 19.5006 5.25 19.5006L11.249 19.4999L11.25 12.7506L4.5 12.7499V18.7506ZM12.749 19.4999L18.75 19.5006C19.1642 19.5006 19.5 19.1648 19.5 18.7506V13.5006C19.5 13.0863 19.1642 12.7506 18.75 12.7506L12.749 12.7499V19.4999ZM10.5 4.50055H5.25C4.83579 4.50055 4.5 4.83634 4.5 5.25055V11.2499H11.25V5.25055C11.25 4.83634 10.9142 4.50055 10.5 4.50055ZM12.75 9.30988V11.2506L14.69 11.2499L12.75 9.30988ZM16.3709 3.39154L13.1922 6.57032C12.8993 6.86321 12.8993 7.33808 13.1922 7.63098L16.3709 10.8097C16.6638 11.1026 17.1387 11.1026 17.4316 10.8097L20.6104 7.63098C20.9033 7.33808 20.9033 6.86321 20.6104 6.57032L17.4316 3.39154C17.1387 3.09865 16.6638 3.09865 16.3709 3.39154Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 4.75a7.25 7.25 0 1 0 7.201 6.406c-.068-.588.358-1.156.95-1.156.515 0 .968.358 1.03.87a9.25 9.25 0 1 1-3.432-6.116V4.25a1 1 0 1 1 2.001 0v2.698l.034.052h-.034v.25a1 1 0 0 1-1 1h-3a1 1 0 1 1 0-2h.666A7.219 7.219 0 0 0 12 4.75Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 356 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 4.5a7.5 7.5 0 1 0 7.419 6.392c-.067-.454.265-.892.724-.892.37 0 .696.256.752.623A9 9 0 1 1 18 5.292V4.25a.75.75 0 0 1 1.5 0v3a.75.75 0 0 1-.75.75h-3a.75.75 0 0 1 0-1.5h1.35a7.474 7.474 0 0 0-5.1-2Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 329 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 4.75a7.25 7.25 0 1 1-7.201 6.406C4.867 10.568 4.44 10 3.849 10c-.515 0-.968.358-1.03.87A9.25 9.25 0 1 0 6.25 4.754V4.25a1 1 0 0 0-2.001 0v2.698A9.322 9.322 0 0 0 4.216 7h.034v.25a1 1 0 0 0 1 1h3a1 1 0 0 0 0-2h-.666A7.219 7.219 0 0 1 12 4.75Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 373 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12 4.5a7.5 7.5 0 1 1-7.419 6.392c.067-.454-.265-.892-.724-.892a.749.749 0 0 0-.752.623A9 9 0 1 0 6 5.292V4.25a.75.75 0 0 0-1.5 0v3c0 .414.336.75.75.75h3a.75.75 0 0 0 0-1.5H6.9a7.473 7.473 0 0 1 5.1-2Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 329 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M21 4C21.5128 4 21.9355 4.38604 21.9933 4.88338L22 5V11.5C22 13.3686 20.5357 14.8951 18.692 14.9948L18.5 15H5.415L8.70711 18.2929C9.06759 18.6534 9.09532 19.2206 8.7903 19.6129L8.70711 19.7071C8.34662 20.0676 7.77939 20.0953 7.3871 19.7903L7.29289 19.7071L2.29289 14.7071C2.2575 14.6717 2.22531 14.6343 2.19633 14.5953L2.12467 14.4841L2.07123 14.3713L2.03585 14.266L2.01102 14.1485L2.00398 14.0898L2 14L2.00279 13.9248L2.02024 13.7993L2.04974 13.6879L2.09367 13.5768L2.146 13.4793L2.2097 13.3871L2.29289 13.2929L7.29289 8.29289C7.68342 7.90237 8.31658 7.90237 8.70711 8.29289C9.06759 8.65338 9.09532 9.22061 8.7903 9.6129L8.70711 9.70711L5.415 13H18.5C19.2797 13 19.9204 12.4051 19.9931 11.6445L20 11.5V5C20 4.44772 20.4477 4 21 4Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 903 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M21.2506 4C21.6648 4 22.0006 4.33579 22.0006 4.75V11.25C22.0006 13.3211 20.3216 15 18.2506 15H4.58639L8.30572 18.7197C8.57199 18.9859 8.59619 19.4026 8.37834 19.6962L8.30572 19.7803C8.03945 20.0466 7.62279 20.0708 7.32918 19.8529L7.24506 19.7803L2.24506 14.7803C1.97879 14.5141 1.95459 14.0974 2.17244 13.8038L2.24506 13.7197L7.24506 8.71967C7.53795 8.42678 8.01283 8.42678 8.30572 8.71967C8.57199 8.98594 8.59619 9.4026 8.37834 9.69621L8.30572 9.78033L4.58639 13.5H18.2506C19.4414 13.5 20.4162 12.5748 20.4954 11.404L20.5006 11.25V4.75C20.5006 4.33579 20.8363 4 21.2506 4Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 745 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10.295 19.716a1 1 0 0 0 1.404-1.425l-5.37-5.29h13.67a1 1 0 1 0 0-2H6.336L11.7 5.714a1 1 0 0 0-1.404-1.424l-6.924 6.822a1.25 1.25 0 0 0 0 1.78l6.924 6.823Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 283 B |
@@ -0,0 +1 @@
|
|||||||
|
<svg width="24" height="24" fill="none" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M10.733 19.79a.75.75 0 0 0 1.034-1.086L5.516 12.75H20.25a.75.75 0 0 0 0-1.5H5.516l6.251-5.955a.75.75 0 0 0-1.034-1.086l-7.42 7.067a.995.995 0 0 0-.3.58.754.754 0 0 0 .001.289.995.995 0 0 0 .3.579l7.419 7.067Z" fill="#212121"/></svg>
|
||||||
|
After Width: | Height: | Size: 336 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M13.7045 4.28377C13.3111 3.89615 12.678 3.90084 12.2904 4.29424C11.9027 4.68765 11.9074 5.3208 12.3008 5.70842L17.6712 10.9998H4C3.44771 10.9998 3 11.4475 3 11.9998C3 12.5521 3.44772 12.9998 4 12.9998H17.6646L12.3008 18.2847C11.9074 18.6723 11.9027 19.3055 12.2904 19.6989C12.678 20.0923 13.3111 20.097 13.7045 19.7094L20.6287 12.887C21.1256 12.3974 21.1256 11.5958 20.6287 11.1062L13.7045 4.28377Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 570 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M13.2673 4.20889C12.9674 3.9232 12.4926 3.93475 12.2069 4.23467C11.9212 4.5346 11.9328 5.00933 12.2327 5.29502L18.4841 11.2496H3.75C3.33579 11.2496 3 11.5854 3 11.9996C3 12.4138 3.33579 12.7496 3.75 12.7496H18.4842L12.2327 18.7043C11.9328 18.99 11.9212 19.4648 12.2069 19.7647C12.4926 20.0646 12.9674 20.0762 13.2673 19.7905L20.6862 12.7238C20.8551 12.5629 20.9551 12.3576 20.9861 12.1443C20.9952 12.0975 21 12.0491 21 11.9996C21 11.9501 20.9952 11.9016 20.986 11.8547C20.955 11.6415 20.855 11.4364 20.6862 11.2756L13.2673 4.20889Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 703 B |
@@ -0,0 +1,39 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
sodipodi:docname="arrow-sync.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="25.868323"
|
||||||
|
inkscape:cx="14.245222"
|
||||||
|
inkscape:cy="12.447657"
|
||||||
|
inkscape:window-width="1498"
|
||||||
|
inkscape:window-height="1020"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1" />
|
||||||
|
<path
|
||||||
|
d="m 19.947024,13.17933 a 0.75,0.75 0 0 0 -0.907212,0.549312 7.251,7.251 0 0 1 -13.334866,1.873667 l 0.8908023,0.350894 a 0.75,0.75 0 0 0 0.6494514,-1.347747 l -0.100442,-0.04793 -2.6316174,-1.036623 a 0.75,0.75 0 0 0 -0.9241627,0.322228 l -0.047921,0.100457 -1.0366214,2.631619 a 0.75,0.75 0 0 0 1.3468323,0.649854 l 0.048321,-0.09951 0.3887326,-0.986859 A 8.75,8.75 0 0 0 20.494492,14.087329 0.75,0.75 0 0 0 19.946102,13.179722 Z M 21.068469,6.4543893 A 0.75,0.75 0 0 0 20.096388,6.8770607 L 19.707652,7.863919 A 8.75,8.75 0 0 0 3.5868012,9.5848274 0.75043107,0.75043107 0 1 0 5.0290446,10.000183 7.251,7.251 0 0 1 18.290631,8.3993655 l -0.8904,-0.3499798 a 0.75,0.75 0 1 0 -0.549014,1.3956769 l 2.631617,1.0366214 a 0.75,0.75 0 0 0 0.972088,-0.422667 L 21.491544,7.4273949 A 0.75,0.75 0 0 0 21.068874,6.455308 Z"
|
||||||
|
fill="#212121"
|
||||||
|
id="path1" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M13 3C13.5523 3 14 3.44772 14 4C14 4.55228 13.5523 5 13 5H6.41435L20.7071 19.2928C21.0976 19.6833 21.0976 20.3164 20.7071 20.707C20.3166 21.0975 19.6834 21.0975 19.2929 20.707L5 6.41408V13C5 13.5523 4.55228 14 4 14C3.44772 14 3 13.5523 3 13V4C3 3.44772 3.44772 3 4 3H13Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 442 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M13.2461 3C13.6603 3 13.9961 3.33579 13.9961 3.75C13.9961 4.16421 13.6603 4.5 13.2461 4.5H5.57699L20.7768 19.6998C21.0753 19.9983 21.0753 20.4824 20.7768 20.781C20.4782 21.0796 19.9941 21.0796 19.6955 20.781L4.49609 5.58158V13.25C4.49609 13.6642 4.16031 14 3.74609 14C3.33188 14 2.99609 13.6642 2.99609 13.25V3.75C2.99609 3.33579 3.33188 3 3.74609 3H13.2461Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 530 B |
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
sodipodi:docname="local-language-filled.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="10.960155"
|
||||||
|
inkscape:cx="14.187755"
|
||||||
|
inkscape:cy="14.005276"
|
||||||
|
inkscape:window-width="1732"
|
||||||
|
inkscape:window-height="785"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1" />
|
||||||
|
<path
|
||||||
|
d="m 13.32921,3.2052869 0.07034,0.146958 6.665865,16.3349501 c 0.597934,1.463734 -1.501548,2.465708 -2.263405,1.080204 l -0.0628,-0.131886 -1.734607,-4.247966 H 8.1090597 L 6.237543,20.666915 c -0.2557499,0.58358 -0.907936,0.883219 -1.5173101,0.697108 L 4.5820672,21.313781 C 3.9979955,21.058486 3.6977604,20.406177 3.8837026,19.796471 L 3.9339447,19.658305 11.087158,3.3246118 C 11.509191,2.3574521 12.838094,2.3260509 13.330466,3.2065429 Z M 12.194996,7.0513164 9.2081047,13.875444 h 5.7715573 z"
|
||||||
|
fill="#212121"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:nodetypes="ccccccccccccccccccc"
|
||||||
|
style="stroke-width:1.25605" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -0,0 +1,41 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
fill="none"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
sodipodi:docname="local-language.svg"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:zoom="10.960155"
|
||||||
|
inkscape:cx="10.811891"
|
||||||
|
inkscape:cy="17.791719"
|
||||||
|
inkscape:window-width="1472"
|
||||||
|
inkscape:window-height="618"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg1" />
|
||||||
|
<path
|
||||||
|
d="m 13.03806,2.5424973 0.06199,0.1301862 6.893673,17.9781035 c 0.18389,0.475477 -0.0465,1.01068 -0.518262,1.203913 -0.426384,0.16782 -0.910921,-0.0095 -1.128281,-0.412876 l -0.05331,-0.114068 -1.776733,-4.633392 H 7.7314203 l -0.1165477,-0.0074 -1.9168378,4.661908 C 5.509706,21.819931 4.9710435,22.044234 4.5040408,21.84606 4.0807398,21.661297 3.8558061,21.1951 3.9746166,20.748776 L 4.0155326,20.629748 11.410113,2.6516447 C 11.691767,1.9454102 12.665957,1.8801443 13.0393,2.5424973 Z M 12.38093,5.4884265 8.4629432,14.834561 H 16.038544 L 12.38093,5.4871866 Z"
|
||||||
|
fill="#212121"
|
||||||
|
id="path1"
|
||||||
|
style="stroke-width:1.23987"
|
||||||
|
sodipodi:nodetypes="ccccccccccccccccccccc" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M11.6174 2.07615C11.991 1.92137 12.4211 2.00692 12.7071 2.29292L17.7071 7.29292C17.9083 7.49405 18.0142 7.77132 17.9985 8.05533C17.9828 8.33934 17.8468 8.60321 17.6247 8.7809L13.6008 12L17.6247 15.2192C17.8468 15.3969 17.9828 15.6607 17.9985 15.9447C18.0142 16.2287 17.9083 16.506 17.7071 16.7071L12.7071 21.7071C12.4211 21.9931 11.991 22.0787 11.6174 21.9239C11.2437 21.7691 11 21.4045 11 21V14.0807L7.62473 16.7809C7.19347 17.1259 6.56418 17.056 6.21917 16.6247C5.87416 16.1935 5.94408 15.5642 6.37534 15.2192L10.3993 12L6.37534 8.7809C5.94408 8.43589 5.87416 7.8066 6.21917 7.37533C6.56418 6.94407 7.19347 6.87415 7.62473 7.21916L11 9.9194V3.00003C11 2.59557 11.2437 2.23093 11.6174 2.07615ZM13 14.0807V18.5858L15.5029 16.083L13 14.0807ZM13 9.91941L15.5029 7.91711L13 5.41424V9.91941ZM20 12C20 12.5523 19.5523 13 19 13C18.4477 13 18 12.5523 18 12C18 11.4477 18.4477 11 19 11C19.5523 11 20 11.4477 20 12ZM5 13C5.55228 13 6 12.5523 6 12C6 11.4477 5.55228 11 5 11C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M16.6766 17.7376L20.7194 21.7805C21.0123 22.0734 21.4872 22.0734 21.7801 21.7805C22.073 21.4876 22.073 21.0127 21.7801 20.7198L3.28034 2.21968C2.98745 1.92678 2.51257 1.92677 2.21968 2.21966C1.92678 2.51255 1.92677 2.98743 2.21966 3.28032L10.6992 11.76L6.37528 15.2192C5.94402 15.5642 5.8741 16.1935 6.21911 16.6247C6.56412 17.056 7.19341 17.1259 7.62467 16.7809L11 14.0807V21C11 21.4045 11.2436 21.7691 11.6173 21.9239C11.991 22.0787 12.4211 21.9931 12.7071 21.7071L16.6766 17.7376ZM13.099 14.1599L15.2624 16.3234L13 18.5858V14.0807L13.099 14.1599ZM17.6247 8.7809L14.4791 11.2974L13.0562 9.87442L15.5028 7.91711L13 5.41424V9.8182L11 7.81816V3.00003C11 2.59557 11.2436 2.23093 11.6173 2.07615C11.991 1.92137 12.4211 2.00692 12.7071 2.29292L17.7071 7.29292C17.9082 7.49405 18.0142 7.77132 17.9984 8.05533C17.9827 8.33934 17.8468 8.60321 17.6247 8.7809Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1023 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M16.4999 17.5608L20.7194 21.7805C21.0123 22.0734 21.4872 22.0734 21.7801 21.7805C22.073 21.4876 22.073 21.0127 21.7801 20.7198L3.28034 2.21968C2.98745 1.92678 2.51257 1.92677 2.21968 2.21966C1.92678 2.51255 1.92677 2.98743 2.21966 3.28032L10.7797 11.8405L6.26428 15.6786C5.94867 15.9468 5.9103 16.4202 6.17856 16.7358C6.44683 17.0514 6.92015 17.0897 7.23575 16.8215L11 13.6219V21.25C11 21.5534 11.1827 21.8268 11.463 21.9429C11.7433 22.059 12.0658 21.9949 12.2803 21.7804L16.4999 17.5608ZM12.9064 13.9673L15.4392 16.5002L12.5 19.4394V13.6219L12.9064 13.9673ZM17.2358 8.32148L14.1371 10.9553L13.073 9.89116L15.6446 7.70528L12.5 4.56068V9.31818L11 7.81815V2.75002C11 2.44668 11.1827 2.1732 11.463 2.05711C11.7433 1.94103 12.0658 2.00519 12.2803 2.21969L17.2803 7.21969C17.4284 7.36779 17.5079 7.57108 17.4994 7.78035C17.4909 7.98963 17.3953 8.18583 17.2358 8.32148Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M11.6174 2.07612C11.991 1.92134 12.4211 2.00689 12.7071 2.29289L17.7071 7.29289C17.9083 7.49402 18.0142 7.77129 17.9985 8.0553C17.9828 8.33931 17.8468 8.60318 17.6247 8.78087L13.6008 12L17.6247 15.2191C17.8468 15.3968 17.9828 15.6607 17.9985 15.9447C18.0142 16.2287 17.9083 16.506 17.7071 16.7071L12.7071 21.7071C12.4211 21.9931 11.991 22.0787 11.6174 21.9239C11.2437 21.7691 11 21.4045 11 21V14.0806L7.62473 16.7809C7.19347 17.1259 6.56418 17.056 6.21917 16.6247C5.87416 16.1934 5.94408 15.5641 6.37534 15.2191L10.3993 12L6.37534 8.78087C5.94408 8.43586 5.87416 7.80657 6.21917 7.3753C6.56418 6.94404 7.19347 6.87412 7.62473 7.21913L11 9.91937V3C11 2.59554 11.2437 2.2309 11.6174 2.07612ZM13 14.0806V18.5858L15.5029 16.0829L13 14.0806ZM13 9.91937L15.5029 7.91708L13 5.41421V9.91937Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 955 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M11.463 2.05709C11.7433 1.941 12.0658 2.00517 12.2803 2.21967L17.2803 7.21967C17.4284 7.36777 17.5079 7.57105 17.4994 7.78033C17.4909 7.9896 17.3953 8.1858 17.2358 8.32145L12.9081 12L17.2358 15.6785C17.3953 15.8142 17.4909 16.0104 17.4994 16.2197C17.5079 16.4289 17.4284 16.6322 17.2803 16.7803L12.2803 21.7803C12.0658 21.9948 11.7433 22.059 11.463 21.9429C11.1827 21.8268 11 21.5533 11 21.25V13.6218L7.23575 16.8215C6.92015 17.0897 6.44683 17.0513 6.17856 16.7357C5.9103 16.4201 5.94867 15.9468 6.26428 15.6785L10.592 12L6.26428 8.32145C5.94867 8.05319 5.9103 7.57987 6.17856 7.26426C6.44683 6.94866 6.92015 6.91028 7.23575 7.17854L11 10.3782V2.75C11 2.44665 11.1827 2.17318 11.463 2.05709ZM12.5 13.6218V19.4393L15.6446 16.2947L12.5 13.6218ZM12.5 10.3782L15.6446 7.70526L12.5 4.56066V10.3782Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 965 B |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M4 5.25C4 3.45507 5.45507 2 7.25 2H16.75C18.5449 2 20 3.45507 20 5.25V18.75C20 20.5449 18.5449 22 16.75 22H7.25C5.45507 22 4 20.5449 4 18.75V5.25ZM9 5C7.89543 5 7 5.89543 7 7V8C7 9.10457 7.89543 10 9 10H15C16.1046 10 17 9.10457 17 8V7C17 5.89543 16.1046 5 15 5H9ZM9.5 13.25C9.5 12.5596 8.94036 12 8.25 12C7.55964 12 7 12.5596 7 13.25C7 13.9404 7.55964 14.5 8.25 14.5C8.94036 14.5 9.5 13.9404 9.5 13.25ZM8.25 18.5C8.94036 18.5 9.5 17.9404 9.5 17.25C9.5 16.5596 8.94036 16 8.25 16C7.55964 16 7 16.5596 7 17.25C7 17.9404 7.55964 18.5 8.25 18.5ZM17 13.25C17 12.5596 16.4404 12 15.75 12C15.0596 12 14.5 12.5596 14.5 13.25C14.5 13.9404 15.0596 14.5 15.75 14.5C16.4404 14.5 17 13.9404 17 13.25ZM15.75 18.5C16.4404 18.5 17 17.9404 17 17.25C17 16.5596 16.4404 16 15.75 16C15.0596 16 14.5 16.5596 14.5 17.25C14.5 17.9404 15.0596 18.5 15.75 18.5ZM13.25 13.25C13.25 12.5596 12.6904 12 12 12C11.3096 12 10.75 12.5596 10.75 13.25C10.75 13.9404 11.3096 14.5 12 14.5C12.6904 14.5 13.25 13.9404 13.25 13.25ZM12 18.5C12.6904 18.5 13.25 17.9404 13.25 17.25C13.25 16.5596 12.6904 16 12 16C11.3096 16 10.75 16.5596 10.75 17.25C10.75 17.9404 11.3096 18.5 12 18.5Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" standalone="no"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="#000000">
|
||||||
|
<path d="M7 7C7 5.89543 7.89543 5 9 5H15C16.1046 5 17 5.89543 17 7V8C17 9.10457 16.1046 10 15 10H9C7.89543 10 7 9.10457 7 8V7ZM9 6.5C8.72386 6.5 8.5 6.72386 8.5 7V8C8.5 8.27614 8.72386 8.5 9 8.5H15C15.2761 8.5 15.5 8.27614 15.5 8V7C15.5 6.72386 15.2761 6.5 15 6.5H9ZM8.25 14.5C8.94036 14.5 9.5 13.9404 9.5 13.25C9.5 12.5596 8.94036 12 8.25 12C7.55964 12 7 12.5596 7 13.25C7 13.9404 7.55964 14.5 8.25 14.5ZM9.5 17.25C9.5 17.9404 8.94036 18.5 8.25 18.5C7.55964 18.5 7 17.9404 7 17.25C7 16.5596 7.55964 16 8.25 16C8.94036 16 9.5 16.5596 9.5 17.25ZM15.75 14.5C16.4404 14.5 17 13.9404 17 13.25C17 12.5596 16.4404 12 15.75 12C15.0596 12 14.5 12.5596 14.5 13.25C14.5 13.9404 15.0596 14.5 15.75 14.5ZM17 17.25C17 17.9404 16.4404 18.5 15.75 18.5C15.0596 18.5 14.5 17.9404 14.5 17.25C14.5 16.5596 15.0596 16 15.75 16C16.4404 16 17 16.5596 17 17.25ZM12 14.5C12.6904 14.5 13.25 13.9404 13.25 13.25C13.25 12.5596 12.6904 12 12 12C11.3096 12 10.75 12.5596 10.75 13.25C10.75 13.9404 11.3096 14.5 12 14.5ZM13.25 17.25C13.25 17.9404 12.6904 18.5 12 18.5C11.3096 18.5 10.75 17.9404 10.75 17.25C10.75 16.5596 11.3096 16 12 16C12.6904 16 13.25 16.5596 13.25 17.25ZM7.25 2C5.45507 2 4 3.45507 4 5.25V18.75C4 20.5449 5.45507 22 7.25 22H16.75C18.5449 22 20 20.5449 20 18.75V5.25C20 3.45507 18.5449 2 16.75 2H7.25ZM5.5 5.25C5.5 4.2835 6.2835 3.5 7.25 3.5H16.75C17.7165 3.5 18.5 4.2835 18.5 5.25V18.75C18.5 19.7165 17.7165 20.5 16.75 20.5H7.25C6.2835 20.5 5.5 19.7165 5.5 18.75V5.25Z" fill="#000000"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.6 KiB |