このプロジェクトについて

Deep Diveは、GTK4とLibadwaitaを使用してGNOMEデスクトップ環境向けにネイティブに構築された、集中力向上のための生産性アプリケーションです。標準のポモドーロタイマーを超え、不正行為を防ぎ真の深い作業を強制するように設計された厳格なメカニズムを導入しています。 ## Deep Diveを選ぶ理由 ほとんどのポモドーロタイマーは単なるカウントダウンです。Deep Diveは「Submerge」生産性哲学を念頭に設計されており、集中時間を自分自身でごまかすことを防ぎます。 - **Submergeディシプリン**: 究極の「コミットか辞めるか」設定です。有効にすると、セッションを一時停止またはスキップできません。25分間を完了するか、「Give Up」を押してセッション全体を完全に破棄するかのどちらかです。 - **シームレスな邪魔ブロック**: Deep Diveは、ポモドーロが開始すると同時に気を散らすウェブサイトへのアクセスを自動的に制限し、休憩時に即座にブロックを解除できます。 - **深いGNOME統合**: Deep DiveはLinux上で自然に動作します。集中時にデスクトップを自動的に「Do Not Disturb」モードにし、休憩時に全画面のブレークオーバーレイを作成して、物理的に画面から離れることを強制します。 ## コア機能 - **Submergeモード**: スキップと一時停止が無効化された厳格な深海テーマのカスタムモードで、中断のない集中を保証します。 - **ブレークオーバーレイ**: 休憩が始まると、全画面オーバーレイが作業を強制的に停止させます。マルチモニター設定を完璧にサポートし、やる気を高める名言を表示します。 - **コンパクトなミニプレイヤー**: ウィンドウを洗練されたフローティングミニプレイヤーに最小化でき、作業中にライト/ダークシステムテーマに動的に適応します。 - **プロジェクト追跡**: 専用のPreferencesタブから異なるプロジェクトを管理し、ローカルのSQLiteデータベースに基づいて、各プロジェクトの集中時間を自動的に記録します。 - **Do Not Disturb同期**: 集中セッション中にシステム通知を自動的にミュートし、休憩中に復元します。 ## インストール Deep DiveはFlathubを通じて公式に配布されており、あらゆるLinuxディストリビューションに簡単にインストールできます。 ```bash flatpak install flathub io.github.tanaybhomia.DeepDive ``` ## 貢献と開発 Deep Diveに貢献したい場合や独自バージョンを構築したい場合は、ローカル開発をスムーズにするためのスクリプトを用意しています。 ### ローカルテスト Pythonコードの変更をテストするだけであれば、アプリをインストールしたりMesonでコンパイルしたりする必要はありません。プロジェクトルートで次のコマンドを実行して、ソースコードからアプリを即座に起動します: ```bash ./run.sh ``` ### 開発環境のセットアップ 日常業務で公式のFlathubリリースを使用しつつ、テスト用にアプリランチャーに別の開発版Deep Diveも用意したい場合は、次を実行します: ```bash ./install-dev.sh ``` このスクリプトは、GNOMEアプリグリッドに別の「Deep Dive (Development)」エントリを作成します。カスタム開発アイコンを使用し、テストデータベースを完全に分離されたフォルダに保存するため、公式Flatpakデータは安全に保たれます。IDEで行ったコード変更は、次にDevelopmentアプリアイコンをクリックしたときに即座に反映されます。 ## アーキテクチャ Deep DiveはGNOMEヒューマンインターフェースガイドライン(HIG)に完璧に従っています。ネイティブのLibadwaitaウィジェット、Adwaita設定ウィンドウを利用し、Polkitを活用してパスワードなしの安全な`/etc/hosts`操作を実現しています。 ## ライセンス Deep Diveはフリーかつオープンソースソフトウェアであり、**GNU General Public License v3.0**(GPL-3.0)の下でライセンスされています。詳細は[LICENSE](LICENSE)ファイルを参照してください。 ## スターゲイザー リポジトリにスターを付け、プロジェクトを支援してくださったすべての方に感謝します! ## サポート Deep Diveが役立つと感じ、その開発を支援したい場合は、コーヒーを購入して支援できます。