Merge pull request #98 from LDprg/precommit-legacy

Precommit for legacy
This commit is contained in:
Oskar Manhart 2024-05-27 07:04:48 +00:00 committed by GitHub
commit 7ce6f879e4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
67 changed files with 1226 additions and 1130 deletions

View File

@ -1,4 +1,53 @@
ci: ci:
autoupdate_branch: "rewrite" autoupdate_branch: "rewrite"
repos: [] repos:
- repo: https://github.com/Lucas-C/pre-commit-hooks
rev: v1.5.5
hooks:
- id: chmod
args: ["775"]
files: (\.sh|winapps)$
- id: forbid-crlf
- id: remove-crlf
- id: forbid-tabs
- id: remove-tabs
args: [--whitespaces-count, "2"]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: check-added-large-files
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-json
- id: check-merge-conflict
- id: check-shebang-scripts-are-executable
- id: check-symlinks
- id: check-toml
- id: check-vcs-permalinks
- id: check-xml
- id: check-yaml
- id: destroyed-symlinks
- id: detect-private-key
- id: end-of-file-fixer
- id: fix-byte-order-marker
- id: forbid-new-submodules
- id: forbid-submodules
- id: mixed-line-ending
- id: pretty-format-json
args: ["--autofix", "--no-sort-keys"]
- id: sort-simple-yaml
- id: trailing-whitespace
- repo: https://github.com/lovesegfault/beautysh
rev: v6.2.1
hooks:
- id: beautysh
additional_dependencies:
- setuptools
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.10.0.1
hooks:
- id: shellcheck

View File

@ -98,8 +98,8 @@ git clone https://github.com/winapps-org/winapps.git
cd winapps cd winapps
``` ```
> [!note] > [!note]
> Ideally grab freerdp 3.0.0 or later, especially if you're having issues. > Ideally grab freerdp 3.0.0 or later, especially if you're having issues.
> You can find nightly builds here: https://github.com/FreeRDP/FreeRDP/wiki/Prebuilds > You can find nightly builds here: https://github.com/FreeRDP/FreeRDP/wiki/Prebuilds
### Step 3: Creating your WinApps configuration file ### Step 3: Creating your WinApps configuration file

0
apps/acrobat-x-pro/icon.svg Executable file → Normal file
View File

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

2
apps/adobe-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000001,1.71368 0,10.49276 4.452461,-10.49276 z m 7.580651,0 4.407867,10.56716 0.01148,-10.56716 z m 1.258117,10.5726 -2.856026,-6.62925 -1.937703,4.48772 2.073592,0 0.815124,2.14157 z" fill="#C63134"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000001,1.71368 0,10.49276 4.452461,-10.49276 z m 7.580651,0 4.407867,10.56716 0.01148,-10.56716 z m 1.258117,10.5726 -2.856026,-6.62925 -1.937703,4.48772 2.073592,0 0.815124,2.14157 z" fill="#C63134"/></svg>

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 329 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="" MIME_TYPES=""
# System Icon # System Icon
ICON="AdobeUpdate" ICON="AdobeUpdate"

2
apps/aftereffects-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 9.7155,5.976 c -0.646,0 -0.918,0.5865 -0.9605,1.01125 l 1.81875,0 C 10.5825,6.605 10.4125,5.976 9.7155,5.976 Z M 5.083,4.599 l -0.017,0 C 4.981,4.9305 4.896,5.33 4.794,5.66975 l -0.442,1.411 1.47025,0 -0.4505,-1.411 C 5.2615,5.3215 5.168,4.9305 5.083,4.599 Z M 1.00025,1 l 0,12 11.9995,0 0,-12 -11.9995,0 z M 6.5195,9.49475 6.001,7.8715 l -1.81875,0 -0.493,1.62325 -1.0795,0 1.83575,-5.7285 1.33425,0 1.86125,5.7285 -1.1215,0 z m 5.00625,-1.7765 -2.77075,0 c 0.02575,0.748 0.612,1.071 1.275,1.071 0.4845,0 0.833,-0.068 1.1475,-0.187 l 0.15275,0.7225 c -0.357,0.1445 -0.84975,0.255 -1.44475,0.255 -1.34275,0 -2.13325,-0.8245 -2.13325,-2.09075 0,-1.14725 0.697,-2.22675 2.023,-2.22675 1.34275,0 1.78475,1.10475 1.78475,2.01425 -2.5e-4,0.1955 -0.017,0.34825 -0.03425,0.44175 z" fill="#C099CD"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 9.7155,5.976 c -0.646,0 -0.918,0.5865 -0.9605,1.01125 l 1.81875,0 C 10.5825,6.605 10.4125,5.976 9.7155,5.976 Z M 5.083,4.599 l -0.017,0 C 4.981,4.9305 4.896,5.33 4.794,5.66975 l -0.442,1.411 1.47025,0 -0.4505,-1.411 C 5.2615,5.3215 5.168,4.9305 5.083,4.599 Z M 1.00025,1 l 0,12 11.9995,0 0,-12 -11.9995,0 z M 6.5195,9.49475 6.001,7.8715 l -1.81875,0 -0.493,1.62325 -1.0795,0 1.83575,-5.7285 1.33425,0 1.86125,5.7285 -1.1215,0 z m 5.00625,-1.7765 -2.77075,0 c 0.02575,0.748 0.612,1.071 1.275,1.071 0.4845,0 0.833,-0.068 1.1475,-0.187 l 0.15275,0.7225 c -0.357,0.1445 -0.84975,0.255 -1.44475,0.255 -1.34275,0 -2.13325,-0.8245 -2.13325,-2.09075 0,-1.14725 0.697,-2.22675 2.023,-2.22675 1.34275,0 1.78475,1.10475 1.78475,2.01425 -2.5e-4,0.1955 -0.017,0.34825 -0.03425,0.44175 z" fill="#C099CD"/></svg>

Before

Width:  |  Height:  |  Size: 916 B

After

Width:  |  Height:  |  Size: 917 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="application/vnd.adobe.aftereffects.project;application/vnd.adobe.aftereffects.template;" MIME_TYPES="application/vnd.adobe.aftereffects.project;application/vnd.adobe.aftereffects.template;"
# System Icon # System Icon
ICON="AdobeAfterEffect" ICON="AdobeAfterEffect"

2
apps/audition-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000001,1.71368 0,10.49276 4.452461,-10.49276 z m 7.580651,0 4.407867,10.56716 0.01148,-10.56716 z m 1.258117,10.5726 -2.856026,-6.62925 -1.937703,4.48772 2.073592,0 0.815124,2.14157 z" fill="#3DCAA4"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000001,1.71368 0,10.49276 4.452461,-10.49276 z m 7.580651,0 4.407867,10.56716 0.01148,-10.56716 z m 1.258117,10.5726 -2.856026,-6.62925 -1.937703,4.48772 2.073592,0 0.815124,2.14157 z" fill="#3DCAA4"/></svg>

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 329 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="" MIME_TYPES=""
# System Icon # System Icon
ICON="AdobeAudition" ICON="AdobeAudition"

2
apps/bridge-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.19975,8.0185 c -0.40825,0.35725 -1.0795,0.53575 -2.125,0.53575 -0.578,0 -1.02,-0.0425 -1.2835,-0.07675 l 0,-5.635 c 0.3315,-0.068 0.935,-0.119 1.52125,-0.119 0.7735,0 1.2495,0.0935 1.6405,0.36525 0.357,0.2125 0.59475,0.5865 0.59475,1.071 0,0.527 -0.3315,1.01125 -0.95175,1.24075 l 0,0.017 c 0.60375,0.15275 1.156,0.629 1.156,1.4195 0,0.51025 -0.22125,0.9095 -0.55225,1.1815 z m 3.61225,-2.745 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z m -5.46525,0.595 -0.5185,0 0,1.86975 c 0.136,0.01675 0.3145,0.0255 0.55225,0.0255 0.6715,0 1.26625,-0.255 1.26625,-0.9605 2.5e-4,-0.66275 -0.57775,-0.93475 -1.3,-0.93475 z M 6.494125,5.279 c 0,-0.5355 -0.408,-0.782 -1.071,-0.782 -0.306,0 -0.4845,0.017 -0.59475,0.0425 l 0,1.56375 0.5355,0 C 6.086125,6.1035 6.494125,5.7635 6.494125,5.279 Z" fill="#4A3D18"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.19975,8.0185 c -0.40825,0.35725 -1.0795,0.53575 -2.125,0.53575 -0.578,0 -1.02,-0.0425 -1.2835,-0.07675 l 0,-5.635 c 0.3315,-0.068 0.935,-0.119 1.52125,-0.119 0.7735,0 1.2495,0.0935 1.6405,0.36525 0.357,0.2125 0.59475,0.5865 0.59475,1.071 0,0.527 -0.3315,1.01125 -0.95175,1.24075 l 0,0.017 c 0.60375,0.15275 1.156,0.629 1.156,1.4195 0,0.51025 -0.22125,0.9095 -0.55225,1.1815 z m 3.61225,-2.745 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z m -5.46525,0.595 -0.5185,0 0,1.86975 c 0.136,0.01675 0.3145,0.0255 0.55225,0.0255 0.6715,0 1.26625,-0.255 1.26625,-0.9605 2.5e-4,-0.66275 -0.57775,-0.93475 -1.3,-0.93475 z M 6.494125,5.279 c 0,-0.5355 -0.408,-0.782 -1.071,-0.782 -0.306,0 -0.4845,0.017 -0.59475,0.0425 l 0,1.56375 0.5355,0 C 6.086125,6.1035 6.494125,5.7635 6.494125,5.279 Z" fill="#4A3D18"/></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="image/vnd.adobe.photoshop;" MIME_TYPES="image/vnd.adobe.photoshop;"
# System Icon # System Icon
ICON="AdobeBridge" ICON="AdobeBridge"

