Compare commits
638 Commits
zoitechat-
...
macosbuild
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7a4f744093 | ||
| 0e5d7dfb9f | |||
| ec875e0709 | |||
| a88eae5318 | |||
| 29a35843f1 | |||
| 819535679c | |||
| 1efba4ffdf | |||
| c2d0e7860c | |||
| e45c86249d | |||
| 8a166a9824 | |||
| 7ab4b8d2eb | |||
|
|
29f1ac31ec | ||
|
|
b0c1388d45 | ||
| 676e8c7305 | |||
| 02a0b02f03 | |||
| 5ce88345ee | |||
| 8d51b02ca0 | |||
| 7d49831886 | |||
| d2e6dabdca | |||
| 36c9504a4d | |||
| 98208cbc44 | |||
| c3c5731a58 | |||
| cbc6844987 | |||
| 5f0a8a4c1f | |||
| b3f31004e6 | |||
| c16dc8754d | |||
| 93854e42df | |||
| cf2d5e5778 | |||
| 8a1dcee8e1 | |||
| de9a78b38d | |||
| f6942c7f3c | |||
| ca45939144 | |||
| f558c99c22 | |||
| ff77f32033 | |||
| 858f9daf64 | |||
| d3ae9d9d5d | |||
| a68a49f394 | |||
| fdea5b25cb | |||
| 83143ff89d | |||
| e9869db82b | |||
| f1fe8f924e | |||
| 3d9833ce4f | |||
| 2c4da1ff5e | |||
| bf24249001 | |||
| 505449f165 | |||
| 125c69c1b0 | |||
| 55d2dab620 | |||
| 590b44946b | |||
| 857c8918d8 | |||
| 04b8f1d5fa | |||
| 1ab7e14422 | |||
| 815df2aeb0 | |||
| 668c391a8a | |||
| e8f4044f8c | |||
|
|
10f6b4913e | ||
| 7568c73062 | |||
| 6ce7de23a3 | |||
| dbc517de99 | |||
| e214c76bdf | |||
| 3ccd8c44b3 | |||
| 5df6f68cd9 | |||
| 45d4025ad7 | |||
| f6b78bd167 | |||
| 17f239e6fc | |||
| fcf00ebd8f | |||
| e347fdc899 | |||
| b419804ddb | |||
| bdfabcf800 | |||
| ebf695abdf | |||
| bc2b1bd509 | |||
| 8642d8bde4 | |||
| 01e890eb3f | |||
| 7af8f069e7 | |||
| b5db1685da | |||
| 335a8f4d6b | |||
| e316413f60 | |||
| e8ca0a1213 | |||
| 15d918f1fb | |||
| 329a641adf | |||
| 9bdf654cbc | |||
| 1a920ba955 | |||
| afc490aa18 | |||
| 0a5c95c6b4 | |||
| a078d00eef | |||
| 18632bc5fd | |||
| f90783c298 | |||
| 643ea9c7fb | |||
| 39aa63057e | |||
| 5d4eec3b71 | |||
| 6bd7a309b3 | |||
| dd452f82ff | |||
| cb0fd33089 | |||
| ee107621c4 | |||
|
|
54de067a13 | ||
| ae50735311 | |||
| 97cbe98b3d | |||
| eb112f9cd7 | |||
| 6025195234 | |||
| 7fd8e5455d | |||
|
|
e424d9325c | ||
| 78754ff194 | |||
|
|
242f4a6dec | ||
| 5460855ea4 | |||
|
|
605ca4da04 | ||
| ebb9aa48ae | |||
|
|
99b93d1b71 | ||
| ef87b569d7 | |||
| 3872c4fcdf | |||
| 09a4d3923a | |||
| 6df8a98fa0 | |||
| a6af143ba7 | |||
| 287afb4b1d | |||
| eb677e412c | |||
| 3853343918 | |||
| fe55334f5c | |||
| 7ff4cb9b8a | |||
| 7143aec20d | |||
| 65d399fa5b | |||
|
|
8ce3787429 | ||
|
|
c4c5964588 | ||
| 2d61db57ef | |||
| a9d8ffe3fe | |||
|
|
ab21af908c | ||
|
|
fffbe5228c | ||
|
|
87ec58f9d3 | ||
|
|
805baea90b | ||
|
|
91238d99ae | ||
|
|
d5561a21e3 | ||
|
|
f78ae92419 | ||
|
|
cbb233ad06 | ||
|
|
07571330ba | ||
|
|
0e48187238 | ||
|
|
e32574ed9b | ||
|
|
a41e8a0f5d | ||
| c20a6424e5 | |||
|
|
f5a4d8f84b | ||
| 6f97c060b3 | |||
|
|
2bfd96c9e0 | ||
|
|
c815a4629c | ||
|
|
41f140c971 | ||
|
|
89b0bc667b | ||
|
|
d8cbab3bfc | ||
|
|
5a5daf153e | ||
|
|
bf4782d3e1 | ||
|
|
4ba03065bc | ||
| 747a1dca97 | |||
| 16f2c6cc0d | |||
| b569d24cd1 | |||
| 7f4ffdb1e5 | |||
| 60c05710b1 | |||
| 3e59822753 | |||
| 47a9729737 | |||
| 3f31d9bd5a | |||
| 95538794e3 | |||
| 371b1caaa6 | |||
|
|
64909893e7 | ||
|
|
815f1c810e | ||
|
|
1f031d8966 | ||
|
|
2a4aa2f8ac | ||
|
|
d646607066 | ||
|
|
c37b45308e | ||
|
|
2cec6a6778 | ||
|
|
a4c635ee52 | ||
|
|
4fc859d9ef | ||
|
|
f945e3c292 | ||
|
|
37d8126128 | ||
|
|
86ab733de0 | ||
|
|
95d87732c4 | ||
|
|
8338e701b4 | ||
|
|
a384b8e295 | ||
|
|
019f591627 | ||
|
|
8cbfb29a49 | ||
|
|
12470fd954 | ||
|
|
fd9cd61991 | ||
|
|
4a40af7eda | ||
|
|
58eed1682c | ||
|
|
481e7f78bc | ||
|
|
34de343fa6 | ||
|
|
1c4fd1d02d | ||
|
|
4c3b8cbec7 | ||
|
|
727d08519a | ||
|
|
bb796bb364 | ||
|
|
b413762457 | ||
|
|
45ef0fcd26 | ||
|
|
eaef68f827 | ||
|
|
5c4b04615d | ||
|
|
b77690d046 | ||
|
|
49c97108e5 | ||
|
|
14e15fa79d | ||
|
|
fc3e36e255 | ||
|
|
3bbce082de | ||
|
|
de7807bc6a | ||
|
|
45b9de5ff6 | ||
|
|
63808bebde | ||
|
|
4927413bcb | ||
|
|
c3c814b28d | ||
|
|
e0d22f7f6a | ||
|
|
2a24686f29 | ||
|
|
be97bc30e3 | ||
|
|
c23d1d493f | ||
|
|
74934de4b8 | ||
|
|
6efe62e277 | ||
|
|
ae2757c515 | ||
|
|
c55b46e67f | ||
|
|
15eae4f606 | ||
|
|
a1b339eecf | ||
| ba892240cb | |||
| 173d10f336 | |||
|
|
14b08d1001 | ||
|
|
b52a2ca4cf | ||
| b512c215a4 | |||
| 3e2268b391 | |||
| 874ea99492 | |||
|
|
20b0aab470 | ||
|
|
4c3e9ffad4 | ||
|
|
a8db164ef7 | ||
|
|
f5feb7a0de | ||
|
|
fdd3664a6e | ||
|
|
9fdc5cdf28 | ||
|
|
e9cf931714 | ||
|
|
9b2cf3de43 | ||
|
|
7f9920554e | ||
|
|
0e3322d4a8 | ||
|
|
3a5fc95725 | ||
|
|
b7496a4732 | ||
|
|
6fd191f32d | ||
|
|
eba86758f2 | ||
|
|
7fa5e6db3c | ||
|
|
f678491eb3 | ||
|
|
b1f3bf85c4 | ||
|
|
0117092f83 | ||
|
|
8ea9bffba2 | ||
|
|
12d805fad4 | ||
|
|
2742b62ef1 | ||
|
|
0872d3b445 | ||
|
|
e654bfd127 | ||
|
|
6f493ed47e | ||
|
|
2028a21d14 | ||
|
|
08d0b25619 | ||
|
|
eba4edf7a7 | ||
|
|
f8e1536336 | ||
|
|
8b90555511 | ||
|
|
f32b8534a4 | ||
|
|
26453a8ad4 | ||
|
|
98f1e8af57 | ||
|
|
ce597da1a3 | ||
|
|
dba80a5a9e | ||
|
|
3c94112aeb | ||
|
|
855b892b1e | ||
|
|
22b74dc70b | ||
|
|
014ba9e868 | ||
|
|
11f3beae8b | ||
|
|
ac1065bfa6 | ||
|
|
84501d087c | ||
|
|
60f2b53866 | ||
|
|
c9e8d24e06 | ||
|
|
2436c3bad1 | ||
|
|
32358a876b | ||
|
|
a05c596e48 | ||
| b2d8336dd0 | |||
| cfdc275a88 | |||
| 2dd2d18ade | |||
| 3d9a92787b | |||
| 9acec081a4 | |||
| 6d101c4e10 | |||
|
|
09e9e7314b | ||
| a86dc5ae85 | |||
| bb70bcb4e3 | |||
| c86701ee3c | |||
| 01ec120536 | |||
| f734f230fd | |||
| 5c7697a765 | |||
| ca7340530d | |||
| 9aceea0134 | |||
|
|
7df778fc71 | ||
| e855b9f160 | |||
| 54428e9e40 | |||
|
|
a975ddc80a | ||
|
|
b128a7ca59 | ||
| 3dd54d5fea | |||
| 45ef2da0ac | |||
| 6491dc1bde | |||
| 1eee70ff9b | |||
|
|
e77aca2037 | ||
|
|
981cf94719 | ||
| 0550fb90c5 | |||
|
|
8cf9f8ba9d | ||
|
|
1eb61cfd24 | ||
| 75d54e25e9 | |||
| 930e91834f | |||
| 8ad1394f1a | |||
|
|
a53ac4479b | ||
| bd707e7514 | |||
|
|
eafc9ec997 | ||
|
|
9a8b3fc232 | ||
|
|
fda50f0ff3 | ||
|
|
65411b8ccb | ||
|
|
5c7991e873 | ||
| f42157fdd7 | |||
|
|
f80c3adfe0 | ||
|
|
1c8db65b20 | ||
|
|
1e21f2b148 | ||
|
|
629f0d6502 | ||
|
|
b69edb7936 | ||
| c49d8e4d44 | |||
| 045134fcff | |||
| 9e9a0be80d | |||
| 0dd25cb631 | |||
| eb46631a7d | |||
| 0074a8ba1e | |||
| e187252afd | |||
| 0349e44856 | |||
|
|
d8985e9f91 | ||
|
|
4a70ae125d | ||
|
|
0b785c8e59 | ||
| ae303db62b | |||
| 45300a233b | |||
| 65f417cf7d | |||
|
|
07322293f3 | ||
|
|
3efd975d2f | ||
|
|
c9ddfc086c | ||
|
|
fb952dd209 | ||
|
|
572e2173c3 | ||
| 752b10273b | |||
| 9aba312c8e | |||
| 983ae5337b | |||
|
|
0fd51e5c8a | ||
| f58785c2e0 | |||
| 3d030a96b7 | |||
| 2ecf1c18fb | |||
| eae5a209d3 | |||
| 78a00b5b88 | |||
|
|
1ac688ec19 | ||
| b9bc65e3c2 | |||
| 3d8d3958ea | |||
|
|
1567062636 | ||
| b09e6a5405 | |||
| 89a8f3eb0a | |||
|
|
b90a9a3357 | ||
|
|
fe4abe7d85 | ||
|
|
a650916105 | ||
|
|
4f294f4eae | ||
|
|
3ad525533d | ||
|
|
6979dce7e8 | ||
|
|
6f1f82a7fb | ||
|
|
3290f15439 | ||
|
|
0a737c4d72 | ||
| 8025884e3b | |||
| a8a7627161 | |||
| 18e4b74d0b | |||
| 614bbd1a0b | |||
|
|
c4d4dd1e5a | ||
| 303d5cc581 | |||
|
|
6055170b19 | ||
|
|
b30ee02353 | ||
|
|
8b22990eba | ||
|
|
f402699512 | ||
|
|
8606e505d1 | ||
|
|
eeee22c914 | ||
|
|
0f4420b8c7 | ||
| d2140e4cec | |||
| 872c5d6572 | |||
| 11b11c9166 | |||
| 995cba88ff | |||
|
|
92a35ea3e9 | ||
| c22d141237 | |||
| 415066345a | |||
|
|
81a669a199 | ||
| ffa7afd09c | |||
|
|
dab682f90d | ||
|
|
35740637df | ||
|
|
57fb1eb27b | ||
|
|
069c6a3f81 | ||
|
|
61da248c41 | ||
|
|
0f36b273f1 | ||
|
|
770922cdda | ||
|
|
343ad0ffd5 | ||
|
|
e134a99e12 | ||
|
|
f8139d094a | ||
|
|
1e8efcdc5a | ||
|
|
81abfe3175 | ||
|
|
cf2e44f3d5 | ||
|
|
049d3c19af | ||
|
|
ffe8a9f7a6 | ||
|
|
2da635c048 | ||
|
|
83ed374b99 | ||
|
|
9837ef901b | ||
|
|
01e48bc074 | ||
|
|
49c0299d68 | ||
|
|
4a8e17e80e | ||
|
|
8c8912c651 | ||
|
|
8be35d2a30 | ||
|
|
2a4612672a | ||
|
|
a98cb3606f | ||
|
|
20056cb9c4 | ||
|
|
1e36865bb3 | ||
|
|
306aef3ef9 | ||
|
|
f5ebe3efc8 | ||
|
|
2bbe9dccc6 | ||
|
|
2723d49b3a | ||
|
|
87b9e52719 | ||
|
|
bfe13386c5 | ||
|
|
766299a15c | ||
|
|
fe30e00bc1 | ||
|
|
0dcc35df8f | ||
|
|
7be145b94a | ||
|
|
e365266b4a | ||
|
|
e8f9ea0784 | ||
|
|
76fdce8576 | ||
|
|
72dfc10b1b | ||
|
|
c472a4ccd6 | ||
|
|
74c09bdebc | ||
| 56e1c402f6 | |||
| b1e7155c6d | |||
| 7dd47dbd2e | |||
| e5673e9a7b | |||
| 8abc95205a | |||
| d8a8e6ce73 | |||
| e44e801e3a | |||
| 5170e037b5 | |||
| b121fa7287 | |||
| 29ac0f9ee6 | |||
| 1fb1865aca | |||
| d314856f82 | |||
| 0a0dbd384c | |||
| 3ef9540a57 | |||
| 84647201b1 | |||
| f31ef7cfe2 | |||
| 9af54f5ed7 | |||
| 5788bd90e2 | |||
| 729b1eb8de | |||
| 9a92fa33a8 | |||
| 5c8f50a9f5 | |||
| 56845a64d9 | |||
| 36a369fac8 | |||
| a5d1dfe81f | |||
| 946a39c361 | |||
| 3710da43c9 | |||
| a9f8e1e897 | |||
| 9e46407e89 | |||
| e1b4e18153 | |||
| 01104844e8 | |||
| d1e1ef3a82 | |||
| 907211a733 | |||
| dec2aff37d | |||
| 4bd67e4933 | |||
| 328c85e6b3 | |||
| c7b5ce0346 | |||
| ca92d14db6 | |||
| e0bae25136 | |||
| 1b23b5b7a6 | |||
| 9bdbeffeb0 | |||
| 6c17f4bc16 | |||
| d0d6a573a7 | |||
| 8c9f193114 | |||
| 5bac77f6bb | |||
| e815b1d6ae | |||
| 1406eec197 | |||
| 5e73127f9a | |||
| 541ee90d27 | |||
| d330d6d537 | |||
| 5b28ae17cf | |||
| af2678a3a0 | |||
| 3a8a9332d6 | |||
| 2bce91de0b | |||
| 7b3a9dd30f | |||
| 1f7ed3f1cb | |||
| db3fd73d09 | |||
| 7d83394e35 | |||
| f880dacdd7 | |||
| b48376c370 | |||
| e0c1796035 | |||
| ffc9af18be | |||
| 7c2b94eee8 | |||
| d5a8479294 | |||
| 29f614b7b7 | |||
| 98d813a00b | |||
| a2b35c289c | |||
| 2d3e1f8122 | |||
| 537167cd61 | |||
| 004786655c | |||
| 1ee2433b28 | |||
| eb7a15dc9d | |||
| 5f8dcd286e | |||
| 4cfe5274b5 | |||
| f6613cbad1 | |||
| 3806b33aab | |||
| fa3c7c9059 | |||
| c0c0b2ec4c | |||
| d553862e52 | |||
| 7cbd905fae | |||
| 49e23b7df5 | |||
| bf529ba1ff | |||
| aa0b271aa9 | |||
| 1584764809 | |||
| 31130197eb | |||
| 723d8759ff | |||
| 667a56ca6c | |||
| c009c30211 | |||
|
|
b6094244ac | ||
|
|
2741c40580 | ||
|
|
c90f3c659a | ||
| e78251ee29 | |||
| b960f62d2a | |||
|
|
dc76c2ea37 | ||
| 6e5149fbe6 | |||
| 4008d94571 | |||
|
|
4ad5df0370 | ||
|
|
887d891541 | ||
| 041288cdad | |||
| c8ee118f00 | |||
| d4134c94b3 | |||
| 5ca3e835a7 | |||
| 6c85c796d3 | |||
| 992215ee91 | |||
|
|
1729cfcb3f | ||
|
|
4cf1b52982 | ||
| 1226224858 | |||
| bc1d2e5f7a | |||
| a0f0c48bc5 | |||
| 4d6c77704c | |||
|
|
f3855583dd | ||
| 2b98ebc544 | |||
|
|
8b5358fbcc | ||
|
|
4ed7032fd5 | ||
| d4d2483161 | |||
|
|
4e01192979 | ||
|
|
2127820ae0 | ||
| 361308962e | |||
| e0c8409971 | |||
| 6f31e33094 | |||
| bad5eab21c | |||
| c9ec0527dd | |||
| ac3ce1ceac | |||
| 6fffdba876 | |||
| 94789a9100 | |||
|
|
1475d02be0 | ||
|
|
a40f53a1f3 | ||
| 08d357dc98 | |||
| 0df299acf5 | |||
| 00eb2de4c8 | |||
| f65f350965 | |||
| 1d32aed8dc | |||
| ab3bdf219f | |||
| 5b1a58195e | |||
| 7f5d92addb | |||
| 7a37918ec7 | |||
| 31e198f772 | |||
| 366039eb2b | |||
| fd83f3636d | |||
| c2e8507402 | |||
| 3923bd915c | |||
| d1163a4ee8 | |||
| 5538e738a8 | |||
| b0a9f34dc4 | |||
| 65ca665e25 | |||
| 72b9560c32 | |||
| 7694d4dd18 | |||
| 853c16a9bc | |||
| 905cc2f22e | |||
| edbe5c405c | |||
| 07bd2d4c13 | |||
| d57f66ef75 | |||
| 19ecc6a284 | |||
| 2b6fc7dbe5 | |||
| 8d76d94131 | |||
| 246bcd06a2 | |||
| e4f1b20211 | |||
| ef5d8c482a | |||
| c346055b42 | |||
| 63fd0dc103 | |||
| 7f05fda41a | |||
| 9c691db910 | |||
| d7966a7234 | |||
| e70c50ab1a | |||
| 74c16fabe6 | |||
| 70d5113180 | |||
| 6b089d3fba | |||
| 03ab236b67 | |||
| 8ba068041d | |||
| fae83a34bc | |||
| b934b1b940 | |||
| 7f7fd71fe4 | |||
| d65cef176e | |||
| 5715245080 | |||
| 796c991dd8 | |||
| 7ac74220c4 | |||
| 1bb0451d75 | |||
| ea4ef5be90 | |||
| 131691156a | |||
| 864bf5e059 | |||
| 5596c8825b | |||
| a05c064466 | |||
| ae86a8db0f | |||
| dae5eadf1a | |||
| bc11f40a7a | |||
| 51fd0fca91 | |||
| 3c0a4e4995 | |||
| 9959cf1f24 | |||
| 61669f6b98 | |||
| d7d29a843f | |||
| dbb9168426 | |||
| cd52ebd7e8 | |||
| 99e20751a8 | |||
| 01108d7c2f | |||
| 7e5ca51486 | |||
| 5441ab1a58 | |||
| 0c34c94397 | |||
| a5f97fc018 | |||
| 91cdc28846 | |||
| 2470954006 | |||
|
|
0e661dec95 | ||
|
|
e503bec31a | ||
|
|
628bb2e157 | ||
|
|
afeae7380d | ||
|
|
3530a5c191 | ||
|
|
92b9577a19 | ||
|
|
56dc9b1b4a | ||
| 8c3986ffe0 | |||
|
|
c2b67e647d | ||
| 6137fdbd91 | |||
| 35ecc2c643 | |||
| cb8b8bd4cc | |||
| 7279e3592f | |||
| 8d275ddb31 | |||
| cf41615cb3 | |||
| c1f855c2ab | |||
| 4ac836fc66 | |||
| 5986e6a78b | |||
| 0601be026c | |||
| 24b0a3d75f | |||
| 2ac5234803 | |||
| 30e309853c | |||
| 944ce69906 | |||
| 4bf5316cfa | |||
| 136e63a6cd | |||
| 5ea424d0e8 | |||
|
|
d0e7e45a41 |
24
.github/workflows/appimage-build.yml
vendored
@@ -29,9 +29,11 @@ jobs:
|
||||
build-essential pkg-config meson ninja-build cmake \
|
||||
gettext \
|
||||
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev \
|
||||
libgtk2.0-dev libgtk-3-dev \
|
||||
libgtk-3-dev \
|
||||
libwayland-client0 libwayland-cursor0 libwayland-egl1 \
|
||||
libxkbcommon0 \
|
||||
libgtk-3-bin libglib2.0-bin shared-mime-info gsettings-desktop-schemas \
|
||||
libluajit-5.1-dev libpci-dev libperl-dev libssl-dev \
|
||||
libluajit-5.1-dev libpci-dev libperl-dev libssl-dev libayatana-appindicator3-dev \
|
||||
python3-dev python3-cffi mono-devel desktop-file-utils \
|
||||
patchelf file curl
|
||||
|
||||
@@ -41,7 +43,10 @@ jobs:
|
||||
rm -rf build
|
||||
meson setup build \
|
||||
--prefix=/usr \
|
||||
-Dgtk3=true \
|
||||
-Dtext-frontend=true \
|
||||
-Dwith-perl=perl \
|
||||
-Dwith-python=python3 \
|
||||
-Dauto_features=enabled
|
||||
|
||||
- name: Build
|
||||
@@ -72,11 +77,9 @@ jobs:
|
||||
chmod +x linuxdeploy-plugin-gtk
|
||||
export PATH="${PWD}:${PATH}"
|
||||
|
||||
# Bundle CA certificates into the AppDir
|
||||
install -Dm644 /etc/ssl/certs/ca-certificates.crt \
|
||||
AppDir/etc/ssl/certs/ca-certificates.crt
|
||||
|
||||
# Custom AppRun: preserve typical AppDir runtime paths AND force CA bundle
|
||||
cat > AppRun <<'EOF'
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
@@ -97,15 +100,26 @@ jobs:
|
||||
export GIO_EXTRA_MODULES="$APPDIR/usr/lib/gio/modules${GIO_EXTRA_MODULES:+:$GIO_EXTRA_MODULES}"
|
||||
fi
|
||||
|
||||
# OpenSSL trust store override (fixes “unable to get local issuer certificate (20)”)
|
||||
# OpenSSL trust store override
|
||||
export SSL_CERT_FILE="${SSL_CERT_FILE:-$APPDIR/etc/ssl/certs/ca-certificates.crt}"
|
||||
export SSL_CERT_DIR="${SSL_CERT_DIR:-$APPDIR/etc/ssl/certs}"
|
||||
export CURL_CA_BUNDLE="${CURL_CA_BUNDLE:-$SSL_CERT_FILE}"
|
||||
|
||||
# Prefer Wayland if the session provides it, but keep X11 fallback.
|
||||
# Don't override if the user already set GDK_BACKEND explicitly.
|
||||
if [ -z "${GDK_BACKEND:-}" ]; then
|
||||
if [ -n "${WAYLAND_DISPLAY:-}" ] || [ "${XDG_SESSION_TYPE:-}" = "wayland" ]; then
|
||||
export GDK_BACKEND="wayland,x11"
|
||||
else
|
||||
export GDK_BACKEND="x11"
|
||||
fi
|
||||
fi
|
||||
|
||||
exec "$APPDIR/usr/bin/zoitechat" "$@"
|
||||
EOF
|
||||
chmod +x AppRun
|
||||
|
||||
|
||||
VERSION="$(git describe --tags --always)"
|
||||
|
||||
./linuxdeploy-x86_64.AppImage \
|
||||
|
||||
45
.github/workflows/debian-build.yml
vendored
@@ -13,47 +13,36 @@ jobs:
|
||||
image: debian:bookworm
|
||||
|
||||
steps:
|
||||
- name: Install base tooling (git + deps)
|
||||
- name: Install packaging tooling and build dependencies
|
||||
run: |
|
||||
set -eux
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update
|
||||
apt-get install -y --no-install-recommends \
|
||||
git ca-certificates \
|
||||
build-essential pkg-config meson ninja-build cmake \
|
||||
gettext \
|
||||
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk2.0-dev \
|
||||
libluajit-5.1-dev libpci-dev libperl-dev libssl-dev \
|
||||
python3-dev python3-cffi mono-devel desktop-file-utils
|
||||
build-essential dpkg-dev debhelper fakeroot \
|
||||
pkg-config meson ninja-build \
|
||||
gettext iso-codes \
|
||||
libcanberra-dev libdbus-glib-1-dev libglib2.0-dev libgtk-3-dev libayatana-appindicator3-dev \
|
||||
liblua5.3-dev libpci-dev libperl-dev libssl-dev \
|
||||
python3-dev python3-cffi desktop-file-utils
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Configure
|
||||
- name: Build Debian packages
|
||||
run: |
|
||||
set -eux
|
||||
rm -rf build
|
||||
meson setup build \
|
||||
-Dtext-frontend=true \
|
||||
-Dauto_features=enabled
|
||||
# If configure fails, show the project's actual option names in the log.
|
||||
- name: Show Meson options (on failure)
|
||||
if: failure()
|
||||
run: |
|
||||
set -eux
|
||||
meson configure build || true
|
||||
dpkg-buildpackage -us -uc -b
|
||||
|
||||
- name: Build
|
||||
- name: Collect Debian artifacts
|
||||
run: |
|
||||
set -eux
|
||||
ninja -C build
|
||||
mkdir -p artifacts
|
||||
cp -v ../*.deb ../*.changes ../*.buildinfo artifacts/
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
set -eux
|
||||
ninja -C build test
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
set -eux
|
||||
ninja -C build install
|
||||
- name: Upload Debian artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-debian-packages
|
||||
path: artifacts/*
|
||||
|
||||
359
.github/workflows/macos-build.yml
vendored
Normal file
@@ -0,0 +1,359 @@
|
||||
name: macOS Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
macos_build_arm64:
|
||||
runs-on: macos-15-arm64
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
set -eux
|
||||
brew update
|
||||
brew install \
|
||||
meson ninja pkg-config gettext perl \
|
||||
gtk+3 gdk-pixbuf pango adwaita-icon-theme \
|
||||
hicolor-icon-theme glib dbus \
|
||||
enchant gtk-mac-integration
|
||||
|
||||
if ! command -v gtk-mac-bundler >/dev/null 2>&1 && ! python3 -c 'import gtk_mac_bundler' >/dev/null 2>&1; then
|
||||
curl -fsSL https://codeload.github.com/jralls/gtk-mac-bundler/tar.gz/refs/heads/master -o /tmp/gtk-mac-bundler.tar.gz
|
||||
rm -rf /tmp/gtk-mac-bundler
|
||||
mkdir -p /tmp/gtk-mac-bundler
|
||||
tar -xzf /tmp/gtk-mac-bundler.tar.gz -C /tmp/gtk-mac-bundler --strip-components=1
|
||||
(cd /tmp/gtk-mac-bundler && make install)
|
||||
fi
|
||||
|
||||
- name: Configure and build (arm64)
|
||||
run: |
|
||||
set -eux
|
||||
rm -rf build-macos-arm64 stage/arm64
|
||||
|
||||
CFLAGS="-arch arm64" LDFLAGS="-arch arm64" meson setup build-macos-arm64 \
|
||||
--prefix="$PWD/stage/arm64" \
|
||||
-Dgtk3=true \
|
||||
-Dtext-frontend=true \
|
||||
-Dlibcanberra=disabled \
|
||||
-Dwith-perl=perl \
|
||||
-Dwith-python=python3 \
|
||||
-Dauto_features=enabled
|
||||
|
||||
CFLAGS="-arch arm64" LDFLAGS="-arch arm64" meson compile -C build-macos-arm64
|
||||
meson install -C build-macos-arm64
|
||||
|
||||
- name: Stage runtime dependencies for bundling (arm64)
|
||||
run: |
|
||||
set -eux
|
||||
STAGE_PREFIX="$PWD/stage/arm64"
|
||||
BREW_PREFIX="$(brew --prefix)"
|
||||
ENCHANT_PREFIX="$(brew --prefix enchant)"
|
||||
|
||||
mkdir -p "$STAGE_PREFIX/lib" "$STAGE_PREFIX/share"
|
||||
rsync -a "$BREW_PREFIX/lib/gtk-3.0" "$STAGE_PREFIX/lib/"
|
||||
rsync -a "$BREW_PREFIX/lib/gdk-pixbuf-2.0" "$STAGE_PREFIX/lib/"
|
||||
rsync -a "$BREW_PREFIX/share/locale/" "$STAGE_PREFIX/share/locale/"
|
||||
|
||||
mkdir -p "$STAGE_PREFIX/opt"
|
||||
rm -rf "$STAGE_PREFIX/opt/enchant"
|
||||
rsync -aL "$ENCHANT_PREFIX/" "$STAGE_PREFIX/opt/enchant/"
|
||||
|
||||
- name: Package unsigned .app (arm64)
|
||||
run: |
|
||||
set -eux
|
||||
VERSION="$(git describe --tags --always)"
|
||||
export VERSION
|
||||
|
||||
(
|
||||
cd osx
|
||||
BUNDLE_PREFIX="$PWD/../stage/arm64/" \
|
||||
ENCHANT_PREFIX="$PWD/../stage/arm64/opt/enchant" \
|
||||
TARGET_ARCHES="arm64" \
|
||||
./makebundle.sh
|
||||
)
|
||||
|
||||
mv osx/ZoiteChat-*.app.zip ./ZoiteChat-arm64.app.zip
|
||||
|
||||
- name: Upload arm64 macOS app artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-arm64
|
||||
path: ZoiteChat-arm64.app.zip
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
macos_build_x86_64:
|
||||
runs-on: macos-15-intel
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Install build dependencies
|
||||
run: |
|
||||
set -eux
|
||||
brew update
|
||||
brew install \
|
||||
meson ninja pkg-config gettext perl \
|
||||
gtk+3 gdk-pixbuf pango adwaita-icon-theme \
|
||||
hicolor-icon-theme glib dbus \
|
||||
enchant gtk-mac-integration
|
||||
|
||||
if ! command -v gtk-mac-bundler >/dev/null 2>&1 && ! python3 -c 'import gtk_mac_bundler' >/dev/null 2>&1; then
|
||||
curl -fsSL https://codeload.github.com/jralls/gtk-mac-bundler/tar.gz/refs/heads/master -o /tmp/gtk-mac-bundler.tar.gz
|
||||
rm -rf /tmp/gtk-mac-bundler
|
||||
mkdir -p /tmp/gtk-mac-bundler
|
||||
tar -xzf /tmp/gtk-mac-bundler.tar.gz -C /tmp/gtk-mac-bundler --strip-components=1
|
||||
(cd /tmp/gtk-mac-bundler && make install)
|
||||
fi
|
||||
|
||||
- name: Configure and build (x86_64)
|
||||
run: |
|
||||
set -eux
|
||||
rm -rf build-macos-x86_64 stage/x86_64
|
||||
|
||||
CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" meson setup build-macos-x86_64 \
|
||||
--prefix="$PWD/stage/x86_64" \
|
||||
-Dgtk3=true \
|
||||
-Dtext-frontend=true \
|
||||
-Dlibcanberra=disabled \
|
||||
-Ddarwin-arch-sanity-check=true \
|
||||
-Dwith-perl=perl \
|
||||
-Dwith-python=python3 \
|
||||
-Dauto_features=enabled
|
||||
|
||||
CFLAGS="-arch x86_64" LDFLAGS="-arch x86_64" meson compile -C build-macos-x86_64
|
||||
meson install -C build-macos-x86_64
|
||||
|
||||
|
||||
- name: Stage runtime dependencies for bundling (x86_64)
|
||||
run: |
|
||||
set -eux
|
||||
STAGE_PREFIX="$PWD/stage/x86_64"
|
||||
BREW_PREFIX="$(brew --prefix)"
|
||||
ENCHANT_PREFIX="$(brew --prefix enchant)"
|
||||
|
||||
mkdir -p "$STAGE_PREFIX/lib" "$STAGE_PREFIX/share"
|
||||
rsync -a "$BREW_PREFIX/lib/gtk-3.0" "$STAGE_PREFIX/lib/"
|
||||
rsync -a "$BREW_PREFIX/lib/gdk-pixbuf-2.0" "$STAGE_PREFIX/lib/"
|
||||
rsync -a "$BREW_PREFIX/share/locale/" "$STAGE_PREFIX/share/locale/"
|
||||
|
||||
mkdir -p "$STAGE_PREFIX/opt"
|
||||
rm -rf "$STAGE_PREFIX/opt/enchant"
|
||||
rsync -aL "$ENCHANT_PREFIX/" "$STAGE_PREFIX/opt/enchant/"
|
||||
|
||||
- name: Package unsigned .app (x86_64)
|
||||
run: |
|
||||
set -eux
|
||||
VERSION="$(git describe --tags --always)"
|
||||
export VERSION
|
||||
|
||||
(
|
||||
cd osx
|
||||
BUNDLE_PREFIX="$PWD/../stage/x86_64/" \
|
||||
ENCHANT_PREFIX="$PWD/../stage/x86_64/opt/enchant" \
|
||||
TARGET_ARCHES="x86_64" \
|
||||
./makebundle.sh
|
||||
)
|
||||
|
||||
mv osx/ZoiteChat-*.app.zip ./ZoiteChat-x86_64.app.zip
|
||||
|
||||
- name: Upload x86_64 macOS app artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-x86_64
|
||||
path: ZoiteChat-x86_64.app.zip
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
macos_assemble_universal_unsigned:
|
||||
needs:
|
||||
- macos_build_arm64
|
||||
- macos_build_x86_64
|
||||
runs-on: macos-latest
|
||||
|
||||
steps:
|
||||
- name: Download arm64 app artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-arm64
|
||||
path: dist/arm64
|
||||
|
||||
- name: Download x86_64 app artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-x86_64
|
||||
path: dist/x86_64
|
||||
|
||||
- name: Merge app bundles into universal
|
||||
run: |
|
||||
set -eux
|
||||
unzip -q dist/arm64/ZoiteChat-arm64.app.zip -d dist/arm64
|
||||
unzip -q dist/x86_64/ZoiteChat-x86_64.app.zip -d dist/x86_64
|
||||
|
||||
ARM_APP="$(find dist/arm64 -maxdepth 2 -name 'ZoiteChat.app' -type d | head -n 1)"
|
||||
X86_APP="$(find dist/x86_64 -maxdepth 2 -name 'ZoiteChat.app' -type d | head -n 1)"
|
||||
UNIVERSAL_APP="dist/universal/ZoiteChat.app"
|
||||
|
||||
rm -rf "$UNIVERSAL_APP"
|
||||
mkdir -p dist/universal
|
||||
cp -a "$ARM_APP" "$UNIVERSAL_APP"
|
||||
|
||||
while IFS= read -r relpath; do
|
||||
arm_file="$ARM_APP/$relpath"
|
||||
x86_file="$X86_APP/$relpath"
|
||||
out_file="$UNIVERSAL_APP/$relpath"
|
||||
|
||||
if [ -f "$x86_file" ] && file -b "$arm_file" | grep -q 'Mach-O'; then
|
||||
mkdir -p "$(dirname "$out_file")"
|
||||
lipo -create "$arm_file" "$x86_file" -output "$out_file"
|
||||
fi
|
||||
done < <(cd "$ARM_APP" && find . -type f | sed 's|^./||')
|
||||
|
||||
while IFS= read -r macho_path; do
|
||||
archs="$(lipo -archs "$macho_path")"
|
||||
echo "$macho_path -> $archs"
|
||||
echo " $archs " | grep -q ' arm64 '
|
||||
echo " $archs " | grep -q ' x86_64 '
|
||||
done < <(find "$UNIVERSAL_APP" -type f -exec sh -c 'file -b "$1" | grep -q "Mach-O" && printf "%s\n" "$1"' _ {} \;)
|
||||
|
||||
VERSION="$(git -C "$GITHUB_WORKSPACE" describe --tags --always)"
|
||||
ditto -c -k --sequesterRsrc --keepParent "$UNIVERSAL_APP" "dist/ZoiteChat-$VERSION.app.zip"
|
||||
- name: Upload unsigned macOS app artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-unsigned
|
||||
|
||||
path: dist/ZoiteChat-*.app.zip
|
||||
if-no-files-found: error
|
||||
retention-days: 14
|
||||
|
||||
macos_release_signed:
|
||||
needs: macos_assemble_universal_unsigned
|
||||
runs-on: macos-latest
|
||||
if: >-
|
||||
github.event_name == 'push' &&
|
||||
github.ref == 'refs/heads/master'
|
||||
|
||||
steps:
|
||||
- name: Check signing secrets availability
|
||||
id: signing_secrets
|
||||
env:
|
||||
APPLE_DEVELOPER_ID_APPLICATION: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION }}
|
||||
APPLE_DEVELOPER_ID_CERT_P12: ${{ secrets.APPLE_DEVELOPER_ID_CERT_P12 }}
|
||||
APPLE_DEVELOPER_ID_CERT_P12_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_CERT_P12_PASSWORD }}
|
||||
APPLE_NOTARY_API_KEY: ${{ secrets.APPLE_NOTARY_API_KEY }}
|
||||
APPLE_NOTARY_API_KEY_ID: ${{ secrets.APPLE_NOTARY_API_KEY_ID }}
|
||||
APPLE_NOTARY_ISSUER_ID: ${{ secrets.APPLE_NOTARY_ISSUER_ID }}
|
||||
run: |
|
||||
set -eu
|
||||
required_secrets=(
|
||||
APPLE_DEVELOPER_ID_APPLICATION
|
||||
APPLE_DEVELOPER_ID_CERT_P12
|
||||
APPLE_DEVELOPER_ID_CERT_P12_PASSWORD
|
||||
APPLE_NOTARY_API_KEY
|
||||
APPLE_NOTARY_API_KEY_ID
|
||||
APPLE_NOTARY_ISSUER_ID
|
||||
)
|
||||
|
||||
missing=0
|
||||
for key in "${required_secrets[@]}"; do
|
||||
if [ -z "${!key:-}" ]; then
|
||||
echo "Missing secret: $key"
|
||||
missing=1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$missing" -eq 1 ]; then
|
||||
echo "ready=false" >> "$GITHUB_OUTPUT"
|
||||
else
|
||||
echo "ready=true" >> "$GITHUB_OUTPUT"
|
||||
fi
|
||||
|
||||
- name: Skip signing because required secrets are missing
|
||||
if: steps.signing_secrets.outputs.ready != 'true'
|
||||
run: echo "Signing and notarization skipped due to missing required secrets."
|
||||
|
||||
- name: Download unsigned app artifact
|
||||
if: steps.signing_secrets.outputs.ready == 'true'
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-unsigned
|
||||
path: dist
|
||||
|
||||
- name: Import Developer ID certificate
|
||||
if: steps.signing_secrets.outputs.ready == 'true'
|
||||
env:
|
||||
CERT_P12_BASE64: ${{ secrets.APPLE_DEVELOPER_ID_CERT_P12 }}
|
||||
CERT_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_CERT_P12_PASSWORD }}
|
||||
run: |
|
||||
set -eux
|
||||
echo "$CERT_P12_BASE64" | base64 --decode > certificate.p12
|
||||
|
||||
security create-keychain -p "" build.keychain
|
||||
security set-keychain-settings -lut 21600 build.keychain
|
||||
security unlock-keychain -p "" build.keychain
|
||||
security import certificate.p12 -k build.keychain -P "$CERT_PASSWORD" -A -T /usr/bin/codesign
|
||||
security list-keychains -d user -s build.keychain $(security list-keychains -d user | tr -d '"')
|
||||
security set-key-partition-list -S apple-tool:,apple: -s -k "" build.keychain
|
||||
|
||||
- name: Codesign app bundle
|
||||
if: steps.signing_secrets.outputs.ready == 'true'
|
||||
env:
|
||||
CODESIGN_IDENTITY: ${{ secrets.APPLE_DEVELOPER_ID_APPLICATION }}
|
||||
run: |
|
||||
set -eux
|
||||
unzip -q dist/ZoiteChat-*.app.zip -d dist
|
||||
APP_PATH="$(find dist -maxdepth 1 -name 'ZoiteChat.app' -type d | head -n 1)"
|
||||
|
||||
codesign --force --deep --options runtime --timestamp \
|
||||
--sign "$CODESIGN_IDENTITY" "$APP_PATH"
|
||||
|
||||
codesign --verify --deep --strict --verbose=2 "$APP_PATH"
|
||||
spctl --assess --type execute --verbose "$APP_PATH"
|
||||
|
||||
- name: Notarize and staple
|
||||
if: steps.signing_secrets.outputs.ready == 'true'
|
||||
env:
|
||||
NOTARY_API_KEY_BASE64: ${{ secrets.APPLE_NOTARY_API_KEY }}
|
||||
NOTARY_KEY_ID: ${{ secrets.APPLE_NOTARY_API_KEY_ID }}
|
||||
NOTARY_ISSUER_ID: ${{ secrets.APPLE_NOTARY_ISSUER_ID }}
|
||||
run: |
|
||||
set -eux
|
||||
APP_PATH="$(find dist -maxdepth 1 -name 'ZoiteChat.app' -type d | head -n 1)"
|
||||
NOTARY_ZIP="dist/ZoiteChat-notarize.zip"
|
||||
SIGNED_ZIP="dist/ZoiteChat-signed.app.zip"
|
||||
|
||||
echo "$NOTARY_API_KEY_BASE64" | base64 --decode > AuthKey_${NOTARY_KEY_ID}.p8
|
||||
ditto -c -k --keepParent "$APP_PATH" "$NOTARY_ZIP"
|
||||
|
||||
xcrun notarytool submit "$NOTARY_ZIP" \
|
||||
--key "AuthKey_${NOTARY_KEY_ID}.p8" \
|
||||
--key-id "$NOTARY_KEY_ID" \
|
||||
--issuer "$NOTARY_ISSUER_ID" \
|
||||
--wait
|
||||
|
||||
xcrun stapler staple "$APP_PATH"
|
||||
xcrun stapler validate "$APP_PATH"
|
||||
|
||||
ditto -c -k --sequesterRsrc --keepParent "$APP_PATH" "$SIGNED_ZIP"
|
||||
|
||||
- name: Upload signed macOS app artifact
|
||||
if: steps.signing_secrets.outputs.ready == 'true'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: zoitechat-macos-signed
|
||||
path: dist/ZoiteChat-signed.app.zip
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
56
.github/workflows/msys-build.yml
vendored
@@ -1,56 +0,0 @@
|
||||
name: MSYS2 Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
msys2_build:
|
||||
runs-on: windows-latest
|
||||
defaults:
|
||||
run:
|
||||
shell: msys2 {0}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: msys2/setup-msys2@v2
|
||||
with:
|
||||
msystem: MINGW64
|
||||
update: true
|
||||
install: >-
|
||||
mingw-w64-x86_64-gcc
|
||||
mingw-w64-x86_64-pkg-config
|
||||
mingw-w64-x86_64-python-cffi
|
||||
mingw-w64-x86_64-meson
|
||||
mingw-w64-x86_64-ninja
|
||||
mingw-w64-x86_64-gtk2
|
||||
mingw-w64-x86_64-gtk-update-icon-cache
|
||||
mingw-w64-x86_64-luajit
|
||||
mingw-w64-x86_64-desktop-file-utils
|
||||
mingw-w64-x86_64-gettext-tools
|
||||
|
||||
- name: Sanity check gettext ITS rules
|
||||
run: |
|
||||
set -eux
|
||||
which msgfmt || true
|
||||
msgfmt --version
|
||||
ls -la /mingw64/share/gettext-*/its || true
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
set -eux
|
||||
rm -rf build
|
||||
meson setup build \
|
||||
-Dtext-frontend=true \
|
||||
-Ddbus=disabled \
|
||||
-Dwith-upd=false \
|
||||
-Dwith-perl=false
|
||||
|
||||
- name: Build
|
||||
run: ninja -C build
|
||||
|
||||
- name: Test
|
||||
run: ninja -C build test
|
||||
117
.github/workflows/openbsd-build.yml
vendored
@@ -1,117 +0,0 @@
|
||||
name: OpenBSD Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
|
||||
jobs:
|
||||
openbsd_package:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Build OpenBSD package
|
||||
uses: vmactions/openbsd-vm@v1
|
||||
with:
|
||||
release: '7.5'
|
||||
usesh: true
|
||||
sync: rsync
|
||||
run: |
|
||||
set -eux
|
||||
|
||||
rdate -n pool.ntp.org
|
||||
export PKG_PATH="https://ftp.openbsd.org/pub/OpenBSD/7.5/packages/$(uname -m)/"
|
||||
|
||||
pkg_add -U \
|
||||
git \
|
||||
meson ninja pkgconf gmake \
|
||||
gettext-tools \
|
||||
glib2 gtk+2 dbus-glib libcanberra \
|
||||
luajit mono libgdiplus openssl
|
||||
|
||||
work="$(mktemp -d /tmp/zoitechat.XXXXXX)"
|
||||
trap 'rm -rf "$work"' EXIT
|
||||
|
||||
rsync -a --delete "$GITHUB_WORKSPACE"/ "$work/src/"
|
||||
cd "$work/src"
|
||||
|
||||
rm -rf build
|
||||
meson setup build \
|
||||
--prefix=/usr/local \
|
||||
-Dtext-frontend=true \
|
||||
-Dplugin=false \
|
||||
-Dauto_features=enabled
|
||||
|
||||
ninja -C build
|
||||
|
||||
staging="$work/staging"
|
||||
rm -rf "$staging"
|
||||
mkdir -p "$staging"
|
||||
|
||||
# Staged install
|
||||
DESTDIR="$staging" meson install -C build --no-rebuild
|
||||
|
||||
# If these exist, something ignored DESTDIR (install scripts are leaking)
|
||||
ls -l /usr/local/bin/zoitechat /usr/local/bin/thememan 2>/dev/null || true
|
||||
|
||||
sync
|
||||
sleep 1
|
||||
sync
|
||||
|
||||
# Freeze staged tree so pkg_create doesn't see moving targets
|
||||
snap="$work/staging-snap"
|
||||
rm -rf "$snap"
|
||||
mkdir -p "$snap"
|
||||
(cd "$staging" && pax -rw -pe . "$snap")
|
||||
|
||||
version="$(meson introspect --projectinfo build | sed -n 's/.*"version"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p')"
|
||||
pkg_name="zoitechat-${version}"
|
||||
pkg_file="${pkg_name}.tgz"
|
||||
plist="$work/openbsd-plist"
|
||||
desc="$work/DESCR"
|
||||
|
||||
cat >"$desc" <<'EOF'
|
||||
ZoiteChat is an IRC client (HexChat-derived) with a GTK UI and optional tools.
|
||||
EOF
|
||||
|
||||
{
|
||||
echo "@cwd /usr/local"
|
||||
|
||||
# Files + symlinks
|
||||
find "$snap/usr/local" \( -type f -o -type l \) -print \
|
||||
| LC_ALL=C sort \
|
||||
| sed "s#^$snap/usr/local/##"
|
||||
|
||||
# Directories (reverse so children removed first)
|
||||
find "$snap/usr/local" -mindepth 1 -type d -print \
|
||||
| LC_ALL=C sort -r \
|
||||
| sed "s#^$snap/usr/local/##" \
|
||||
| sed 's#^#@dir #'
|
||||
} > "$plist"
|
||||
|
||||
# OpenBSD pkg_create: COMMENT is set via -D COMMENT=... (mandatory), no -c flag exists.
|
||||
# Create the .tgz in $work so we can copy it back out.
|
||||
cd "$work"
|
||||
pkg_create \
|
||||
-B "$snap" \
|
||||
-p /usr/local \
|
||||
-f "$plist" \
|
||||
-d "$desc" \
|
||||
-D "COMMENT=ZoiteChat IRC client" \
|
||||
-D "FULLPKGPATH=net/zoitechat" \
|
||||
"$pkg_file"
|
||||
|
||||
mkdir -p "$GITHUB_WORKSPACE/artifacts"
|
||||
cp "$work/$pkg_file" "$GITHUB_WORKSPACE/artifacts/"
|
||||
|
||||
- name: Upload OpenBSD package
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: openbsd-package
|
||||
path: artifacts/*.tgz
|
||||
72
.github/workflows/solus-eopkg-build.yml
vendored
Normal file
@@ -0,0 +1,72 @@
|
||||
name: Solus eopkg build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
package_yml:
|
||||
description: "Path to Solus package.yml for ypkg build"
|
||||
required: false
|
||||
default: "packaging/solus/package.yml"
|
||||
solus_image:
|
||||
description: "Solus container image"
|
||||
required: false
|
||||
default: "ghcr.io/getsolus/solus:latest"
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- master
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
packages: read
|
||||
|
||||
jobs:
|
||||
build-eopkg:
|
||||
runs-on: ubuntu-latest
|
||||
env:
|
||||
SOLUS_IMAGE: ${{ inputs.solus_image || 'ghcr.io/getsolus/solus:latest' }}
|
||||
PACKAGE_YML: ${{ inputs.package_yml || 'packaging/solus/package.yml' }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Log in to GHCR (for ghcr.io images)
|
||||
if: startsWith(env.SOLUS_IMAGE, 'ghcr.io/')
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.actor }}
|
||||
password: ${{ github.token }}
|
||||
|
||||
- name: Build eopkg package in Solus container
|
||||
run: |
|
||||
if [ ! -f "$PACKAGE_YML" ]; then
|
||||
echo "Expected Solus packaging file at $PACKAGE_YML" >&2
|
||||
echo "Available package.yml files:" >&2
|
||||
find . -name "package.yml" -print >&2 || true
|
||||
echo "Add a package.yml (ypkg) file or update the workflow input PACKAGE_YML." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker pull "$SOLUS_IMAGE"
|
||||
|
||||
docker run --rm \
|
||||
-v "$PWD":/workspace \
|
||||
-w /workspace \
|
||||
-e PACKAGE_YML="$PACKAGE_YML" \
|
||||
"$SOLUS_IMAGE" \
|
||||
sh -lc '
|
||||
set -euo pipefail
|
||||
eopkg update-repo -y
|
||||
eopkg install -y ypkg git
|
||||
ypkg build "$PACKAGE_YML"
|
||||
mkdir -p /workspace/artifacts
|
||||
find . -maxdepth 3 -name "*.eopkg" -type f -exec cp -v {} /workspace/artifacts/ \;
|
||||
'
|
||||
|
||||
- name: Upload eopkg artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: solus-eopkg
|
||||
path: artifacts/*.eopkg
|
||||
if-no-files-found: error
|
||||
25
.github/workflows/windows-build.yml
vendored
@@ -10,7 +10,7 @@ on:
|
||||
|
||||
jobs:
|
||||
windows_build:
|
||||
runs-on: windows-2019
|
||||
runs-on: windows-2022
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
@@ -20,13 +20,8 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
platform: [x64, win32]
|
||||
arch: [x64, x86]
|
||||
exclude:
|
||||
- platform: x64
|
||||
arch: x86
|
||||
- platform: win32
|
||||
arch: x64
|
||||
platform: [x64]
|
||||
arch: [x64]
|
||||
fail-fast: false
|
||||
|
||||
steps:
|
||||
@@ -39,16 +34,16 @@ jobs:
|
||||
|
||||
- name: Install Dependencies
|
||||
run: |
|
||||
New-Item -Name "deps" -ItemType "Directory"
|
||||
New-Item -Name "deps" -ItemType "Directory" -Force | Out-Null
|
||||
|
||||
Invoke-WebRequest http://files.jrsoftware.org/is/5/innosetup-5.5.9-unicode.exe -OutFile deps\innosetup-unicode.exe
|
||||
Invoke-WebRequest https://files.jrsoftware.org/is/6/innosetup-6.7.0.exe -OutFile deps\innosetup-unicode.exe
|
||||
& deps\innosetup-unicode.exe /VERYSILENT | Out-Null
|
||||
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/idpsetup-1.5.1.exe -OutFile deps\idpsetup.exe
|
||||
& deps\idpsetup.exe /VERYSILENT
|
||||
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/gtk-${{ matrix.platform }}-2018-08-29-openssl1.1.7z -OutFile deps\gtk-${{ matrix.arch }}.7z
|
||||
& 7z.exe x deps\gtk-${{ matrix.arch }}.7z -oC:\gtk-build\gtk
|
||||
Invoke-WebRequest https://github.com/ZoiteChat/gvsbuild/releases/download/zoitechat-2.18.0-pre1/GTK3_Gvsbuild_zoitechat-2.18.0-pre1_${{ matrix.platform }}.7z -OutFile deps\gtk-${{ matrix.arch }}.7z
|
||||
& 7z.exe x deps\gtk-${{ matrix.arch }}.7z -oC:\gtk-build\gtk\x64\release
|
||||
|
||||
Invoke-WebRequest https://github.com/zoitechat/gvsbuild/releases/download/zoitechat-2.17.0/gendef-20111031.7z -OutFile deps\gendef.7z
|
||||
& 7z.exe x deps\gendef.7z -oC:\gtk-build
|
||||
@@ -76,7 +71,7 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\Tools\VsDevCmd.bat"
|
||||
|
||||
set "PYTHON_DIR=C:\gtk-build\python-3.14.2\${{ matrix.platform }}"
|
||||
if not exist "%PYTHON_DIR%\libs\python314.lib" (
|
||||
@@ -93,7 +88,7 @@ jobs:
|
||||
|
||||
- name: Preparing Artifacts
|
||||
run: |
|
||||
move ..\zoitechat-build\${{ matrix.platform }}\ZoiteChat*.exe .\
|
||||
move ..\zoitechat-build\${{ matrix.platform }}\ZoiteChat-*.exe .\
|
||||
move ..\zoitechat-build .\
|
||||
shell: cmd
|
||||
|
||||
@@ -102,7 +97,7 @@ jobs:
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: Installer ${{ matrix.arch }}
|
||||
path: ZoiteChat*.exe
|
||||
path: ZoiteChat-*.exe
|
||||
|
||||
- name: Attest Installer (Artifact Attestation)
|
||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }}
|
||||
|
||||
2
.mailmap
@@ -1,5 +1,5 @@
|
||||
Berke Viktor <github.bviktor@outlook.com> <berkeviktor@aol.com>
|
||||
Berke Viktor <github.bviktor@outlook.com> <bviktor@zoitechat.org>
|
||||
Berke Viktor <github.bviktor@outlook.com> <bviktor@hexchat.org>
|
||||
Berke Viktor <github.bviktor@outlook.com> <bviktor@outlook.com>
|
||||
Berke Viktor <github.bviktor@outlook.com> berkeviktor@aol.com
|
||||
Patrick Griffis <tingping@tingping.se> TingPing <tingping@fedoraproject.org>
|
||||
|
||||
45
Makefile
Normal file
@@ -0,0 +1,45 @@
|
||||
PREFIX ?= /usr/local
|
||||
BUILD_DIR ?= build
|
||||
MESON ?= meson
|
||||
NINJA ?= ninja
|
||||
C_STD ?= c17
|
||||
MESON_SETUP_ARGS ?=
|
||||
MESON_SETUP_ARGS += -Dc_std=$(C_STD)
|
||||
MESON_COMPILE_ARGS ?=
|
||||
MESON_INSTALL_ARGS ?=
|
||||
|
||||
CONFIG_STAMP := $(BUILD_DIR)/build.ninja
|
||||
|
||||
.PHONY: all configure build reconfigure install uninstall clean distclean
|
||||
|
||||
all: build
|
||||
|
||||
# Only run initial meson setup if we don't have a configured build dir yet.
|
||||
$(CONFIG_STAMP):
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
@env NINJA=$(NINJA) $(MESON) setup $(BUILD_DIR) --prefix=$(PREFIX) $(MESON_SETUP_ARGS)
|
||||
|
||||
configure: $(CONFIG_STAMP)
|
||||
|
||||
build: configure
|
||||
@env NINJA=$(NINJA) $(MESON) compile -C $(BUILD_DIR) $(MESON_COMPILE_ARGS)
|
||||
|
||||
reconfigure:
|
||||
@mkdir -p $(BUILD_DIR)
|
||||
@env NINJA=$(NINJA) $(MESON) setup --reconfigure $(BUILD_DIR) --prefix=$(PREFIX) $(MESON_SETUP_ARGS)
|
||||
|
||||
install: build
|
||||
@env NINJA=$(NINJA) $(MESON) install -C $(BUILD_DIR) $(MESON_INSTALL_ARGS)
|
||||
|
||||
uninstall: configure
|
||||
@$(NINJA) -C $(BUILD_DIR) uninstall
|
||||
|
||||
clean:
|
||||
@if [ -f "$(CONFIG_STAMP)" ]; then \
|
||||
env NINJA=$(NINJA) $(MESON) compile -C $(BUILD_DIR) --clean; \
|
||||
else \
|
||||
echo "Nothing to clean (no $(CONFIG_STAMP))."; \
|
||||
fi
|
||||
|
||||
distclean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
1122
changelog.rst
Normal file
BIN
data/icons/menu/dark/about.png
Normal file
|
After Width: | Height: | Size: 498 B |
5
data/icons/menu/dark/about.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 7v4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="4.8" r=".9" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 316 B |
BIN
data/icons/menu/dark/add.png
Normal file
|
After Width: | Height: | Size: 462 B |
3
data/icons/menu/dark/add.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="4.8" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M8 5.8v4.4M5.8 8h4.4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 281 B |
BIN
data/icons/menu/dark/chanlist.png
Normal file
|
After Width: | Height: | Size: 409 B |
5
data/icons/menu/dark/chanlist.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/dark/clear.png
Normal file
|
After Width: | Height: | Size: 362 B |
6
data/icons/menu/dark/clear.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3.2 5.2h9.6" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5.2v7.3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V5.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M6.5 3.5h3" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6.8 7v4M9.2 7v4" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 468 B |
BIN
data/icons/menu/dark/close.png
Normal file
|
After Width: | Height: | Size: 445 B |
4
data/icons/menu/dark/close.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="2.5" width="11" height="11" rx="1.6" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M5.2 5.2l5.6 5.6M10.8 5.2 5.2 10.8" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 320 B |
BIN
data/icons/menu/dark/connect.png
Normal file
|
After Width: | Height: | Size: 399 B |
5
data/icons/menu/dark/connect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="8" r="1.1" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 326 B |
BIN
data/icons/menu/dark/copy.png
Normal file
|
After Width: | Height: | Size: 330 B |
3
data/icons/menu/dark/copy.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M6 4.5h6.5v8H6z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M3.5 2.5H10v1.8" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/><path d="M3.5 2.5v8.8H5.3" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 383 B |
BIN
data/icons/menu/dark/delete.png
Normal file
|
After Width: | Height: | Size: 305 B |
3
data/icons/menu/dark/delete.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M5.2 5.3h5.6v7.2H5.2z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M4 5.3h8" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/><path d="M6.3 3.7h3.4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/><path d="M7.1 6.6v4.6M8.9 6.6v4.6" stroke="#e5e7eb" stroke-width="1.1" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 449 B |
BIN
data/icons/menu/dark/detach.png
Normal file
|
After Width: | Height: | Size: 343 B |
4
data/icons/menu/dark/detach.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2" y="4" width="8" height="8" rx="1.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 8h5M10.5 5.5 13 8l-2.5 2.5" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 345 B |
BIN
data/icons/menu/dark/disconnect.png
Normal file
|
After Width: | Height: | Size: 415 B |
5
data/icons/menu/dark/disconnect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5l6 6" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 359 B |
BIN
data/icons/menu/dark/emoji.png
Normal file
|
After Width: | Height: | Size: 536 B |
1
data/icons/menu/dark/emoji.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5.6" fill="rgb(255,199,64)" stroke="rgb(240,240,240)" stroke-width="1"/><circle cx="6" cy="7" r="0.8" fill="rgb(240,240,240)"/><circle cx="10" cy="7" r="0.8" fill="rgb(240,240,240)"/><path d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="rgb(240,240,240)" stroke-width="1" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 431 B |
BIN
data/icons/menu/dark/find.png
Normal file
|
After Width: | Height: | Size: 360 B |
5
data/icons/menu/dark/find.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="7" cy="7" r="3.5" fill="none" stroke="#e5e7eb" stroke-width="1.4"/>
|
||||
<path d="M9.8 9.8 13 13" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M7 5.4v3.2M5.4 7h3.2" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 368 B |
BIN
data/icons/menu/dark/help.png
Normal file
|
After Width: | Height: | Size: 579 B |
5
data/icons/menu/dark/help.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M6.4 6.2a1.8 1.8 0 1 1 2.8 1.5c-.7.5-1.2.9-1.2 1.8" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="11.8" r=".8" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 373 B |
BIN
data/icons/menu/dark/join.png
Normal file
|
After Width: | Height: | Size: 360 B |
5
data/icons/menu/dark/join.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l3 3-3 3" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="10" y="3" width="3.5" height="10" rx="1" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 410 B |
BIN
data/icons/menu/dark/load-plugin.png
Normal file
|
After Width: | Height: | Size: 377 B |
6
data/icons/menu/dark/load-plugin.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l2.8 3L6 11" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="9" y="4" width="4.5" height="8" rx="1" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M11.25 6v1.8" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 495 B |
BIN
data/icons/menu/dark/network-list.png
Normal file
|
After Width: | Height: | Size: 409 B |
5
data/icons/menu/dark/network-list.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#e5e7eb"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/dark/new.png
Normal file
|
After Width: | Height: | Size: 401 B |
5
data/icons/menu/dark/new.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h6l4 4V13.5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M9 2.5v4h4" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 8v4M6 10h4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 375 B |
BIN
data/icons/menu/dark/next.png
Normal file
|
After Width: | Height: | Size: 245 B |
3
data/icons/menu/dark/next.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M5.5 3.5 10.5 8l-5 4.5" fill="none" stroke="#e5e7eb" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 240 B |
BIN
data/icons/menu/dark/preferences.png
Normal file
|
After Width: | Height: | Size: 405 B |
4
data/icons/menu/dark/preferences.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="2.1" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<path d="M8 2.8v1.4M8 11.8v1.4M13.2 8h-1.4M4.2 8H2.8M11.7 4.3l-1 1M5.3 10.7l-1 1M11.7 11.7l-1-1M5.3 5.3l-1-1" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 361 B |
BIN
data/icons/menu/dark/previous.png
Normal file
|
After Width: | Height: | Size: 286 B |
3
data/icons/menu/dark/previous.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M10.5 3.5 5.5 8l5 4.5" fill="none" stroke="#e5e7eb" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 239 B |
BIN
data/icons/menu/dark/quit.png
Normal file
|
After Width: | Height: | Size: 432 B |
4
data/icons/menu/dark/quit.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M8 2.5v5" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M5 4.3a5 5 0 1 0 6 0" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 294 B |
BIN
data/icons/menu/dark/refresh.png
Normal file
|
After Width: | Height: | Size: 457 B |
3
data/icons/menu/dark/refresh.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M12.8 7.4A4.8 4.8 0 1 0 8 12.8" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round"/><path d="M13 3.5v3.7H9.3" fill="none" stroke="#e5e7eb" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 346 B |
BIN
data/icons/menu/dark/remove.png
Normal file
|
After Width: | Height: | Size: 424 B |
3
data/icons/menu/dark/remove.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="4.8" fill="none" stroke="#e5e7eb" stroke-width="1.3"/><path d="M5.8 8h4.4" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 271 B |
BIN
data/icons/menu/dark/save-as.png
Normal file
|
After Width: | Height: | Size: 470 B |
6
data/icons/menu/dark/save-as.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h8l2 2v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<rect x="5" y="3.5" width="4.5" height="2.5" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
<rect x="5" y="9" width="3.4" height="3" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
<path d="M9.8 8.9v3.6M8.1 10.7l1.7-1.8 1.8 1.8" fill="none" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 547 B |
BIN
data/icons/menu/dark/save.png
Normal file
|
After Width: | Height: | Size: 398 B |
5
data/icons/menu/dark/save.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h8l2 2v9a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#e5e7eb" stroke-width="1.3"/>
|
||||
<rect x="5" y="3.5" width="4.5" height="2.5" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
<rect x="5" y="9" width="6" height="3" fill="none" stroke="#e5e7eb" stroke-width="1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 400 B |
BIN
data/icons/menu/dark/search.png
Normal file
|
After Width: | Height: | Size: 337 B |
4
data/icons/menu/dark/search.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="7" cy="7" r="3.5" fill="none" stroke="#e5e7eb" stroke-width="1.4"/>
|
||||
<path d="M9.8 9.8 13 13" stroke="#e5e7eb" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 276 B |
BIN
data/icons/menu/dark/spell-check.png
Normal file
|
After Width: | Height: | Size: 327 B |
3
data/icons/menu/dark/spell-check.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M4 4.2h4M6 4.2v7.4M3.2 7.2h5.6" fill="none" stroke="#e5e7eb" stroke-width="1.2" stroke-linecap="round"/><path d="m8.9 9.3 1.5 1.5 2.8-3" fill="none" stroke="#e5e7eb" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 353 B |
BIN
data/icons/menu/dark/update.png
Normal file
|
After Width: | Height: | Size: 499 B |
1
data/icons/menu/dark/update.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g fill="none" stroke="rgb(240,240,240)" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 5.8A5.5 5.5 0 1 0 5 13"/><path d="M13 2.2v3h-3"/><path d="M3 10.2A5.5 5.5 0 1 0 11 3"/><path d="M3 13.8v-3h3"/></g></svg>
|
||||
|
After Width: | Height: | Size: 324 B |
BIN
data/icons/menu/light/about.png
Normal file
|
After Width: | Height: | Size: 514 B |
5
data/icons/menu/light/about.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M8 7v4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="4.8" r=".9" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 316 B |
BIN
data/icons/menu/light/add.png
Normal file
|
After Width: | Height: | Size: 486 B |
3
data/icons/menu/light/add.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="4.8" fill="none" stroke="#1f2937" stroke-width="1.3"/><path d="M8 5.8v4.4M5.8 8h4.4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 281 B |
BIN
data/icons/menu/light/chanlist.png
Normal file
|
After Width: | Height: | Size: 407 B |
5
data/icons/menu/light/chanlist.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/light/clear.png
Normal file
|
After Width: | Height: | Size: 364 B |
6
data/icons/menu/light/clear.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3.2 5.2h9.6" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5.2v7.3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V5.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M6.5 3.5h3" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6.8 7v4M9.2 7v4" stroke="#1f2937" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 468 B |
BIN
data/icons/menu/light/close.png
Normal file
|
After Width: | Height: | Size: 458 B |
4
data/icons/menu/light/close.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="2.5" width="11" height="11" rx="1.6" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M5.2 5.2l5.6 5.6M10.8 5.2 5.2 10.8" stroke="#1f2937" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 320 B |
BIN
data/icons/menu/light/connect.png
Normal file
|
After Width: | Height: | Size: 425 B |
5
data/icons/menu/light/connect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="8" r="1.1" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 326 B |
BIN
data/icons/menu/light/copy.png
Normal file
|
After Width: | Height: | Size: 344 B |
3
data/icons/menu/light/copy.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M6 4.5h6.5v8H6z" fill="none" stroke="#1f2937" stroke-width="1.3"/><path d="M3.5 2.5H10v1.8" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/><path d="M3.5 2.5v8.8H5.3" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 383 B |
BIN
data/icons/menu/light/delete.png
Normal file
|
After Width: | Height: | Size: 306 B |
3
data/icons/menu/light/delete.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M5.2 5.3h5.6v7.2H5.2z" fill="none" stroke="#1f2937" stroke-width="1.3"/><path d="M4 5.3h8" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/><path d="M6.3 3.7h3.4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/><path d="M7.1 6.6v4.6M8.9 6.6v4.6" stroke="#1f2937" stroke-width="1.1" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 449 B |
BIN
data/icons/menu/light/detach.png
Normal file
|
After Width: | Height: | Size: 356 B |
4
data/icons/menu/light/detach.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2" y="4" width="8" height="8" rx="1.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M8 8h5M10.5 5.5 13 8l-2.5 2.5" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 345 B |
BIN
data/icons/menu/light/disconnect.png
Normal file
|
After Width: | Height: | Size: 448 B |
5
data/icons/menu/light/disconnect.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8a5.5 5.5 0 0 1 11 0" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 10.5h7" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M5 5l6 6" stroke="#1f2937" stroke-width="1.4" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 359 B |
BIN
data/icons/menu/light/emoji.png
Normal file
|
After Width: | Height: | Size: 589 B |
1
data/icons/menu/light/emoji.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="5.6" fill="rgb(255,211,67)" stroke="rgb(56,56,56)" stroke-width="1"/><circle cx="6" cy="7" r="0.8" fill="rgb(56,56,56)"/><circle cx="10" cy="7" r="0.8" fill="rgb(56,56,56)"/><path d="M5.5 9.4c.6 1 1.4 1.6 2.5 1.6s1.9-.6 2.5-1.6" fill="none" stroke="rgb(56,56,56)" stroke-width="1" stroke-linecap="round"/></svg>
|
||||
|
After Width: | Height: | Size: 419 B |
BIN
data/icons/menu/light/find.png
Normal file
|
After Width: | Height: | Size: 401 B |
5
data/icons/menu/light/find.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="7" cy="7" r="3.5" fill="none" stroke="#1f2937" stroke-width="1.4"/>
|
||||
<path d="M9.8 9.8 13 13" stroke="#1f2937" stroke-width="1.5" stroke-linecap="round"/>
|
||||
<path d="M7 5.4v3.2M5.4 7h3.2" stroke="#1f2937" stroke-width="1.2" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 368 B |
BIN
data/icons/menu/light/help.png
Normal file
|
After Width: | Height: | Size: 587 B |
5
data/icons/menu/light/help.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<circle cx="8" cy="8" r="5.5" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M6.4 6.2a1.8 1.8 0 1 1 2.8 1.5c-.7.5-1.2.9-1.2 1.8" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="8" cy="11.8" r=".8" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 373 B |
BIN
data/icons/menu/light/join.png
Normal file
|
After Width: | Height: | Size: 369 B |
5
data/icons/menu/light/join.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l3 3-3 3" fill="none" stroke="#1f2937" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="10" y="3" width="3.5" height="10" rx="1" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 410 B |
BIN
data/icons/menu/light/load-plugin.png
Normal file
|
After Width: | Height: | Size: 388 B |
6
data/icons/menu/light/load-plugin.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M2.5 8h6" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<path d="M6 5l2.8 3L6 11" fill="none" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<rect x="9" y="4" width="4.5" height="8" rx="1" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M11.25 6v1.8" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 495 B |
BIN
data/icons/menu/light/network-list.png
Normal file
|
After Width: | Height: | Size: 407 B |
5
data/icons/menu/light/network-list.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<rect x="2.5" y="3" width="11" height="10" rx="1.2" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M4.5 5.5h7M4.5 8h7M4.5 10.5h5" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
<circle cx="3.5" cy="5.5" r=".2" fill="#1f2937"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 363 B |
BIN
data/icons/menu/light/new.png
Normal file
|
After Width: | Height: | Size: 415 B |
5
data/icons/menu/light/new.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" aria-hidden="true">
|
||||
<path d="M3 2.5h6l4 4V13.5a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1z" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M9 2.5v4h4" fill="none" stroke="#1f2937" stroke-width="1.3"/>
|
||||
<path d="M8 8v4M6 10h4" stroke="#1f2937" stroke-width="1.3" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 375 B |