-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #13 from beyenilmez/development
Development
- Loading branch information
Showing
157 changed files
with
12,597 additions
and
2,960 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,34 +1,99 @@ | ||
name: Build | ||
|
||
name: "Build" | ||
on: | ||
workflow_dispatch: | ||
push: | ||
branches: | ||
- main | ||
- development | ||
- main | ||
pull_request: | ||
branches: | ||
- main | ||
- development | ||
- main | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
build: | ||
package: | ||
name: Package | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
build: | ||
[ | ||
{ | ||
name: desktop-manager, | ||
platform: windows/amd64, | ||
os: windows-latest, | ||
}, | ||
] | ||
runs-on: ${{ matrix.build.os }} | ||
platform: [windows-latest] | ||
build-name: ["iconium"] | ||
go-version: [1.22] | ||
node-version: [20] | ||
runs-on: ${{ matrix.platform }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Checkout repository | ||
uses: actions/checkout@v4 | ||
|
||
- name: Setup Go | ||
uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ matrix.go-version }} | ||
|
||
- name: Setup Node | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
|
||
- name: Setup Wails | ||
run: go install github.com/wailsapp/wails/v2/cmd/wails@latest | ||
|
||
- name: Build Wails app | ||
run: wails build -nsis | ||
|
||
- name: Sign Windows binaries | ||
shell: powershell | ||
run: | | ||
echo "Creating certificate file" | ||
New-Item -ItemType directory -Path certificate | ||
Set-Content -Path certificate\certificate.txt -Value '${{ secrets.WIN_SIGNING_CERT }}' | ||
certutil -decode certificate\certificate.txt certificate\certificate.pfx | ||
echo "Signing Binary" | ||
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' sign /fd sha256 /tr http://ts.ssl.com /f certificate\certificate.pfx /p '${{ secrets.WIN_SIGNING_CERT_PASSWORD }}' .\build\bin\${{matrix.build-name}}.exe | ||
echo "Signing Installer" | ||
& 'C:/Program Files (x86)/Windows Kits/10/bin/10.0.17763.0/x86/signtool.exe' sign /fd sha256 /tr http://ts.ssl.com /f certificate\certificate.pfx /p '${{ secrets.WIN_SIGNING_CERT_PASSWORD }}' .\build\bin\${{matrix.build-name}}-amd64-installer.exe | ||
- name: Upload artifacts | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
submodules: recursive | ||
- uses: dAppServer/[email protected] | ||
name: binaries | ||
path: build/bin/* | ||
|
||
extract-version: | ||
if: github.ref == 'refs/heads/main' | ||
name: Extract version | ||
runs-on: ubuntu-latest | ||
|
||
outputs: | ||
version: ${{ steps.extract_version.outputs.version }} | ||
|
||
steps: | ||
- name: Checkout repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Extract version | ||
id: extract_version | ||
run: | | ||
version=$(jq -r '.info.productVersion' wails.json) | ||
echo "version=$version" >> $GITHUB_OUTPUT | ||
create-release: | ||
if: github.ref == 'refs/heads/main' | ||
name: Create release | ||
needs: [extract-version, package] | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Download artifacts | ||
uses: actions/download-artifact@v4 | ||
with: | ||
build-name: ${{ matrix.build.name }} | ||
build-platform: ${{ matrix.build.platform }} | ||
name: binaries | ||
path: ./artifacts | ||
|
||
- name: Create Draft Release | ||
env: | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
GH_REPO: ${{ github.repository }} | ||
run: | | ||
gh release create v${{ needs.extract-version.outputs.version }} ./artifacts/* --title "Release v${{ needs.extract-version.outputs.version }}" --draft --generate-notes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,32 +1,77 @@ | ||
# Desktop Manager | ||
|
||
Icon and description editor, profile creation tool for your desktop. (WIP) | ||
# Iconium | ||
|
||
## Screenshots | ||
<p align="center"> | ||
<a href="https://github.com/beyenilmez/iconium"> | ||
<img src="build/appicon.png" alt="Logo" width="80" height="80"> | ||
</a> | ||
<br/> | ||
<a style="font-size: 1.25rem" href="https://beyenilmez.github.io/iconium/" target="_blank">Website</a> | ||
|
||
![Main](./assets/screenshot-1.png) | ||
**Iconium** is a flexible tool for creating and managing icon packs. Iconium can apply icons to `.lnk`, `.url` and directories and extract them from files such as `.png`, `.jpg`, `.jpeg`, `.webp`, `.svg`, `.bmp`, `.ico`, `.exe`, `.lnk` and `.url` files. It also provides advanced features like file matching with environment variables or wildcards and customizing icon radius and opacity. | ||
|
||
## Features | ||
## Table of Contents | ||
- [Iconium](#iconium) | ||
- [Table of Contents](#table-of-contents) | ||
- [Screenshots](#screenshots) | ||
- [Features](#features) | ||
- [Planned Features](#planned-features) | ||
- [Installation](#installation) | ||
- [Translation](#translation) | ||
- [Technologies](#technologies) | ||
- [License](#license) | ||
|
||
- Create desktop profiles | ||
- Edit icon and description | ||
- Shortcut (.lnk) support | ||
## Screenshots | ||
![Screenshot 1](./assets/screenshot-1.png) | ||
![Screenshot 2](./assets/screenshot-2.png) | ||
![Screenshot 3](./assets/screenshot-3.png) | ||
|
||
## Planned | ||
## Features | ||
- Create, distribute and use icon packs | ||
- Edit icon radius and opacity | ||
- Match files by environment variables, wildcards, or destination paths | ||
- Supports `.lnk`, `.url`, and directories | ||
- Can extract icons from `.png`, `.jpg`, `.jpeg`, `.webp`, `.svg`, `.bmp`, `.ico`, `.exe`, `.lnk` and `.url` files | ||
- Highly customizable appearance | ||
- Automatic update | ||
- Color schemes and light/dark mode for each scheme | ||
|
||
- Save desktop layout to profile | ||
- Share profiles as files | ||
- Folder and .url support | ||
- Sync desktop with profile | ||
## Planned Features | ||
- Save desktop layouts to icon packs | ||
- Auto-apply scheduling for icon packs | ||
- Custom icon masks | ||
|
||
## Built With | ||
## Installation | ||
1. Install Wails: [Wails installation guide](https://wails.io/docs/gettingstarted/installation). | ||
|
||
2. Clone the repository: | ||
```bash | ||
git clone https://github.com/beyenilmez/iconium.git | ||
``` | ||
3. Navigate to the project directory: | ||
```bash | ||
cd iconium | ||
``` | ||
4. Run in dev mode: | ||
```bash | ||
wails dev | ||
``` | ||
or | ||
|
||
Build: | ||
```bash | ||
wails build | ||
``` | ||
## Translation | ||
1. Create a copy of `frontend/public/locales/en-US.json` file and rename it using your language code, which you can find [here](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oe376/6c085406-a698-4e12-9d4d-c3b0ee3dbc4a). | ||
2. Translate the file to your language. | ||
3. Update `frontend/src/locales.json` to include your language. | ||
|
||
- [Wails](https://wails.io/) | ||
- [React](https://react.dev/) | ||
- [tailwindcss](https://tailwindcss.com/) | ||
- [shadcn-ui](https://ui.shadcn.com/) | ||
- [lucide-react](https://lucide.dev/guide/packages/lucide-react) | ||
## Technologies | ||
- **Backend**: [Go](https://go.dev/), [Wails](https://wails.io/) | ||
- **Frontend**: [React](https://react.dev/), [TailwindCSS](https://tailwindcss.com/), [shadcnUI](https://ui.shadcn.com/) | ||
- **Icon Processing**: [ImageMagick](https://imagemagick.org/), [ExtractIcon](https://github.com/bertjohnson/ExtractIcon) | ||
- **Translation**: [i18next](https://react.i18next.com/) | ||
|
||
## License | ||
|
||
Distributed under the MIT License. See [LICENSE](https://github.com/beyenilmez/desktop-manager/blob/main/LICENSE) for more information. | ||
Distributed under the MIT License. See [LICENSE](https://github.com/beyenilmez/iconium/blob/main/LICENSE) for more information. |
Oops, something went wrong.