2
apps/bridge-cs6-x86/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.19975,8.0185 c -0.40825,0.35725 -1.0795,0.53575 -2.125,0.53575 -0.578,0 -1.02,-0.0425 -1.2835,-0.07675 l 0,-5.635 c 0.3315,-0.068 0.935,-0.119 1.52125,-0.119 0.7735,0 1.2495,0.0935 1.6405,0.36525 0.357,0.2125 0.59475,0.5865 0.59475,1.071 0,0.527 -0.3315,1.01125 -0.95175,1.24075 l 0,0.017 c 0.60375,0.15275 1.156,0.629 1.156,1.4195 0,0.51025 -0.22125,0.9095 -0.55225,1.1815 z m 3.61225,-2.745 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z m -5.46525,0.595 -0.5185,0 0,1.86975 c 0.136,0.01675 0.3145,0.0255 0.55225,0.0255 0.6715,0 1.26625,-0.255 1.26625,-0.9605 2.5e-4,-0.66275 -0.57775,-0.93475 -1.3,-0.93475 z M 6.494125,5.279 c 0,-0.5355 -0.408,-0.782 -1.071,-0.782 -0.306,0 -0.4845,0.017 -0.59475,0.0425 l 0,1.56375 0.5355,0 C 6.086125,6.1035 6.494125,5.7635 6.494125,5.279 Z" fill="#4A3D18"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.19975,8.0185 c -0.40825,0.35725 -1.0795,0.53575 -2.125,0.53575 -0.578,0 -1.02,-0.0425 -1.2835,-0.07675 l 0,-5.635 c 0.3315,-0.068 0.935,-0.119 1.52125,-0.119 0.7735,0 1.2495,0.0935 1.6405,0.36525 0.357,0.2125 0.59475,0.5865 0.59475,1.071 0,0.527 -0.3315,1.01125 -0.95175,1.24075 l 0,0.017 c 0.60375,0.15275 1.156,0.629 1.156,1.4195 0,0.51025 -0.22125,0.9095 -0.55225,1.1815 z m 3.61225,-2.745 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z m -5.46525,0.595 -0.5185,0 0,1.86975 c 0.136,0.01675 0.3145,0.0255 0.55225,0.0255 0.6715,0 1.26625,-0.255 1.26625,-0.9605 2.5e-4,-0.66275 -0.57775,-0.93475 -1.3,-0.93475 z M 6.494125,5.279 c 0,-0.5355 -0.408,-0.782 -1.071,-0.782 -0.306,0 -0.4845,0.017 -0.59475,0.0425 l 0,1.56375 0.5355,0 C 6.086125,6.1035 6.494125,5.7635 6.494125,5.279 Z" fill="#4A3D18"/></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="image/vnd.adobe.photoshop;" MIME_TYPES="image/vnd.adobe.photoshop;"
# System Icon # System Icon
ICON="AdobeBridge" ICON="AdobeBridge"

2
apps/bridge-cs6/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.19975,8.0185 c -0.40825,0.35725 -1.0795,0.53575 -2.125,0.53575 -0.578,0 -1.02,-0.0425 -1.2835,-0.07675 l 0,-5.635 c 0.3315,-0.068 0.935,-0.119 1.52125,-0.119 0.7735,0 1.2495,0.0935 1.6405,0.36525 0.357,0.2125 0.59475,0.5865 0.59475,1.071 0,0.527 -0.3315,1.01125 -0.95175,1.24075 l 0,0.017 c 0.60375,0.15275 1.156,0.629 1.156,1.4195 0,0.51025 -0.22125,0.9095 -0.55225,1.1815 z m 3.61225,-2.745 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z m -5.46525,0.595 -0.5185,0 0,1.86975 c 0.136,0.01675 0.3145,0.0255 0.55225,0.0255 0.6715,0 1.26625,-0.255 1.26625,-0.9605 2.5e-4,-0.66275 -0.57775,-0.93475 -1.3,-0.93475 z M 6.494125,5.279 c 0,-0.5355 -0.408,-0.782 -1.071,-0.782 -0.306,0 -0.4845,0.017 -0.59475,0.0425 l 0,1.56375 0.5355,0 C 6.086125,6.1035 6.494125,5.7635 6.494125,5.279 Z" fill="#4A3D18"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.19975,8.0185 c -0.40825,0.35725 -1.0795,0.53575 -2.125,0.53575 -0.578,0 -1.02,-0.0425 -1.2835,-0.07675 l 0,-5.635 c 0.3315,-0.068 0.935,-0.119 1.52125,-0.119 0.7735,0 1.2495,0.0935 1.6405,0.36525 0.357,0.2125 0.59475,0.5865 0.59475,1.071 0,0.527 -0.3315,1.01125 -0.95175,1.24075 l 0,0.017 c 0.60375,0.15275 1.156,0.629 1.156,1.4195 0,0.51025 -0.22125,0.9095 -0.55225,1.1815 z m 3.61225,-2.745 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z m -5.46525,0.595 -0.5185,0 0,1.86975 c 0.136,0.01675 0.3145,0.0255 0.55225,0.0255 0.6715,0 1.26625,-0.255 1.26625,-0.9605 2.5e-4,-0.66275 -0.57775,-0.93475 -1.3,-0.93475 z M 6.494125,5.279 c 0,-0.5355 -0.408,-0.782 -1.071,-0.782 -0.306,0 -0.4845,0.017 -0.59475,0.0425 l 0,1.56375 0.5355,0 C 6.086125,6.1035 6.494125,5.7635 6.494125,5.279 Z" fill="#4A3D18"/></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="image/vnd.adobe.photoshop;" MIME_TYPES="image/vnd.adobe.photoshop;"
# System Icon # System Icon
ICON="AdobeBridge" ICON="AdobeBridge"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Windows"
MIME_TYPES="" MIME_TYPES=""
# System Icon # System Icon
ICON="Terminal" ICON="Terminal"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;" MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-excel"s ICON="ms-excel"s

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;" MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-excel" ICON="ms-excel"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;" MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-excel" ICON="ms-excel"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;" MIME_TYPES="application/vnd.ms-excel;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroEnabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/vnd.ms-excel.addin.macroEnabled.12;application/vnd.ms-excel.sheet.binary.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-excel" ICON="ms-excel"

2
apps/illustrator-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z m 6.32925,9.0415 -0.5095,-1.595 -1.787,0 -0.4845,1.595 -1.06,0 1.8035,-5.62825 1.311,0 1.82875,5.62825 -1.10225,0 z m 2.673,0 -1.03575,0 0,-4.06675 1.03575,0 0,4.06675 z M 9.476,5.3905 c -0.3425,0 -0.56775,-0.24225 -0.56775,-0.55125 0,-0.3175 0.234,-0.5595 0.57625,-0.5595 0.35075,0 0.56775,0.242 0.57625,0.5595 C 10.0605,5.14825 9.83525,5.3905 9.476,5.3905 Z m -3.558,-0.15875 -0.01675,0 C 5.81775,5.5575 5.73425,5.95 5.634,6.284 L 5.2,7.67 6.6445,7.67 6.202,6.284 C 6.0935,5.9415 6.0015,5.55725 5.918,5.23175 Z" fill="#E08B29"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z m 6.32925,9.0415 -0.5095,-1.595 -1.787,0 -0.4845,1.595 -1.06,0 1.8035,-5.62825 1.311,0 1.82875,5.62825 -1.10225,0 z m 2.673,0 -1.03575,0 0,-4.06675 1.03575,0 0,4.06675 z M 9.476,5.3905 c -0.3425,0 -0.56775,-0.24225 -0.56775,-0.55125 0,-0.3175 0.234,-0.5595 0.57625,-0.5595 0.35075,0 0.56775,0.242 0.57625,0.5595 C 10.0605,5.14825 9.83525,5.3905 9.476,5.3905 Z m -3.558,-0.15875 -0.01675,0 C 5.81775,5.5575 5.73425,5.95 5.634,6.284 L 5.2,7.67 6.6445,7.67 6.202,6.284 C 6.0935,5.9415 6.0015,5.55725 5.918,5.23175 Z" fill="#E08B29"/></svg>

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 682 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="application/illustrator;" MIME_TYPES="application/illustrator;"
# System Icon # System Icon
ICON="AdobeIllustrator" ICON="AdobeIllustrator"

2
apps/indesign-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z m 4.3125,8.5915 -0.97425,0 0,-5.33875 0.97425,0 0,5.33875 z m 3.4775,0 -0.0395,-0.6095 -0.0155,0 C 8.505,9.4095 8.03775,9.679 7.47525,9.679 6.5565,9.679 5.82775,8.89475 5.82775,7.70625 5.81975,6.41525 6.628,5.64675 7.555,5.64675 c 0.53075,0 0.91075,0.22175 1.085,0.507 l 0.016,0 0,-2.18625 0.974,0 0,4.539 c 0,0.39625 0.016,0.824 0.03175,1.08525 l -0.87175,0 z M 7.792,6.3995 c -0.626,0 -0.97425,0.55425 -0.97425,1.2755 0,0.70475 0.34825,1.22 0.9665,1.22 C 8.18075,8.895 8.529,8.6255 8.624,8.20575 8.648,8.1185 8.65575,8.0235 8.65575,7.92025 l 0,-0.578 c 0,-0.0795 -0.00825,-0.1745 -0.024,-0.254 C 8.5445,6.70825 8.23575,6.3995 7.792,6.3995 Z" fill="#DB398D"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z m 4.3125,8.5915 -0.97425,0 0,-5.33875 0.97425,0 0,5.33875 z m 3.4775,0 -0.0395,-0.6095 -0.0155,0 C 8.505,9.4095 8.03775,9.679 7.47525,9.679 6.5565,9.679 5.82775,8.89475 5.82775,7.70625 5.81975,6.41525 6.628,5.64675 7.555,5.64675 c 0.53075,0 0.91075,0.22175 1.085,0.507 l 0.016,0 0,-2.18625 0.974,0 0,4.539 c 0,0.39625 0.016,0.824 0.03175,1.08525 l -0.87175,0 z M 7.792,6.3995 c -0.626,0 -0.97425,0.55425 -0.97425,1.2755 0,0.70475 0.34825,1.22 0.9665,1.22 C 8.18075,8.895 8.529,8.6255 8.624,8.20575 8.648,8.1185 8.65575,8.0235 8.65575,7.92025 l 0,-0.578 c 0,-0.0795 -0.00825,-0.1745 -0.024,-0.254 C 8.5445,6.70825 8.23575,6.3995 7.792,6.3995 Z" fill="#DB398D"/></svg>

Before

Width:  |  Height:  |  Size: 811 B

After

Width:  |  Height:  |  Size: 812 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="application/x-adobe-indesign-interchange;application/x-adobe-indesign;" MIME_TYPES="application/x-adobe-indesign-interchange;application/x-adobe-indesign;"
# System Icon # System Icon
ICON="AdobeIndesign" ICON="AdobeIndesign"

2
apps/lightroom-cc/icon.svg Executable file → Normal file
View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.59525,8.49475 -3.39975,0 0,-5.7285 1.0455,0 0,4.853 2.35425,0 0,0.8755 z m 2.9155,-3.22125 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z" fill="#B5C9EC"/></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="m 1.000125,1 0,12 11.99975,0 0,-12 -11.99975,0 z m 6.59525,8.49475 -3.39975,0 0,-5.7285 1.0455,0 0,4.853 2.35425,0 0,0.8755 z m 2.9155,-3.22125 c -0.085,-0.017 -0.17875,-0.034 -0.30625,-0.034 -0.5015,0 -0.84125,0.323 -0.9345,0.79025 -0.017,0.0935 -0.03425,0.204 -0.03425,0.323 l 0,2.14175 -1.0455,0 0,-2.8045 c 0,-0.561 -0.00825,-0.9605 -0.03425,-1.33425 l 0.90975,0 0.03425,0.7905 0.03375,0 c 0.204,-0.5865 0.6885,-0.884 1.13025,-0.884 0.102,0 0.1615,0.0085 0.2465,0.0255 l 0,0.98575 z" fill="#B5C9EC"/></svg>

