Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/avestura/EyesGuard

πŸ‘€ Windows Application for protecting your eyes
https://github.com/avestura/EyesGuard

break csharp eye-care eye-protection eyes eyes-guard eyesight fsharp health healthcare protection utilities utility-application uwp wpf

Last synced: 5 days ago
JSON representation

πŸ‘€ Windows Application for protecting your eyes

Awesome Lists containing this project

README

        

# Eyes Guard

[![BuitlWithDot.Net shield](https://builtwithdot.net/project/41/eyes-guard/badge)](https://builtwithdot.net/project/41/eyes-guard)
![platform](https://img.shields.io/badge/platform-UWP%20%7C%20Win32-blue)
[![Build status](https://github.com/avestura/EyesGuard/actions/workflows/ci.yml/badge.svg)](https://github.com/avestura/EyesGuard/actions/workflows/ci.yml)
[![Build status](https://github.com/avestura/EyesGuard/actions/workflows/cd.yml/badge.svg)](https://github.com/avestura/EyesGuard/actions/workflows/cd.yml)


## What is Eyes Guard?
Eyes Guard is a Windows Application for protecting your eyes. It will help you (also can force you!) to break if you are working with your PC for a long time using configurable times.

## Download

### Windows 10/11 (Official with latest features)

> [!NOTE]
> EyesGuard will no longer distribute its packages via Microsoft Store. You need to install the
> package manually using the instruction below:

#### πŸ“¦ Method 1: Use the setup (recommended):

1. [🟩 Download the latest setup form the Releases section](https://github.com/avestura/EyesGuard/releases).
- For x64 systems: `EyesGuard-Setup-VERSION-x64.exe`
- For x86 systems: `EyesGuard-Setup-VERSION-x86.exe`
2. Run the setup and install EyesGuard.

#### πŸͺŸ Method 2: Use Windows Store Package (needs Developer mode to be enabled):

1. Enable Developer Mode from `Settings > System > For Developers`
2. [🟩 Download the latest package form the Releases section](https://github.com/avestura/EyesGuard/releases).
- For x64 systems: `EyesGuard.release.x64.zip`
- For x86 systems: `EyesGuard.release.x86.zip`
3. Unzip the package.
4. Find the certificate file with `.cer` extension and open it.
5. Click `Install Certificate` > `Local Machine` > `Place certificate in following store` > pick `Trusted People`
6. Open the installation package with `.appx` extension and install Eyes Guard.

### Windows 7 (Unofficial Fork, not latest)

[Download from ExplorerOL's GitHub](https://github.com/ExplorerOL/AryanSoftware_EyesGuard/releases/tag/AryanSoftware_EyesGuard_Release_2020_01_14)

## Any Screenshots?

#### Control Panel
![Eyes Guard](Screenshots/Store/main.JPG)
#### Settings
![Eyes Guard Settings](Screenshots/Store/Settings.PNG)
#### Notify Icon
![Eyes Guard NotifyIcon](Screenshots/Store/ContextMenu.png)

---

## What features does it have?

| Feature | Implementation State | Is live on store version? |
|--------------------------|----------------------|---------------------------|
| Short Break | βœ” Implemented | βœ” Yes |
| Long Break | βœ” Implemented | βœ” Yes |
| Timing Customization | βœ” Implemented | βœ” Yes |
| Stas | βœ” Implemented | βœ” Yes |
| Pause or Stop protection | βœ” Implemented | βœ” Yes |
| Windows Tray Integration | βœ” Implemented | βœ” Yes |
| Auto Start | βœ” Implemented | βœ” Yes |
| Customize messages | βœ” Implemented | βœ” Yes |
| Multi-language | βœ” Implemented | βœ” Yes |

## How can I help?

Eyes Guard is a free and open-source app. If you like it, please consider:

- ⭐ Star this project in GitHub
- [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/P5P011XLE)
- πŸ‘©β€πŸ’» Contribute to Software Development of Eyes Guard
- ✏ Translate app to your language using guide below

## Supported Languages

| |Language|Locale|Translator|
|-|--------|------|----------|
|[![us][us]](#)|English|en-US|[Aryan Ebrahimpour](https://avestura.dev), [Gianpaolo Filippa](https://github.com/gianpaolof), [Akash Joshi](https://akashj.com)|
|[![ir][ir]](#)|Persian|fa-IR|[Aryan Ebrahimpour](https://avestura.dev)|
|[![it][it]](#)|Italian|it-IT|[Gianpaolo Filippa](https://github.com/gianpaolof)|
|[![fr][fr]](#)|French|fr-FR|[Bouillon Pierre](https://pbouillon.github.io)|
|[![ru][ru]](#)|Russian|ru-RU|[Dmitry Vorobjev](https://github.com/ExplorerOL)|
|[![no][no]](#)|Norwegian|nb-NO|[Thomas Rory Gummerson](https://trgwii.no/)|
|[![in][in]](#)|Tamil|ta-IN|[Muthu Kumar](https://mkr.pw)|
|[![ko][ko]](#)|Korean|ko-KR|[Sung Jae Cho](https://rubycho.github.io)|
|[![ch][ch]](#)|Chinese |zh-CN|[Qixiny](https://github.com/qixinynan)|
|[![tr][tr]](#)|Turkish |tr-TR|[Furkan KARADENΔ°Z](https://github.com/Suqbs)|
|[![de][de]](#)|German |de-DE|[Marco Heinisch](https://github.com/marcoheinisch)|
|[![po][po]](#)|Polish |po-PO|[Bartlomiej Szmolke](https://github.com/BSzmolke)|
|[![ua][ua]](#)|Ukrainian |uk-UA|[Yaroslav Shaposhnyk](https://github.com/masterillaGitHub)|
|[![add][add]](#how-to-contribute-to-translating-app)|[Add Language](#how-to-contribute-to-translating-app)||You|

[us]: https://img.icons8.com/color/48/000000/usa.png
[ir]: ./assets/flags/iran.png
[it]: https://img.icons8.com/color/48/000000/italy.png
[fr]: https://img.icons8.com/color/48/000000/france.png
[ru]: https://img.icons8.com/color/48/000000/russian-federation.png
[no]: https://img.icons8.com/color/48/000000/norway.png
[in]: https://img.icons8.com/color/48/000000/india.png
[ko]: https://img.icons8.com/color/48/000000/south-korea.png
[ch]: https://img.icons8.com/color/48/000000/china.png
[tr]: https://img.icons8.com/color/48/000000/turkey.png
[de]: https://img.icons8.com/color/48/000000/germany.png
[po]: https://img.icons8.com/color/48/000000/poland.png
[ua]: https://img.icons8.com/color/48/000000/ukraine.png
[add]: https://img.icons8.com/doodle/48/000000/add.png

## Can I contribute?

PRs are very welcome!

You can contribute to software development and/or create translations for the app.

### How to contribute to translating app

#### Method 1 : using GitHub


Adding a new Language:

1. Go to [Languages](https://github.com/avestura/EyesGuard/tree/master/Source/EyesGuard.Data/Languages) folder and create a new yaml file with name `{StandardCountryCode}.yml` like `en-US.yml` or `fa-IR.yml`. Here is a [List of country codes](CountryCodes.md) you can pick.
2. Copy the content of `en-US.yml` to the new created file.
3. In the meta part of yaml edit the `Translators` array. Remove the existing translators in the copied file and just put information of yourself.
4. Translate the `Translation` section of file and make a PR!

Modifying a translation file:

1. Go to [Languages](https://github.com/avestura/EyesGuard/tree/master/Source/EyesGuard.Data/Languages) and find the language you want to edit using its standard locale.
2. In the meta part of yaml and in the `Translators` array, add yourself as a new translator without removing others from the list.
3. Make your changes in the `Translation` section and make a PR!

#### Method 2 : using Email



Use the links mentioned in above method, modify/add translation file, then email it to me: [email protected]

### πŸ“œ RTL Languages

For right-to-left languages like Persian, Arabic, etc. It is not needed to explicitly state language layout in the meta section. Simply use a standard country code, and the app automatically detects if it has right-to-left direction or not and changes the design of elements in app.

## πŸ“ Solution Structure

| Project Name | Language | Description |
|----------------|----------|----------------------------------------------|
| EyesGuard | C# | Main Application (at the time of starting project I didn't know F# to write the app entirely in F#)|
| EyesGuard.Data | F# | Type Provider and Data Access / Translations |
| StorePackage | | Used to publish WPF app into Store |

## πŸ”¨ Build

You need [Paket Package manager for .NET](https://fsprojects.github.io/Paket) to restore the packages.

```powershell
git clone https://github.com/avestura/EyesGuard
cd .\EyesGuard
paket install
cd .\Source\EyesGuard
dotnet run
```