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

https://github.com/igapyon/remindy

A desktop reminder tool for Windows 11 that resides in the system tray, built with Java (AWT). It provides minute-by-minute notifications for upcoming events and random proverbs. Easily customizable with JSON files.
https://github.com/igapyon/remindy

java reminder windows-11

Last synced: 29 days ago
JSON representation

A desktop reminder tool for Windows 11 that resides in the system tray, built with Java (AWT). It provides minute-by-minute notifications for upcoming events and random proverbs. Easily customizable with JSON files.

Awesome Lists containing this project

README

          

# Remindy

Java (AWT) で動作するデスクトップ常駐型のリマインダーです。システムトレイに常駐し、1分ごとに処理を行いながら、必要なタイミングで通知します。

基本的に Windows 11 上で動作します。

## 主な機能

- **定期通知**: 10分刻み(00/10/20/30/40/50分)に現在のリマインド内容と格言をシステム通知します(予定より約10秒早く通知)。
- **時刻指定リマインド**: `reminders.json` に登録した予定の時刻と一致したときに通知します(予定の約10秒前)。
- **今後の予定の確認**: 次の予定までの残り時間を表示します。
- **格言表示**: `proverbs.json` に登録した格言をランダムに表示します。
- **Outlook 連携**: Outlook からエクスポートした CSV ファイルをリマインダー形式に変換するツール (`OutlookCsvToRemindersConv.java`) を同梱しています。

## 必要なもの

- Java 1.8 以降
- Maven (ビルドする場合)

## 使用方法

### 1. 設定

リソースファイルにリマインドしたい予定や格言を記述します。

- **リマインダー**: `src/main/resources/reminders.json`
- **格言**: `src/main/resources/proverbs.json`

#### `reminders.json`

時刻 (`HH:mm`) とメッセージのリストを記述します。

```json
[
{
"time": "09:00",
"message": "朝のミーティング"
},
{
"time": "12:30",
"message": "昼休み"
},
{
"time": "18:00",
"message": "業務終了"
}
]
```

#### `proverbs.json`

表示したい格言のリストを記述します。

```json
[
"時は金なり。",
"継続は力なり。",
"明日は明日の風が吹く。"
]
```

### 2. 実行

Maven を使用してプロジェクトを実行します。

```sh
# Maven で直接実行
mvn exec:java
```

または、実行可能な JAR ファイルをビルドして実行することもできます。

```sh
# ビルド
mvn package

# 実行
java -jar target/remindy-*-shaded.jar
```

## ビルド

ソースコードからビルドする場合は、以下のコマンドを実行します。

```sh
mvn package
```

## 追加ドキュメント

- 開発手順や依存関係、TODO などの補足資料は `docs/` ディレクトリにまとめています。
- `docs/DEVELOPING.md`: 開発時のセットアップや実行方法
- `docs/DEPENDENCIES.md`: 依存ライブラリの一覧
- `docs/TODO.md`: 今後のタスクメモ

## 補足機能(スリープ抑止の補助)

`Remindy` には通知機能に加えて、マウスカーソルをわずかに動かす処理(`PikoMouseCommand`)が含まれています。
この軽微な動作により、以下のような状況で画面のスリープやスクリーンセーバーの発動を間接的に抑止する効果があります:

- 資料閲覧やセミナー視聴中に画面が暗くなるのを防ぎたいとき
- **時間のかかる処理中**(例: 大規模な Maven ビルドや Windows Update)の間にシステムのスリープを避けたいとき

> 💡 本機能はシステム設定を変更するものではなく、一時的な補助的手段として提供されます。

## ライセンス

このプロジェクトは Apache License, Version 2.0 の下でライセンスされています。詳細については、プロジェクトルートにある `LICENSE` ファイルを参照してください。