Before

Width:  |  Height:  |  Size: 627 B

After

Width:  |  Height:  |  Size: 628 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="" MIME_TYPES=""
# System Icon # System Icon
ICON="AdobeLightroom" ICON="AdobeLightroom"

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16">
<path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/> <path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msonenote;" MIME_TYPES="application/msonenote;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16">
<path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/> <path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msonenote;" MIME_TYPES="application/msonenote;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16">
<path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/> <path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msonenote;" MIME_TYPES="application/msonenote;"
# System Icon # System Icon
ICON="ms-onenote" ICON="ms-onenote"

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="8 8 16 16">
<path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/> <path d="M9 10.398l8-1.351v13.906l-8-1.352V10.398zm2.227 8.086l.796.04V15c0-.031.005-.06.016-.086a.21.21 0 0 0 .016-.078.058.058 0 0 0 .039.043c.02.008.036.022.047.043a4.335 4.335 0 0 0 .171.344l1.829 3.375 1.062.062v-5.547l-.992.063v3.523a.82.82 0 0 0 .031.227h-.016a42.727 42.727 0 0 0-.976-1.824c-.339-.597-.675-1.2-1.008-1.809l-1.016.04v5.108zM23 13.836c0 .068-.008.112-.023.133-.016.02-.061.031-.133.031H22v7.102a.544.544 0 0 1-.074.254.415.415 0 0 1-.086.101.17.17 0 0 1-.113.043H17.5V20h3v-.5h-3v-1h3V18h-3v-1h3v-.5h-3v-1h3V15h-3v-1h3v-.5h-3v-1h3V12h-3v-1.5h4.227c.103 0 .175.044.214.133.04.089.059.177.059.265v.602h.844c.072 0 .117.01.133.027.015.019.023.064.023.137v2.172zm-.203.664c.067 0 .118.033.152.098a.41.41 0 0 1 .051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297zm0 3c.067 0 .118.033.152.098.033.065.051.127.051.183v1.938c0 .057-.018.119-.05.183-.035.066-.086.098-.153.098H22.5v-2.5h.297z" fill="#ca64ea"/>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msonenote;" MIME_TYPES="application/msonenote;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;" MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;" MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;" MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;" MIME_TYPES="application/vnd.ms-outlook;application/octet-stream;"
# System Icon # System Icon
ICON="ms-outlook" ICON="ms-outlook"

View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z M 6.8475,7.1225 C 6.47325,7.497 5.885,7.6725 5.2205,7.6725 5.045,7.6725 4.8845,7.6647 4.76225,7.642 l 0,1.94 -0.93175,0 0,-5.079 c 0.336,-0.06125 0.802,-0.107 1.436,-0.107 0.6875,0 1.1915,0.14525 1.52,0.42 0.3055,0.252 0.504,0.65675 0.504,1.138 -2.5e-4,0.48875 -0.15275,0.8935 -0.443,1.1685 z M 8.65725,9.65825 C 8.207,9.65825 7.80225,9.5515 7.527,9.39875 l 0.183,-0.68 C 7.92375,8.849 8.32875,8.986 8.66475,8.986 c 0.4125,0 0.5955,-0.16825 0.5955,-0.41225 0,-0.252 -0.1525,-0.38175 -0.6105,-0.54225 C 7.924,7.77925 7.61825,7.382 7.626,6.947 c 0,-0.65675 0.5425,-1.16875 1.40525,-1.16875 0.41275,0 0.7715,0.107 0.98525,0.2215 L 9.83325,6.66425 C 9.673,6.57275 9.375,6.4505 9.04675,6.4505 8.7105,6.4505 8.5275,6.611 8.5275,6.84025 c 0,0.23675 0.17575,0.35125 0.6495,0.51925 0.672,0.2445 0.985,0.588 0.99275,1.13825 0,0.67175 -0.527,1.1605 -1.5125,1.1605 z M 5.3045,5.114 c -0.25975,0 -0.443,0.023 -0.54225,0.04575 l 0,1.7415 C 4.87675,6.93175 5.0295,6.9395 5.2205,6.9395 5.92325,6.9395 6.35075,6.59575 6.35075,5.99225 6.35075,5.4195 5.95375,5.114 5.3045,5.114 Z" fill="#00CDF7" /></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z M 6.8475,7.1225 C 6.47325,7.497 5.885,7.6725 5.2205,7.6725 5.045,7.6725 4.8845,7.6647 4.76225,7.642 l 0,1.94 -0.93175,0 0,-5.079 c 0.336,-0.06125 0.802,-0.107 1.436,-0.107 0.6875,0 1.1915,0.14525 1.52,0.42 0.3055,0.252 0.504,0.65675 0.504,1.138 -2.5e-4,0.48875 -0.15275,0.8935 -0.443,1.1685 z M 8.65725,9.65825 C 8.207,9.65825 7.80225,9.5515 7.527,9.39875 l 0.183,-0.68 C 7.92375,8.849 8.32875,8.986 8.66475,8.986 c 0.4125,0 0.5955,-0.16825 0.5955,-0.41225 0,-0.252 -0.1525,-0.38175 -0.6105,-0.54225 C 7.924,7.77925 7.61825,7.382 7.626,6.947 c 0,-0.65675 0.5425,-1.16875 1.40525,-1.16875 0.41275,0 0.7715,0.107 0.98525,0.2215 L 9.83325,6.66425 C 9.673,6.57275 9.375,6.4505 9.04675,6.4505 8.7105,6.4505 8.5275,6.611 8.5275,6.84025 c 0,0.23675 0.17575,0.35125 0.6495,0.51925 0.672,0.2445 0.985,0.588 0.99275,1.13825 0,0.67175 -0.527,1.1605 -1.5125,1.1605 z M 5.3045,5.114 c -0.25975,0 -0.443,0.023 -0.54225,0.04575 l 0,1.7415 C 4.87675,6.93175 5.0295,6.9395 5.2205,6.9395 5.92325,6.9395 6.35075,6.59575 6.35075,5.99225 6.35075,5.4195 5.95375,5.114 5.3045,5.114 Z" fill="#00CDF7" /></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="image/vnd.adobe.photoshop;" MIME_TYPES="image/vnd.adobe.photoshop;"
# System Icon # System Icon
ICON="AdobePhotoshop" ICON="AdobePhotoshop"

View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z M 6.8475,7.1225 C 6.47325,7.497 5.885,7.6725 5.2205,7.6725 5.045,7.6725 4.8845,7.6647 4.76225,7.642 l 0,1.94 -0.93175,0 0,-5.079 c 0.336,-0.06125 0.802,-0.107 1.436,-0.107 0.6875,0 1.1915,0.14525 1.52,0.42 0.3055,0.252 0.504,0.65675 0.504,1.138 -2.5e-4,0.48875 -0.15275,0.8935 -0.443,1.1685 z M 8.65725,9.65825 C 8.207,9.65825 7.80225,9.5515 7.527,9.39875 l 0.183,-0.68 C 7.92375,8.849 8.32875,8.986 8.66475,8.986 c 0.4125,0 0.5955,-0.16825 0.5955,-0.41225 0,-0.252 -0.1525,-0.38175 -0.6105,-0.54225 C 7.924,7.77925 7.61825,7.382 7.626,6.947 c 0,-0.65675 0.5425,-1.16875 1.40525,-1.16875 0.41275,0 0.7715,0.107 0.98525,0.2215 L 9.83325,6.66425 C 9.673,6.57275 9.375,6.4505 9.04675,6.4505 8.7105,6.4505 8.5275,6.611 8.5275,6.84025 c 0,0.23675 0.17575,0.35125 0.6495,0.51925 0.672,0.2445 0.985,0.588 0.99275,1.13825 0,0.67175 -0.527,1.1605 -1.5125,1.1605 z M 5.3045,5.114 c -0.25975,0 -0.443,0.023 -0.54225,0.04575 l 0,1.7415 C 4.87675,6.93175 5.0295,6.9395 5.2205,6.9395 5.92325,6.9395 6.35075,6.59575 6.35075,5.99225 6.35075,5.4195 5.95375,5.114 5.3045,5.114 Z" fill="#00CDF7" /></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z M 6.8475,7.1225 C 6.47325,7.497 5.885,7.6725 5.2205,7.6725 5.045,7.6725 4.8845,7.6647 4.76225,7.642 l 0,1.94 -0.93175,0 0,-5.079 c 0.336,-0.06125 0.802,-0.107 1.436,-0.107 0.6875,0 1.1915,0.14525 1.52,0.42 0.3055,0.252 0.504,0.65675 0.504,1.138 -2.5e-4,0.48875 -0.15275,0.8935 -0.443,1.1685 z M 8.65725,9.65825 C 8.207,9.65825 7.80225,9.5515 7.527,9.39875 l 0.183,-0.68 C 7.92375,8.849 8.32875,8.986 8.66475,8.986 c 0.4125,0 0.5955,-0.16825 0.5955,-0.41225 0,-0.252 -0.1525,-0.38175 -0.6105,-0.54225 C 7.924,7.77925 7.61825,7.382 7.626,6.947 c 0,-0.65675 0.5425,-1.16875 1.40525,-1.16875 0.41275,0 0.7715,0.107 0.98525,0.2215 L 9.83325,6.66425 C 9.673,6.57275 9.375,6.4505 9.04675,6.4505 8.7105,6.4505 8.5275,6.611 8.5275,6.84025 c 0,0.23675 0.17575,0.35125 0.6495,0.51925 0.672,0.2445 0.985,0.588 0.99275,1.13825 0,0.67175 -0.527,1.1605 -1.5125,1.1605 z M 5.3045,5.114 c -0.25975,0 -0.443,0.023 -0.54225,0.04575 l 0,1.7415 C 4.87675,6.93175 5.0295,6.9395 5.2205,6.9395 5.92325,6.9395 6.35075,6.59575 6.35075,5.99225 6.35075,5.4195 5.95375,5.114 5.3045,5.114 Z" fill="#00CDF7" /></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="image/vnd.adobe.photoshop;" MIME_TYPES="image/vnd.adobe.photoshop;"
# System Icon # System Icon
ICON="AdobePhotoshop" ICON="AdobePhotoshop"

View File

@ -1 +1 @@
<svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z M 6.8475,7.1225 C 6.47325,7.497 5.885,7.6725 5.2205,7.6725 5.045,7.6725 4.8845,7.6647 4.76225,7.642 l 0,1.94 -0.93175,0 0,-5.079 c 0.336,-0.06125 0.802,-0.107 1.436,-0.107 0.6875,0 1.1915,0.14525 1.52,0.42 0.3055,0.252 0.504,0.65675 0.504,1.138 -2.5e-4,0.48875 -0.15275,0.8935 -0.443,1.1685 z M 8.65725,9.65825 C 8.207,9.65825 7.80225,9.5515 7.527,9.39875 l 0.183,-0.68 C 7.92375,8.849 8.32875,8.986 8.66475,8.986 c 0.4125,0 0.5955,-0.16825 0.5955,-0.41225 0,-0.252 -0.1525,-0.38175 -0.6105,-0.54225 C 7.924,7.77925 7.61825,7.382 7.626,6.947 c 0,-0.65675 0.5425,-1.16875 1.40525,-1.16875 0.41275,0 0.7715,0.107 0.98525,0.2215 L 9.83325,6.66425 C 9.673,6.57275 9.375,6.4505 9.04675,6.4505 8.7105,6.4505 8.5275,6.611 8.5275,6.84025 c 0,0.23675 0.17575,0.35125 0.6495,0.51925 0.672,0.2445 0.985,0.588 0.99275,1.13825 0,0.67175 -0.527,1.1605 -1.5125,1.1605 z M 5.3045,5.114 c -0.25975,0 -0.443,0.023 -0.54225,0.04575 l 0,1.7415 C 4.87675,6.93175 5.0295,6.9395 5.2205,6.9395 5.92325,6.9395 6.35075,6.59575 6.35075,5.99225 6.35075,5.4195 5.95375,5.114 5.3045,5.114 Z" fill="#00CDF7" /></svg> <svg role="img" focusable="false" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 14"><path d="M 1,1 1,13 13,13 13,1 1,1 Z M 6.8475,7.1225 C 6.47325,7.497 5.885,7.6725 5.2205,7.6725 5.045,7.6725 4.8845,7.6647 4.76225,7.642 l 0,1.94 -0.93175,0 0,-5.079 c 0.336,-0.06125 0.802,-0.107 1.436,-0.107 0.6875,0 1.1915,0.14525 1.52,0.42 0.3055,0.252 0.504,0.65675 0.504,1.138 -2.5e-4,0.48875 -0.15275,0.8935 -0.443,1.1685 z M 8.65725,9.65825 C 8.207,9.65825 7.80225,9.5515 7.527,9.39875 l 0.183,-0.68 C 7.92375,8.849 8.32875,8.986 8.66475,8.986 c 0.4125,0 0.5955,-0.16825 0.5955,-0.41225 0,-0.252 -0.1525,-0.38175 -0.6105,-0.54225 C 7.924,7.77925 7.61825,7.382 7.626,6.947 c 0,-0.65675 0.5425,-1.16875 1.40525,-1.16875 0.41275,0 0.7715,0.107 0.98525,0.2215 L 9.83325,6.66425 C 9.673,6.57275 9.375,6.4505 9.04675,6.4505 8.7105,6.4505 8.5275,6.611 8.5275,6.84025 c 0,0.23675 0.17575,0.35125 0.6495,0.51925 0.672,0.2445 0.985,0.588 0.99275,1.13825 0,0.67175 -0.527,1.1605 -1.5125,1.1605 z M 5.3045,5.114 c -0.25975,0 -0.443,0.023 -0.54225,0.04575 l 0,1.7415 C 4.87675,6.93175 5.0295,6.9395 5.2205,6.9395 5.92325,6.9395 6.35075,6.59575 6.35075,5.99225 6.35075,5.4195 5.95375,5.114 5.3045,5.114 Z" fill="#00CDF7" /></svg>

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Adobe"
MIME_TYPES="image/vnd.adobe.photoshop;" MIME_TYPES="image/vnd.adobe.photoshop;"
# System Icon # System Icon
ICON="AdobePhotoshop" ICON="AdobePhotoshop"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;" MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-powerpoint" ICON="ms-powerpoint"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;" MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-powerpoint" ICON="ms-powerpoint"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;" MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-powerpoint" ICON="ms-powerpoint"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;" MIME_TYPES="application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.openxmlformats-officedocument.presentationml.slideshow;application/vnd.ms-powerpoint.addin.macroEnabled.12;application/vnd.ms-powerpoint.presentation.macroEnabled.12;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-powerpoint" ICON="ms-powerpoint"

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048">
<path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" /> <path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 587 B

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048">
<path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" /> <path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 587 B

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048">
<path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" /> <path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 587 B

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048">
<path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" /> <path d="M496 819q49 0 78 19t29 72q0 23-10 37t-27 24-36 12-38 4h-92V819h96zm1552-482v1374q0 33-24 57t-57 24h-175v41q0 36-25 61t-62 26H599q-36 0-61-25t-26-62v-297H85q-35 0-60-25t-25-60V597q0-35 25-60t60-25h427V215q0-36 25-61t62-26h1106q36 0 61 25t26 62v41h175q33 0 57 24t24 57zM767 905q0-58-19-99t-54-68-80-38-100-12H243v671h157v-234h106q49 0 95-14t84-42 59-69 23-95zm897 887v-256H640v256h1024zm0-384v-320h-640v320h640zm0-448V256H640v256h299q35 0 60 25t25 60v363h640zm256 704V384h-128v1280h128z" fill="#37C6D0" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 586 B

After

Width:  |  Height:  |  Size: 587 B

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;" MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-word" ICON="ms-word"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;" MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-word" ICON="ms-word"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;" MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-word" ICON="ms-word"

View File

@ -14,4 +14,4 @@ CATEGORIES="WinApps;Office"
MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;" MIME_TYPES="application/msword;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.document.macroEnabled.12;application/vnd.ms-word.template.macroEnabled.12;"
# System Icon # System Icon
ICON="ms-word" ICON="ms-word"

View File

@ -1,123 +1,130 @@
#!/usr/bin/env bash #!/usr/bin/env bash
if [ ! -f "${HOME}/.config/winapps/winapps.conf" ] && [ ! -f "${HOME}/.winapps" ]; then if [ ! -f "$HOME/.config/winapps/winapps.conf" ] && [ ! -f "$HOME/.winapps" ]; then
echo "You need to create a ~/.config/winapps/winapps.conf configuration. Exiting..." echo "You need to create a ~/.config/winapps/winapps.conf configuration. Exiting..."
exit exit
fi fi
DIR="$(dirname "$(readlink -f "$0")")" DIR="$(dirname "$(readlink -f "$0")")"
RUN="$(date)-${RANDOM}" RUN="$(date)-$RANDOM"
if [ ! -d "${HOME}/.local/share/winapps" ]; then if [ ! -d "$HOME/.local/share/winapps" ]; then
mkdir -p "${HOME}/.local/share/winapps" mkdir -p "$HOME/.local/share/winapps"
fi fi
RDP_SCALE=100 RDP_SCALE=100
if [ -f "${HOME}/.config/winapps/winapps.conf" ]; then if [ -f "$HOME/.config/winapps/winapps.conf" ]; then
. "${HOME}/.config/winapps/winapps.conf" # shellcheck source=/dev/null
. "$HOME/.config/winapps/winapps.conf"
else else
. "${HOME}/.winapps" # shellcheck source=/dev/null
. "$HOME/.winapps"
fi fi
function dprint() { function dprint() {
if [ "${DEBUG}" = "true" ]; then if [ "$DEBUG" = "true" ]; then
echo "[${RUN}] ${1}" >>"${HOME}/.local/share/winapps/winapps.log" echo "[$RUN] $1" >>"$HOME/.local/share/winapps/winapps.log"
fi fi
} }
dprint "START" dprint "START"
if [ -f "${HOME}/.local/share/winapps/run" ]; then if [ -f "$HOME/.local/share/winapps/run" ]; then
LAST_RAN=$(stat -t -c %Y "${HOME}/.local/share/winapps/run") LAST_RAN=$(stat -t -c %Y "$HOME/.local/share/winapps/run")
dprint "LAST_RAN:${LAST_RAN}" dprint "LAST_RAN:${LAST_RAN}"
touch "${HOME}/.local/share/winapps/run" touch "$HOME/.local/share/winapps/run"
THIS_RUN=$(stat -t -c %Y "${HOME}/.local/share/winapps/run") THIS_RUN=$(stat -t -c %Y "$HOME/.local/share/winapps/run")
dprint "THIS_RUN:${THIS_RUN}" dprint "THIS_RUN:$THIS_RUN"
if ((THIS_RUN - LAST_RAN < 2)); then if ((THIS_RUN - LAST_RAN < 2)); then
exit exit
fi fi
else else
touch "${HOME}/.local/share/winapps/run" touch "$HOME/.local/share/winapps/run"
fi fi
if [ -z "${FREERDP_COMMAND}" ]; then if [ -z "${FREERDP_COMMAND}" ]; then
if command -v xfreerdp &> /dev/null if command -v xfreerdp &> /dev/null
then then
FREERDP_COMMAND="xfreerdp" FREERDP_COMMAND="xfreerdp"
elif command -v xfreerdp3 &> /dev/null elif command -v xfreerdp3 &> /dev/null
then then
FREERDP_COMMAND="xfreerdp3" FREERDP_COMMAND="xfreerdp3"
fi fi
elif command -v $FREERDP_COMMAND &> /dev/null elif command -v "$FREERDP_COMMAND" &> /dev/null
then then
dprint "Using custom freerdp command ${FREERDP_COMMAND}" dprint "Using custom freerdp command $FREERDP_COMMAND"
else else
echo "You have supplied a custom FreeRDP command, but the command is not available." echo "You have supplied a custom FreeRDP command, but the command is not available."
exit exit
fi fi
if [ -z "${RDP_IP}" ]; then if [ -z "$RDP_IP" ]; then
if [ ! "$(groups | grep -v libvirt)" ]; then if groups | grep -vq libvirt; then
echo "You are not a member of the libvirt group. Run the below then reboot." echo "You are not a member of the libvirt group. Run the below then reboot."
echo ' sudo usermod -a -G libvirt $(whoami)' echo " sudo usermod -a -G libvirt $(whoami)"
echo ' sudo usermod -a -G kvm $(whoami)' echo " sudo usermod -a -G kvm $(whoami)"
exit exit
fi fi
if [ ! "$(virsh list | grep -v RDPWindows)" ]; then if virsh list | grep -vq RDPWindows; then
echo "RDPWindows is not running, run:" echo "RDPWindows is not running, run:"
echo " virsh start RDPWindows" echo " virsh start RDPWindows"
exit exit
fi fi
RDP_IP=$(virsh net-dhcp-leases default | grep RDPWindows | awk '{print $5}') RDP_IP=$(virsh net-dhcp-leases default | grep RDPWindows | awk '{print $5}')
RDP_IP=${RDP_IP%%\/*} RDP_IP=${RDP_IP%%\/*}
fi fi
dprint "1:${1}" dprint "1:$1"
dprint "2:${2}" dprint "2:$2"
# this is just for debug logging anyways # this is just for debug logging anyways
# shellcheck disable=SC2145 # shellcheck disable=SC2145
dprint "@:${@}" dprint "@:${@}"
MULTI_FLAG="+span" MULTI_FLAG="+span"
if [ "${MULTIMON}" = "true" ]; then if [ "$MULTIMON" = "true" ]; then
MULTI_FLAG="/multimon" MULTI_FLAG="/multimon"
fi fi
if [ "${1}" = "windows" ]; then if [[ -n "$RDP_FLAGS" ]]; then
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +dynamic-resolution +auto-reconnect +home-drive /wm-class:"Microsoft Windows" /v:${RDP_IP} 1>/dev/null 2>&1 & FREERDP_COMMAND="$FREERDP_COMMAND $RDP_FLAGS"
elif [ "${1}" = "check" ]; then fi
dprint "CHECK"
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +home-drive -wallpaper +dynamic-resolution ${MULTI_FLAG} /app:program:"explorer.exe" /v:${RDP_IP} if [ "$1" = "windows" ]; then
elif [ "${1}" = "manual" ]; then $FREERDP_COMMAND /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +dynamic-resolution +auto-reconnect +home-drive /wm-class:"Microsoft Windows" /v:"$RDP_IP" 1>/dev/null 2>&1 &
dprint "MANUAL:${2}" elif [ "$1" = "check" ]; then
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +home-drive +dynamic-resolution ${MULTI_FLAG} /app:program:"${2}" /v:"${RDP_IP}" 1>/dev/null 2>&1 & dprint "CHECK"
elif [ "${1}" != "install" ]; then $FREERDP_COMMAND /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +home-drive -wallpaper +dynamic-resolution $MULTI_FLAG /app:program:"explorer.exe" /v:"$RDP_IP"
dprint "DIR:${DIR}" elif [ "$1" = "manual" ]; then
if [ -e "${DIR}/../apps/${1}/info" ]; then dprint "MANUAL:$2"
# shellcheck disable=SC1090 $FREERDP_COMMAND /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +home-drive +dynamic-resolution $MULTI_FLAG /app:program:"$2" /v:"$RDP_IP" 1>/dev/null 2>&1 &
. "${DIR}/../apps/${1}/info" elif [ "$1" != "install" ]; then
ICON="${DIR}/../apps/${1}/icon.svg" dprint "DIR:${DIR}"
elif [ -e "${HOME}/.local/share/winapps/apps/${1}/info" ]; then if [ -e "${DIR}/../apps/$1/info" ]; then
# shellcheck disable=SC1090 # shellcheck disable=SC1090
. "${HOME}/.local/share/winapps/apps/${1}/info" . "${DIR}/../apps/$1/info"
ICON="${HOME}/.local/share/winapps/apps/${1}/icon.svg" ICON="${DIR}/../apps/$1/icon.svg"
elif [ -e "/usr/local/share/winapps/apps/${1}/info" ]; then elif [ -e "$HOME/.local/share/winapps/apps/$1/info" ]; then
# shellcheck disable=SC1090 # shellcheck disable=SC1090
. "/usr/local/share/winapps/apps/${1}/info" . "$HOME/.local/share/winapps/apps/$1/info"
ICON="/usr/local/share/winapps/apps/${1}/icon.svg" ICON="$HOME/.local/share/winapps/apps/$1/icon.svg"
else elif [ -e "/usr/local/share/winapps/apps/$1/info" ]; then
echo "You need to run 'installer.sh' first." # shellcheck disable=SC1090
exit 1 . "/usr/local/share/winapps/apps/$1/info"
fi ICON="/usr/local/share/winapps/apps/$1/icon.svg"
if [ -n "${2}" ]; then else
dprint "HOME:${HOME}" echo "You need to run 'installer.sh' first."
FILE=$(echo "${2}" | sed 's|'"${HOME}"'|\\\\tsclient\\home|;s|/|\\|g;s|\\|\\\\|g') exit 1
dprint "FILE:${FILE}" fi
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution ${MULTI_FLAG} /wm-class:"${FULL_NAME}" /app:program:"${WIN_EXECUTABLE}",icon:"${ICON}",name:"${FULL_NAME}",cmd:"\"$FILE\"" /v:"${RDP_IP}" 1>/dev/null 2>&1 & if [ -n "$2" ]; then
else dprint "HOME:$HOME"
$FREERDP_COMMAND ${RDP_FLAGS} /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" /scale:${RDP_SCALE} +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution ${MULTI_FLAG} /wm-class:"${FULL_NAME}" /app:program:"${WIN_EXECUTABLE}",icon:"${ICON}",name:"${FULL_NAME}" /v:"${RDP_IP}" 1>/dev/null 2>&1 & FILE=$(echo "$2" | sed 's|'"$HOME"'|\\\\tsclient\\home|;s|/|\\|g;s|\\|\\\\|g')
fi dprint "FILE:${FILE}"
# shellcheck disable=SC2140
$FREERDP_COMMAND /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution $MULTI_FLAG /wm-class:"$FULL_NAME" /app:program:"$WIN_EXECUTABLE",icon:"$ICON",name:"$FULL_NAME",cmd:"\"$FILE\"" /v:"$RDP_IP" 1>/dev/null 2>&1 &
else
$FREERDP_COMMAND /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" /scale:$RDP_SCALE +auto-reconnect +clipboard +home-drive -wallpaper +dynamic-resolution $MULTI_FLAG /wm-class:"$FULL_NAME" /app:program:"$WIN_EXECUTABLE",icon:"$ICON",name:"$FULL_NAME" /v:"$RDP_IP" 1>/dev/null 2>&1 &
fi
fi fi
dprint "END" dprint "END"

23
compose.yaml Normal file
View File

@ -0,0 +1,23 @@
name: "winapps"
volumes:
data:
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "tiny11"
RAM_SIZE: "4G"
CPU_CORES: "4"
privileged: true
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
volumes:
- data:/storage
- ./oem:/oem

View File

@ -198,6 +198,3 @@ sudo systemctl restart libvirtd
sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/ sudo ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/
``` ```
You will likely need to reboot to ensure your current shell is added to the group. You will likely need to reboot to ensure your current shell is added to the group.

View File

@ -1,81 +1,83 @@
# Docker # Docker
## Why docker?
While working with virsh is completely fine for winapps, however you have to setup and optimise you vm manually. Docker on the other hand setups most of the stuff automatically and also makes the vm highly portable between linux distros.
# Requirements
Since docker manages the dependencies of the container automatically you only need to install docker or podman itself. (Podman is recommended because of the faster container startup times. Note that podman and docker are interchangeable so no instructions will change depending on which one you use)
You might also want to take a look in the docs:
- [podman docs](https://docs.podman.io/)
- [docker docs](https://docs.docker.com/)
When using podman you want to make sure podman socket is enabled with:
```shell
sudo systemctl enable --now podman.socket
```
> [!NOTE]
> This will only work on linux systems since some kernel interfaces (like kvm) are needed by the vm. Because of this performance can vary in kernel versions (newer will likely perform better).
# Setup docker container
The easiest way to setup a windows vm is by using docker compose. Just create a `compose.yml` with following content:
```yaml
name: "winapps"
volumes:
data:
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "tiny11"
RAM_SIZE: "4G"
CPU_CORES: "4"
privileged: true
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
volumes:
- data:/storage
```
Now you can tune the ram/usage by changing RAM_SIZE/CPU_CORES. You can also specify the windows versions you want to use. You might also want to take a look at the [docker image repo](https://github.com/dockur/windows).
> [!NOTE]
> Older versions than Windows 10 are not officially supported. However they might still work with some additional tuning.
You can now just run:
```shell
docker compose up
```
After this just open http://127.0.0.1:8006 in your webbrowser and finish you windows installation as usual.
> [!WARNING]
> Change the RDP_IP in your winapps config to localhost or "127.0.0.1".
> [!WARNING] ## Why docker?
> RDP will be automatically enabled, however you still need to load the [reg file](https://github.com/winapps-org/winapps/blob/main/install%2FRDPApps.reg) into you vm.
> Just use a browser inside the vm to download. While working with `virsh` is completely fine for winapps, you have to set up and optimize you vm manually. Docker on the other hand sets up most of the stuff automatically and also makes the VM highly portable between Linux distros.
Now you should be ready to go and try to connect to your vm with winapps. # Requirements
For stopping the vm just use: Since Docker manages the dependencies of the container automatically you only need to install Docker itself.
```shell
docker compose stop You can try using Podman too because of their faster container startup times, but note that Podman and Docker are not always fully interchangeable. In case you want to follow this guide using podman, you will have to install the `docker` CLI to be able to run `docker compose` commands. You'll also have to enable the Podman socket. Refer to the podman docs for how to do that.
```
See:
For starting again afterwards use: - [Podman installation docs](https://podman.io/docs/installation)
```shell - [Docker installation docs](https://docs.docker.com/engine/install)
docker compose start - [Using `docker compose` with Podman](https://www.redhat.com/sysadmin/podman-docker-compose) (slightly outdated)
```
> [!NOTE]
> This will only work on Linux systems since some kernel interfaces (like KVM) are needed by the VM. Because of this performance can vary depending on kernel version (newer will likely perform better).
# Setup docker container
The easiest way to set up a Windows VM is by using docker compose. A compose file that looks like this is already shipped with winapps:
```yaml
name: "winapps"
volumes:
data:
services:
windows:
image: dockurr/windows
container_name: windows
environment:
VERSION: "tiny11"
RAM_SIZE: "4G"
CPU_CORES: "4"
privileged: true
ports:
- 8006:8006
- 3389:3389/tcp
- 3389:3389/udp
stop_grace_period: 2m
restart: on-failure
volumes:
- data:/storage
```
Now you can tune the ram/usage by changing `RAM_SIZE` & `CPU_CORES`. You can also specify the windows versions you want to use. You might also want to take a look at the [repo of the Docker image](https://github.com/dockur/windows) for further information.
This compose file uses Windows 11 by default. You can use Windows 10 by changing the `VERSION` to `tiny10`.
> [!NOTE]
> We use a stripped-down Windows installation by default. This is recommended, but you can still opt for stock windows by changing the version to one of the versions listed in the README of the images repository linked above.
> [!NOTE]
> Older versions than Windows 10 are not officially supported by us. However they might still work with some additional tuning.
You can now just run:
```shell
docker compose up -d
```
to run the VM in the background.
After this just open http://127.0.0.1:8006 in your web browser and wait for the Windows installation to finish.
> [!WARNING]
> Make sure to change the `RDP_IP` in your winapps config to `127.0.0.1`.
Now you should be ready to go and try to connect to your VM with winapps.
For stopping the VM just use:
```shell
docker compose stop
```
For starting again afterwards use:
```shell
docker compose start
```
(All compose commands have to be run from the directory where the `compose.yaml` is located.)

View File

@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 2048">
<path d="M0 268l768-107v735H0V268zM1920 0v896H896V143L1920 0zM896 1024h1024v896L896 1777v-753zm-896 0h768v735L0 1652v-628z" fill="#73A1FB" /> <path d="M0 268l768-107v735H0V268zM1920 0v896H896V143L1920 0zM896 1024h1024v896L896 1777v-753zm-896 0h768v735L0 1652v-628z" fill="#73A1FB" />
</svg> </svg>

Before

Width:  |  Height:  |  Size: 218 B

After

Width:  |  Height:  |  Size: 216 B

View File

@ -63,7 +63,7 @@ Function Get-Icon {
.EXAMPLE .EXAMPLE
Get-Icon -Path 'C:\windows\system32\WindowsPowerShell\v1.0\PowerShell.exe' -ToBitmap Get-Icon -Path 'C:\windows\system32\WindowsPowerShell\v1.0\PowerShell.exe' -ToBitmap
Tag : Tag :
PhysicalDimension : {Width=32, Height=32} PhysicalDimension : {Width=32, Height=32}
Size : {Width=32, Height=32} Size : {Width=32, Height=32}
Width : 32 Width : 32
@ -173,25 +173,25 @@ Function Get-Icon {
$Path = Convert-Path -Path $Path $Path = Convert-Path -Path $Path
Write-Debug $Path Write-Debug $Path
If (Test-Path -Path $Path) { If (Test-Path -Path $Path) {
#$Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($Path)| #$Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($Path)|
$Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($Path)| $Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($Path)|
Add-Member -MemberType NoteProperty -Name FullName -Value $Path -PassThru Add-Member -MemberType NoteProperty -Name FullName -Value $Path -PassThru
If ($PSBoundParameters.ContainsKey('ToBytes')) { If ($PSBoundParameters.ContainsKey('ToBytes')) {
Write-Verbose "Retrieving bytes" Write-Verbose "Retrieving bytes"
$MemoryStream = New-Object System.IO.MemoryStream $MemoryStream = New-Object System.IO.MemoryStream
$Icon.save($MemoryStream) $Icon.save($MemoryStream)
Write-Debug ($MemoryStream | Out-String) Write-Debug ($MemoryStream | Out-String)
$MemoryStream.ToArray() $MemoryStream.ToArray()
$MemoryStream.Flush() $MemoryStream.Flush()
$MemoryStream.Dispose() $MemoryStream.Dispose()
} ElseIf ($PSBoundParameters.ContainsKey('ToBitmap')) { } ElseIf ($PSBoundParameters.ContainsKey('ToBitmap')) {
$Icon.ToBitMap() $Icon.ToBitMap()
} ElseIf ($PSBoundParameters.ContainsKey('ToBase64')) { } ElseIf ($PSBoundParameters.ContainsKey('ToBase64')) {
$MemoryStream = New-Object System.IO.MemoryStream $MemoryStream = New-Object System.IO.MemoryStream
$Icon.save($MemoryStream) $Icon.save($MemoryStream)
Write-Debug ($MemoryStream | Out-String) Write-Debug ($MemoryStream | Out-String)
$Bytes = $MemoryStream.ToArray() $Bytes = $MemoryStream.ToArray()
$MemoryStream.Flush() $MemoryStream.Flush()
$MemoryStream.Dispose() $MemoryStream.Dispose()
[convert]::ToBase64String($Bytes) [convert]::ToBase64String($Bytes)
} Else { } Else {
@ -219,4 +219,3 @@ Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\*" |
"EXES+=(""$Exe"")" "EXES+=(""$Exe"")"
"ICONS+=(""$Icon"")" "ICONS+=(""$Icon"")"
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,9 @@
#!/usr/bin/env bash #!/usr/bin/env bash
if ! command -v bc &> /dev/null if ! command -v bc &> /dev/null
then then
echo "You need bc!" echo "You need bc!"
exit exit
fi fi
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
@ -11,211 +11,221 @@ DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)"
MAKEDEMO=0 MAKEDEMO=0
USEDEMO=0 USEDEMO=0
. "${DIR}/install/inquirer.sh" # shellcheck disable=SC1094
. "$DIR/install/inquirer.sh"
INSTALLED_EXES=() INSTALLED_EXES=()
function waUsage() { function waUsage() {
echo 'Usage: echo "Usage:
./installer.sh --user # Install everything in ${HOME} ./installer.sh --user # Install everything in $HOME
./installer.sh --system # Install everything in /usr' ./installer.sh --system # Install everything in /usr"
exit exit
} }
function waNoSudo() { function waNoSudo() {
echo 'You are attempting to switch from a --system install to a --user install. echo "You are attempting to switch from a --system install to a --user install.
Please run "./installer.sh --system --uninstall" first.' Please run \"./installer.sh --system --uninstall\" first."
exit exit
} }
function waInstall() { function waInstall() {
${SUDO} mkdir -p "${SYS_PATH}/apps" $SUDO mkdir -p "$SYS_PATH/apps"
. "${DIR}/bin/winapps" install . "$DIR/bin/winapps" install
} }
function waFindInstalled() { function waFindInstalled() {
echo -n " Checking for installed apps in RDP machine (this may take a while)..." echo -n " Checking for installed apps in RDP machine (this may take a while)..."
if [ $USEDEMO != 1 ]; then if [ $USEDEMO != 1 ]; then
rm -f ${HOME}/.local/share/winapps/installed.bat rm -f "$HOME/.local/share/winapps/installed.bat"
rm -f ${HOME}/.local/share/winapps/installed.tmp rm -f "$HOME/.local/share/winapps/installed.tmp"
rm -f ${HOME}/.local/share/winapps/installed rm -f "$HOME/.local/share/winapps/installed"
rm -f ${HOME}/.local/share/winapps/detected rm -f "$HOME/.local/share/winapps/detected"
cp "${DIR}/install/ExtractPrograms.ps1" ${HOME}/.local/share/winapps/ExtractPrograms.ps1 cp "$DIR/install/ExtractPrograms.ps1" "$HOME/.local/share/winapps/ExtractPrograms.ps1"
for F in $(ls "${DIR}/apps"); do # FIXME
. "${DIR}/apps/${F}/info" # shellcheck disable=SC2066
echo "IF EXIST \"${WIN_EXECUTABLE}\" ECHO ${F} >> \\\\tsclient\\home\\.local\\share\\winapps\\installed.tmp" >>${HOME}/.local/share/winapps/installed.bat for F in "$DIR/apps"; do
done [[ -e "$F" ]] || break
echo "powershell.exe -ExecutionPolicy Bypass -File \\\\tsclient\\home\\.local\\share\\winapps\\ExtractPrograms.ps1 > \\\\tsclient\home\\.local\\share\\winapps\\detected" >>${HOME}/.local/share/winapps/installed.bat # shellcheck disable=SC1090
echo "RENAME \\\\tsclient\\home\\.local\\share\\winapps\\installed.tmp installed" >>${HOME}/.local/share/winapps/installed.bat . "$DIR/apps/$F/info"
$FREERDP_COMMAND /d:"${RDP_DOMAIN}" /u:"${RDP_USER}" /p:"${RDP_PASS}" +auto-reconnect +home-drive -wallpaper +span /app:program:"C:\Windows\System32\cmd.exe",cmd:"/C \\\\tsclient\\home\\.local\\share\\winapps\\installed.bat" /v:${RDP_IP} 1>/dev/null 2>&1 & printf "IF EXIST \"%s\" ECHO %s >> \\\\tsclient\\home\\.local\\share\\winapps\\installed.tmp" "$WIN_EXECUTABLE" "$F" >>"$HOME/.local/share/winapps/installed.bat"
COUNT=0 done
while [ ! -f "${HOME}/.local/share/winapps/installed" ]; do printf "powershell.exe -ExecutionPolicy Bypass -File \\\\tsclient\\home\\.local\\share\\winapps\\ExtractPrograms.ps1 > \\\\tsclient\home\\.local\\share\\winapps\\detected" >>"$HOME/.local/share/winapps/installed.bat"
sleep 5 printf "RENAME \\\\tsclient\\home\\.local\\share\\winapps\\installed.tmp installed" >>"$HOME/.local/share/winapps/installed.bat"
COUNT=$((COUNT + 1)) # shellcheck disable=SC2140
if ((COUNT == 15)); then $FREERDP_COMMAND /d:"$RDP_DOMAIN" /u:"$RDP_USER" /p:"$RDP_PASS" +auto-reconnect +home-drive -wallpaper +span /app:program:"C:\Windows\System32\cmd.exe",cmd:"/C \\\\tsclient\\home\\.local\\share\\winapps\\installed.bat" /v:"$RDP_IP" 1>/dev/null 2>&1 &
echo " Finished." COUNT=0
echo "" while [ ! -f "$HOME/.local/share/winapps/installed" ]; do
echo "The RDP connection failed to connect or run. Please confirm FreeRDP can connect with:" sleep 5
echo " bin/winapps check" COUNT=$((COUNT + 1))
echo "" if ((COUNT == 15)); then
echo "If it cannot connect, this is most likely due to:" echo " Finished."
echo " - You need to accept the security cert the first time you connect (with 'check')" echo ""
echo " - Not enabling RDP in the Windows VM" echo "The RDP connection failed to connect or run. Please confirm FreeRDP can connect with:"
echo " - Not being able to connect to the IP of the VM" echo " bin/winapps check"
echo " - Incorrect user credentials in winapps.conf" echo ""
echo " - Not merging install/RDPApps.reg into the VM" echo "If it cannot connect, this is most likely due to:"
exit echo " - You need to accept the security cert the first time you connect (with 'check')"
fi echo " - Not enabling RDP in the Windows VM"
done echo " - Not being able to connect to the IP of the VM"
if [ $MAKEDEMO = 1 ]; then echo " - Incorrect user credentials in winapps.conf"
rm -rf /tmp/winapps_demo echo " - Not merging install/RDPApps.reg into the VM"
cp -a ${HOME}/.local/share/winapps /tmp/winapps_demo exit
exit fi
fi done
else if [ $MAKEDEMO = 1 ]; then
rm -rf ${HOME}/.local/share/winapps rm -rf /tmp/winapps_demo
cp -a /tmp/winapps_demo ${HOME}/.local/share/winapps cp -a "$HOME/.local/share/winapps" /tmp/winapps_demo
#sleep 3 exit
fi fi
echo " Finished." else
rm -rf "$HOME/.local/share/winapps"
cp -a /tmp/winapps_demo "$HOME/.local/share/winapps"
#sleep 3
fi
echo " Finished."
} }
function waConfigureApp() { function waConfigureApp() {
if [ -z "${ICON}" ]; then if [ -z "$ICON" ]; then
ICON=${SYS_PATH}/apps/${1}/icon.${2} ICON=$SYS_PATH/apps/$1/icon.$2
fi fi
# shellcheck disable=SC1090
. "${SYS_PATH}/apps/${1}/info" . "$SYS_PATH/apps/$1/info"
echo -n " Configuring ${NAME}..." echo -n " Configuring $NAME..."
if [ ${USEDEMO} != 1 ]; then if [ $USEDEMO != 1 ]; then
${SUDO} rm -f "${APP_PATH}/${1}.desktop" $SUDO rm -f "$APP_PATH/$1.desktop"
echo "[Desktop Entry] echo "[Desktop Entry]
Name=${NAME} Name=$NAME
Exec=${BIN_PATH}/winapps ${1} %F Exec=$BIN_PATH/winapps $1 %F
Terminal=false Terminal=false
Type=Application Type=Application
Icon=$ICON Icon=$ICON
StartupWMClass=${FULL_NAME} StartupWMClass=$FULL_NAME
Comment=${FULL_NAME} Comment=$FULL_NAME
Categories=${CATEGORIES} Categories=$CATEGORIES
MimeType=${MIME_TYPES} MimeType=$MIME_TYPES
" | ${SUDO} tee "${APP_PATH}/${1}.desktop" >/dev/null " | $SUDO tee "$APP_PATH/$1.desktop" >/dev/null
${SUDO} rm -f "${BIN_PATH}/${1}" $SUDO rm -f "$BIN_PATH/$1"
echo "#!/usr/bin/env bash echo "#!/usr/bin/env bash $BIN_PATH/winapps $1 $*
${BIN_PATH}/winapps ${1} $@ " | $SUDO tee "$BIN_PATH/$1" >/dev/null
" | ${SUDO} tee "${BIN_PATH}/${1}" >/dev/null $SUDO chmod a+x "$BIN_PATH/$1"
${SUDO} chmod a+x "${BIN_PATH}/${1}" fi
fi echo " Finished."
echo " Finished."
ICON="" ICON=""
} }
function waConfigureApps() { function waConfigureApps() {
APPS=() APPS=()
for F in $(cat "${HOME}/.local/share/winapps/installed" | sed 's/\r/\n/g'); do while IFS= read -r F; do
. "${DIR}/apps/${F}/info" # shellcheck disable=SC1090
APPS+=("${FULL_NAME} (${F})") . "$DIR/apps/$F/info"
INSTALLED_EXES+=("$(echo "${WIN_EXECUTABLE##*\\}" | tr '[:upper:]' '[:lower:]')") APPS+=("$FULL_NAME ($F)")
done INSTALLED_EXES+=("$(echo "${WIN_EXECUTABLE##*\\}" | tr '[:upper:]' '[:lower:]')")
IFS=$'\n' APPS=($(sort <<<"${APPS[*]}")) done < <(sed 's/\r/\n/g' < "$HOME/.local/share/winapps/installed")
unset IFS # FIXME
OPTIONS=("Set up all detected pre-configured applications" "Select which pre-configured applications to set up" "Do not set up any pre-configured applications") # shellcheck disable=SC2207,SC2031
IFS=$'\n' APPS=($(sort <<<"${APPS[*]}"))
if [ "${INSTALL_TYPE}" != 'User' ]; then unset IFS
menuFromArr APP_INSTALL "How would you like to handle WinApps pre-configured applications?" "${OPTIONS[@]}" OPTIONS=("Set up all detected pre-configured applications" "Select which pre-configured applications to set up" "Do not set up any pre-configured applications")
else "grep -l -d skip"
menuFromArr APP_INSTALL "How would you like to handle WinApps pre-configured applications? If any web browser is set-up, may be configured as default browser." "${OPTIONS[@]}" if [ "$INSTALL_TYPE" != 'User' ]; then
fi menuFromArr APP_INSTALL "How would you like to handle WinApps pre-configured applications?" "${OPTIONS[@]}"
if [ "${APP_INSTALL}" = "Select which pre-configured applications to set up" ]; then else "grep -l -d skip"
checkbox_input "Which pre-configured apps would you like to set up?" APPS SELECTED_APPS menuFromArr APP_INSTALL "How would you like to handle WinApps pre-configured applications? If any web browser is set-up, may be configured as default browser." "${OPTIONS[@]}"
echo "" >"${HOME}/.local/share/winapps/installed" fi
for F in "${SELECTED_APPS[@]}"; do if [ "$APP_INSTALL" = "Select which pre-configured applications to set up" ]; then
APP="${F##*(}" checkbox_input "Which pre-configured apps would you like to set up?" APPS SELECTED_APPS
APP="${APP%%)}" echo "" >"$HOME/.local/share/winapps/installed"
echo "${APP}" >>"${HOME}/.local/share/winapps/installed" for F in "${SELECTED_APPS[@]}"; do
done APP="${F##*(}"
fi APP="${APP%%)}"
${SUDO} cp "${DIR}/bin/winapps" "${BIN_PATH}/winapps" echo "${APP}" >>"$HOME/.local/share/winapps/installed"
COUNT=0 done
if [ "${APP_INSTALL}" != "Do not set up any pre-configured applications" ]; then fi
for F in $(cat "${HOME}/.local/share/winapps/installed" | sed 's/\r/\n/g'); do $SUDO cp "$DIR/bin/winapps" "$BIN_PATH/winapps"
COUNT=$((COUNT + 1)) COUNT=0
${SUDO} cp -r "apps/${F}" "${SYS_PATH}/apps" if [ "$APP_INSTALL" != "Do not set up any pre-configured applications" ]; then
waConfigureApp "${F}" svg while IFS= read -r F; do
done COUNT=$((COUNT + 1))
fi $SUDO cp -r "apps/$F" "$SYS_PATH/apps"
rm -f "${HOME}/.local/share/winapps/installed" waConfigureApp "$F" svg
rm -f "${HOME}/.local/share/winapps/installed.bat" done < <(sed 's/\r/\n/g' < "$HOME/.local/share/winapps/installed")
if (($COUNT == 0)); then fi
echo " No configured applications." rm -f "$HOME/.local/share/winapps/installed"
fi rm -f "$HOME/.local/share/winapps/installed.bat"
if ((COUNT == 0)); then
echo " No configured applications."
fi
} }
function waConfigureAppsAllOfficiallySupported(){ function waConfigureAppsAllOfficiallySupported(){
${SUDO} cp "${DIR}/bin/winapps" "${BIN_PATH}/winapps" $SUDO cp "$DIR/bin/winapps" "$BIN_PATH/winapps"
COUNT=0 COUNT=0
for F in $(cat "${HOME}/.local/share/winapps/installed" | sed 's/\r/\n/g'); do while IFS= read -r F; do
COUNT=$((COUNT + 1)) COUNT=$((COUNT + 1))
${SUDO} cp -r "apps/${F}" "${SYS_PATH}/apps" $SUDO cp -r "apps/$F" "$SYS_PATH/apps"
waConfigureApp "${F}" svg waConfigureApp "$F" svg
done done < <(sed 's/\r/\n/g' < "$HOME/.local/share/winapps/installed")
rm -f "${HOME}/.local/share/winapps/installed" rm -f "$HOME/.local/share/winapps/installed"
rm -f "${HOME}/.local/share/winapps/installed.bat" rm -f "$HOME/.local/share/winapps/installed.bat"
if (($COUNT == 0)); then if ((COUNT == 0)); then
echo " No configured applications." echo " No configured applications."
fi fi
} }
function waConfigureDetectedApps() { function waConfigureDetectedApps() {
if [ -f "${HOME}/.local/share/winapps/detected" ]; then if [ -f "$HOME/.local/share/winapps/detected" ]; then
sed -i 's/\r//g' "${HOME}/.local/share/winapps/detected" sed -i 's/\r//g' "$HOME/.local/share/winapps/detected"
. "${HOME}/.local/share/winapps/detected" # shellcheck disable=SC1091
APPS=() . "$HOME/.local/share/winapps/detected"
for I in "${!NAMES[@]}"; do APPS=()
EXE=${EXES[$I]##*\\} # shellcheck disable=SC2153
EXE_LOWER=$(echo "${EXE}" | tr '[:upper:]' '[:lower:]') for I in "${!NAMES[@]}"; do
if ( EXE=${EXES[$I]##*\\}
dlm=$'\x1F' EXE_LOWER=$(echo "$EXE" | tr '[:upper:]' '[:lower:]')
IFS="$dlm" if (
[[ "$dlm${INSTALLED_EXES[*]}$dlm" != *"$dlm${EXE_LOWER}$dlm"* ]] dlm=$'\x1F'
); then IFS="$dlm"
APPS+=("${NAMES[$I]} (${EXE})") [[ "$dlm${INSTALLED_EXES[*]}$dlm" != *"$dlm$EXE_LOWER$dlm"* ]]
fi ); then
done APPS+=("${NAMES[$I]} ($EXE)")
IFS=$'\n' APPS=($(sort <<<"${APPS[*]}")) fi
unset IFS done
OPTIONS=("Set up all detected applications" "Select which applications to set up" "Do not set up any applications") IFS=$'\n' APPS=("$(sort <<<"${APPS[*]}")")
menuFromArr APP_INSTALL "How would you like to handle other detected applications?" "${OPTIONS[@]}" unset IFS
if [ "${APP_INSTALL}" = "Select which applications to set up" ]; then OPTIONS=("Set up all detected applications" "Select which applications to set up" "Do not set up any applications")
checkbox_input "Which other apps would you like to set up?" APPS SELECTED_APPS menuFromArr APP_INSTALL "How would you like to handle other detected applications?" "${OPTIONS[@]}"
echo "" >"${HOME}/.local/share/winapps/installed" if [ "$APP_INSTALL" = "Select which applications to set up" ]; then
for F in "${SELECTED_APPS[@]}"; do checkbox_input "Which other apps would you like to set up?" APPS SELECTED_APPS
EXE="${F##*(}" echo "" >"$HOME/.local/share/winapps/installed"
EXE="${EXE%%)}" for F in "${SELECTED_APPS[@]}"; do
APP="${F% (*}" EXE="${F##*(}"
echo "${EXE}|${APP}" >>"${HOME}/.local/share/winapps/installed" EXE="${EXE%%)}"
done APP="${F% (*}"
elif [ "${APP_INSTALL}" = "Set up all detected applications" ]; then echo "$EXE|${APP}" >>"$HOME/.local/share/winapps/installed"
for I in "${!EXES[@]}"; do done
EXE=${EXES[$I]##*\\} elif [ "$APP_INSTALL" = "Set up all detected applications" ]; then
echo "${EXE}|${NAMES[$I]}" >>"${HOME}/.local/share/winapps/installed" for I in "${!EXES[@]}"; do
done EXE=${EXES[$I]##*\\}
fi echo "$EXE|${NAMES[$I]}" >>"$HOME/.local/share/winapps/installed"
COUNT=0 done
if [ -f "${HOME}/.local/share/winapps/installed" ]; then fi
while read LINE; do COUNT=0
EXE="${LINE%|*}" if [ -f "$HOME/.local/share/winapps/installed" ]; then
NAME="${LINE#*|}" while read -r LINE; do
for I in "${!NAMES[@]}"; do EXE="${LINE%|*}"
if [ "${NAME}" = "${NAMES[$I]}" ] && [[ "${EXES[$I]}" == *"\\${EXE}" ]]; then NAME="${LINE#*|}"
EXE=$(echo "${EXE}" | tr '[:upper:]' '[:lower:]') for I in "${!NAMES[@]}"; do
${SUDO} mkdir -p "${SYS_PATH}/apps/${EXE}" if [ "$NAME" = "${NAMES[$I]}" ] && [[ "${EXES[$I]}" == *"\\$EXE" ]]; then
echo "# GNOME shortcut name EXE=$(echo "$EXE" | tr '[:upper:]' '[:lower:]')
NAME=\"${NAME}\" $SUDO mkdir -p "$SYS_PATH/apps/$EXE"
echo "# GNOME shortcut name
NAME=\"$NAME\"
# Used for descriptions and window class # Used for descriptions and window class
FULL_NAME=\"${NAME}\" FULL_NAME=\"$NAME\"
# The executable inside windows # The executable inside windows
WIN_EXECUTABLE=\"${EXES[$I]}\" WIN_EXECUTABLE=\"${EXES[$I]}\"
@ -225,149 +235,154 @@ CATEGORIES=\"WinApps\"
# GNOME mimetypes # GNOME mimetypes
MIME_TYPES=\"\" MIME_TYPES=\"\"
" | sudo tee "${SYS_PATH}/apps/${EXE}/info" >/dev/null " | sudo tee "$SYS_PATH/apps/$EXE/info" >/dev/null
echo "${ICONS[$I]}" | base64 -d | sudo tee "${SYS_PATH}/apps/${EXE}/icon.ico" >/dev/null # shellcheck disable=SC2153
waConfigureApp "${EXE}" ico echo "${ICONS[$I]}" | base64 -d | sudo tee "$SYS_PATH/apps/$EXE/icon.ico" >/dev/null
COUNT=$((COUNT + 1)) waConfigureApp "$EXE" ico
fi COUNT=$((COUNT + 1))
done fi
done <"${HOME}/.local/share/winapps/installed" done
rm -f "${HOME}/.local/share/winapps/installed" done <"$HOME/.local/share/winapps/installed"
fi rm -f "$HOME/.local/share/winapps/installed"
rm -f "${HOME}/.local/share/winapps/installed.bat" fi
if (($COUNT == 0)); then rm -f "$HOME/.local/share/winapps/installed.bat"
echo " No configured applications." if ((COUNT == 0)); then
fi echo " No configured applications."
fi fi
fi
} }
function waConfigureWindows() { function waConfigureWindows() {
echo -n " Configuring Windows..." echo -n " Configuring Windows..."
if [ ${USEDEMO} != 1 ]; then if [ $USEDEMO != 1 ]; then
${SUDO} rm -f "${APP_PATH}/windows.desktop" $SUDO rm -f "$APP_PATH/windows.desktop"
${SUDO} mkdir -p "${SYS_PATH}/icons" $SUDO mkdir -p "$SYS_PATH/icons"
${SUDO} cp "${DIR}/icons/windows.svg" "${SYS_PATH}/icons/windows.svg" $SUDO cp "$DIR/icons/windows.svg" "$SYS_PATH/icons/windows.svg"
echo "[Desktop Entry] echo "[Desktop Entry]
Name=Windows Name=Windows
Exec=${BIN_PATH}/winapps windows %F Exec=$BIN_PATH/winapps windows %F
Terminal=false Terminal=false
Type=Application Type=Application
Icon=${SYS_PATH}/icons/windows.svg Icon=$SYS_PATH/icons/windows.svg
StartupWMClass=Microsoft Windows StartupWMClass=Microsoft Windows
Comment=Microsoft Windows Comment=Microsoft Windows
" | ${SUDO} tee "${APP_PATH}/windows.desktop" >/dev/null " | $SUDO tee "$APP_PATH/windows.desktop" >/dev/null
${SUDO} rm -f "${BIN_PATH}/windows" $SUDO rm -f "$BIN_PATH/windows"
echo "#!/usr/bin/env bash echo "#!/usr/bin/env bash
${BIN_PATH}/winapps windows $BIN_PATH/winapps windows
" | ${SUDO} tee "/${BIN_PATH}/windows" >/dev/null " | $SUDO tee "/$BIN_PATH/windows" >/dev/null
${SUDO} chmod a+x "${BIN_PATH}/windows" $SUDO chmod a+x "$BIN_PATH/windows"
fi fi
echo " Finished." echo " Finished."
} }
function waUninstallUser() { function waUninstallUser() {
rm -f "${HOME}/.local/bin/winapps" rm -f "$HOME/.local/bin/winapps"
rm -rf "${HOME}/.local/share/winapps" rm -rf "$HOME/.local/share/winapps"
for F in $(grep -l -d skip "bin/winapps" "${HOME}/.local/share/applications/"* -s); do grep -l -d skip "bin/winapps" "$HOME/.local/share/applications/"* -s | while IFS= read -r F
echo -n " Removing ${F}..." do
${SUDO} rm ${F} echo -n " Removing $F..."
echo " Finished." "$SUDO" rm "$F"
done echo " Finished."
for F in $(grep -l -d skip "bin/winapps" "${HOME}/.local/bin/"* -s); do done
echo -n " Removing ${F}..." grep -l -d skip "bin/winapps" "$HOME/.local/bin/"* -s | while IFS= read -r F
${SUDO} rm ${F} do
echo " Finished." echo -n " Removing $F..."
done "$SUDO" rm "$F"
echo " Finished."
done
} }
function waUninstallSystem() { function waUninstallSystem() {
${SUDO} rm -f "/usr/local/bin/winapps" "$SUDO" rm -f "/usr/local/bin/winapps"
${SUDO} rm -rf "/usr/local/share/winapps" "$SUDO" rm -rf "/usr/local/share/winapps"
for F in $(grep -l -d skip "bin/winapps" "/usr/share/applications/"* -s); do grep -l -d skip "bin/winapps" "/usr/share/applications/"* -s | while IFS= read -r F
if [ -z "${SUDO}" ]; then do
waNoSudo if [ -z "$SUDO" ]; then
fi waNoSudo
echo -n " Removing ${F}..." fi
${SUDO} rm ${F} echo -n " Removing $F..."
echo " Finished." "$SUDO" rm "$F"
done echo " Finished."
for F in $(grep -l -d skip "bin/winapps" "/usr/local/bin/"* -s); do done
if [ -z "${SUDO}" ]; then grep -l -d skip "bin/winapps" "/usr/local/bin/"* -s | while IFS= read -r F
waNoSudo do
fi if [ -z "$SUDO" ]; then
echo -n " Removing ${F}..." waNoSudo
${SUDO} rm ${F} fi
echo " Finished." echo -n " Removing $F..."
done "$SUDO" rm "$F"
echo " Finished."
done
} }
if [ -z "${1}" ]; then if [ -z "$1" ]; then
OPTIONS=(User System) OPTIONS=(User System)
menuFromArr INSTALL_TYPE "Would you like to install for the current user or the whole system?" "${OPTIONS[@]}" menuFromArr INSTALL_TYPE "Would you like to install for the current user or the whole system?" "${OPTIONS[@]}"
elif [ "${1}" = '--user' ]; then elif [ "$1" = '--user' ]; then
INSTALL_TYPE='User' INSTALL_TYPE='User'
elif [ "${1}" = '--system' ]; then elif [ "$1" = '--system' ]; then
INSTALL_TYPE='System' INSTALL_TYPE='System'
else else
waUsage waUsage
fi fi
if [ "${INSTALL_TYPE}" = 'User' ]; then if [ "$INSTALL_TYPE" = 'User' ]; then
SUDO="" SUDO=""
BIN_PATH="${HOME}/.local/bin" BIN_PATH="$HOME/.local/bin"
APP_PATH="${HOME}/.local/share/applications" APP_PATH="$HOME/.local/share/applications"
SYS_PATH="${HOME}/.local/share/winapps" SYS_PATH="$HOME/.local/share/winapps"
mkdir -p $BIN_PATH mkdir -p "$BIN_PATH"
mkdir -p $APP_PATH mkdir -p "$APP_PATH"
mkdir -p $SYS_PATH mkdir -p "$SYS_PATH"
if [ -n "${2}" ]; then if [ -n "$2" ]; then
if [ "${2}" = '--uninstall' ]; then if [ "$2" = '--uninstall' ]; then
# Uninstall # Uninstall
echo "Uninstalling..." echo "Uninstalling..."
waUninstallUser waUninstallUser
exit exit
elif [ "${2}" = '--setupAllOfficiallySupportedApps' ]; then elif [ "$2" = '--setupAllOfficiallySupportedApps' ]; then
echo "Setting up All Officially Supported Apps " echo "Setting up All Officially Supported Apps "
echo "Removing any old configurations..." echo "Removing any old configurations..."
waUninstallUser waUninstallUser
waUninstallSystem waUninstallSystem
waInstall waInstall
waFindInstalled waFindInstalled
waConfigureWindows waConfigureWindows
waConfigureAppsAllOfficiallySupported waConfigureAppsAllOfficiallySupported
exit exit
else else
usage usage
fi fi
fi fi
elif [ "${INSTALL_TYPE}" = 'System' ]; then elif [ "$INSTALL_TYPE" = 'System' ]; then
SUDO="sudo" SUDO="sudo"
sudo ls >/dev/null sudo ls >/dev/null
BIN_PATH="/usr/local/bin" BIN_PATH="/usr/local/bin"
APP_PATH="/usr/share/applications" APP_PATH="/usr/share/applications"
SYS_PATH="/usr/local/share/winapps" SYS_PATH="/usr/local/share/winapps"
if [ -n "${2}" ]; then if [ -n "$2" ]; then
if [ "${2}" = '--uninstall' ]; then if [ "$2" = '--uninstall' ]; then
# Uninstall # Uninstall
echo "Uninstalling..." echo "Uninstalling..."
waUninstallSystem waUninstallSystem
exit exit
elif [ "${2}" = '--setupAllOfficiallySupportedApps' ]; then elif [ "$2" = '--setupAllOfficiallySupportedApps' ]; then
echo "Setting up All Officially Supported Apps " echo "Setting up All Officially Supported Apps "
echo "Removing any old configurations..." echo "Removing any old configurations..."
waUninstallUser waUninstallUser
waUninstallSystem waUninstallSystem
echo "Installing..." echo "Installing..."
waInstall waInstall
waFindInstalled waFindInstalled
waConfigureWindows waConfigureWindows
waConfigureAppsAllOfficiallySupported waConfigureAppsAllOfficiallySupported
exit exit
else else
usage usage
fi fi
fi fi
fi fi
echo "Removing any old configurations..." echo "Removing any old configurations..."

View File

@ -208,4 +208,3 @@
<imagelabel>+385601105:+385600513</imagelabel> <imagelabel>+385601105:+385600513</imagelabel>
</seclabel> </seclabel>
</domain> </domain>

3
oem/install.bat Normal file
View File

@ -0,0 +1,3 @@
@echo off
REG IMPORT C:\OEM\RDPApps.reg