Skip to content

cloudnative-co/gcal-group-switcher

Repository files navigation

Google Calendar Group Switcher

Googleカレンダーで複数人のカレンダー表示をグループ化して、ワンクリックで切り替えできるChrome拡張機能です。

概要

チームのアシスタントや日程調整を頻繁に行う方向けに開発された拡張機能です。異なるメンバーの組み合わせをグループとして保存し、必要に応じて素早く表示を切り替えることができます。

主な機能

  • 📋 カレンダーグループの作成・保存: 複数のカレンダーを1つのグループとして保存
  • 🔄 ワンクリック切り替え: 保存したグループをクリックするだけで表示切替
  • ✏️ グループの編集: 作成済みグループのメンバーやグループ名を後から編集可能
  • 🔀 ドラッグ&ドロップで並び替え: グループの順番を自由に変更
  • 📊 グループの展開表示: クリックでメンバー一覧を確認
  • 👤 自分のカレンダーのみ表示: ワンクリックで自分のカレンダーだけを表示
  • 🔍 オートコンプリート機能: メンバー入力時に既存のカレンダーから候補を表示

動作原理

この拡張機能は、Googleカレンダーのサイドバーに表示されているカレンダーのチェックボックスを自動的に操作することで、表示/非表示を切り替えます。そのため、事前にカレンダーがサイドバーに追加されている必要があります。

インストール方法およびアップデート方法

⚠️ 重要な注意事項:

  • 拡張機能を削除すると、保存済みのグループ設定も削除されます
  • 削除して再インストールする場合は、必ず事前に「設定をエクスポート」機能でバックアップを取ってください
  • 方法B(Git)を使用している場合は、アップデート時に拡張機能を削除する必要がないため、設定のバックアップは不要です

方法A: ZIP ファイルをダウンロード(非推奨)

非推奨の理由:

  • アップデート時に手動でファイルを上書きする必要があり、ミスが発生しやすい
  • フォルダの場所を覚えておく必要がある
  • 誤って重要なファイルを削除してしまう可能性がある
  • バージョン管理ができないため、問題が発生した際に前のバージョンに戻すことが困難

一般ユーザーの方でも、可能な限り方法B(Git)の使用を推奨します。

新規インストール

  1. 最新版をダウンロード

  2. ZIPファイルを解凍

    • ダウンロードしたZIPファイルを任意の場所に解凍
    • 解凍先のフォルダのパスを覚えておく
  3. Chromeで拡張機能管理ページを開く

    • Chrome のアドレスバーに chrome://extensions/ を入力
    • または、メニュー → その他のツール → 拡張機能
  4. 右上の「デベロッパーモード」をオンにする

  5. 「パッケージ化されていない拡張機能を読み込む」をクリック

  6. 解凍したフォルダを選択

アップデート

オプション1: 上書きアップデート(設定を保持・推奨)
  1. 現在の拡張機能フォルダを確認

    • chrome://extensions/ にアクセス
    • 「Google Calendar Group Switcher」の詳細をクリック
    • 「ソースのディレクトリ」のパスを確認
  2. 最新版をダウンロード

  3. ファイルを上書き

    • ダウンロードしたZIPファイルを解凍
    • 解凍したファイルを、手順1で確認したディレクトリに上書きコピー
  4. 拡張機能を更新

    • chrome://extensions/ で更新ボタン(🔄)をクリック
    • Googleカレンダーのページをリロード(F5)
オプション2: 削除して再インストール(設定のバックアップ・復元が必要)
  1. 現在のグループ設定をバックアップ

    • 拡張機能を開いて、ポップアップ下部の「設定をエクスポート」ボタンをクリック
    • 現在のすべてのグループ設定がJSONファイルとしてダウンロードされます
    • ファイル名: gcal-groups-backup-YYYY-MM-DD.json
  2. 既存の拡張機能を削除

    • chrome://extensions/ で「削除」をクリック
    • 注意: この時点で設定は削除されます
  3. 新しいバージョンをインストール

    • 上記の「新規インストール」の手順に従う
  4. グループ設定を復元

    • 拡張機能を開いて「設定をインポート」ボタンをクリック
    • 手順1でダウンロードしたJSONファイルを選択
    • 確認ダイアログで「OK」をクリックすると、設定が復元されます
    • 注意: インポートすると現在の設定は上書きされます

この方法は以下の場合に使用します:

  • 上書きアップデートで問題が発生した場合
  • 拡張機能を完全にリセットしたい場合
  • 複数のPCで同じグループ設定を使用したい場合

方法B: Git を使用(推奨)

推奨の理由:

  • git pullコマンドだけで簡単・安全にアップデートできる
  • 設定のバックアップ・復元が不要(拡張機能を削除せずにアップデートできるため)
  • ファイルの上書きミスや削除ミスが発生しない
  • 変更履歴が管理され、問題が発生した場合は前のバージョンに戻せる

GitがインストールされていないWindowsユーザーの方は、Git for Windowsをインストールしてください。 MacやLinuxをお使いの方は、通常既にGitがインストールされています。

新規インストール

  1. 任意のディレクトリに移動してリポジトリをクローン

    cd ~/Documents  # 例: ドキュメントフォルダに移動(任意の場所でOK)
    git clone https://github.com/cloudnative-co/gcal-group-switcher.git
    cd gcal-group-switcher
  2. Chromeで拡張機能管理ページを開く

    • Chrome のアドレスバーに chrome://extensions/ を入力
    • または、メニュー → その他のツール → 拡張機能
  3. 右上の「デベロッパーモード」をオンにする

  4. 「パッケージ化されていない拡張機能を読み込む」をクリック

  5. クローンしたフォルダを選択

アップデート(設定を保持)

Git でインストールした場合は、以下の手順で簡単にアップデートできます。

  1. リポジトリディレクトリに移動

    cd gcal-group-switcher
  2. 最新版を取得

    git pull origin main
  3. 拡張機能を更新

    • chrome://extensions/ にアクセス
    • 更新ボタン(🔄)をクリック
    • Googleカレンダーのページをリロード(F5)

使い方

前提条件

この拡張機能を使用するには、切り替えたいカレンダーが事前にGoogleカレンダーのサイドバーに追加されている必要があります。

カレンダーの追加方法

  1. Googleカレンダーの左サイドバーで「他のカレンダー」の横にある「+」をクリック
  2. 「カレンダーに登録」を選択
  3. 追加したい人のメールアドレスを入力
  4. カレンダーがサイドバーの「他のカレンダー」セクションに表示されることを確認

重要: 拡張機能は、サイドバーに表示されているカレンダーのチェックボックスを制御します。表示されていないカレンダーは操作できません。

基本的な使い方

  1. Googleカレンダーを開く

  2. 拡張機能を起動

    • ブラウザのツールバーにある拡張機能アイコンをクリック
    • ポップアップが表示される
  3. 新規グループを作成

    • グループ名を入力(例:「営業チーム会議」)
    • メンバーのカレンダー名を1行に1人ずつ入力
    • 入力中にオートコンプリートで候補が表示される
    • 「グループ作成」ボタンをクリック
  4. グループを適用

    • 保存済みグループの「適用」ボタンをクリック
    • 自動的に指定したメンバーのカレンダーのみが表示される

高度な機能

グループの編集

  • 各グループの「編集」ボタンをクリック
  • グループ名やメンバーを変更
  • 「グループ更新」ボタンで保存

グループの並び替え

  • グループ左端のドットアイコンをドラッグ&ドロップ
  • よく使うグループを上に配置

メンバーの確認

  • グループ名をクリックすると展開
  • 全メンバーのリストが表示される

自分のカレンダーのみ表示

  • 上部の「自分のカレンダーのみ表示」ボタンをクリック
  • 他のカレンダーが非表示になり、自分のカレンダーだけが表示される

オートコンプリート機能

メンバー入力時に文字を入力すると、マイカレンダーおよび他のカレンダーに追加済みのカレンダーから候補が表示されます。

  • ↑↓ キーで候補を選択
  • Enter キーで確定
  • Esc キーで候補リストを閉じる

トラブルシューティング

カレンダーが切り替わらない場合

  1. Googleカレンダーのページをリロード(Ctrl+F5 または Cmd+Shift+R)
  2. 拡張機能を再読み込み
    • chrome://extensions/ で拡張機能の更新ボタン(🔄)をクリック

ポップアップが開かない場合

まれにポップアップが開かないことがあります。以下の方法で解決できます:

  1. ブラウザの再起動

    • Chromeを完全に終了して再起動
  2. 拡張機能の再読み込み

    • chrome://extensions/ で更新ボタン(🔄)をクリック
  3. キャッシュのクリア

    • Chromeの設定 → プライバシーとセキュリティ → 閲覧履歴データの削除

これはChrome拡張機能の既知の問題で、メモリリークやタブとの通信エラーが原因です。

デバッグ情報の確認

拡張機能のポップアップ下部にある「デバッグ情報を表示」ボタンで、現在のカレンダー構造を確認できます。

ファイル構成

gcal-group-switcher/
├── manifest.json        # 拡張機能の設定ファイル
├── background.js        # バックグラウンドサービスワーカー
├── popup.html          # ポップアップのHTML
├── popup.js            # ポップアップの動作ロジック
├── popup.css           # ポップアップのスタイル
├── content.js          # Googleカレンダーページで動作するスクリプト
├── content.css         # コンテンツスクリプト用のスタイル
├── icon.svg            # アイコン(SVG版)
├── icon16.png          # アイコン(16×16)
├── icon48.png          # アイコン(48×48)
├── icon128.png         # アイコン(128×128)
└── README.md           # このファイル

開発者向け情報

必要な権限

  • storage: グループデータの保存
  • activeTab: アクティブなタブへのアクセス
  • scripting: スクリプトの実行
  • tabs: タブ情報へのアクセス
  • host_permissions: calendar.google.com へのアクセス

技術スタック

  • Manifest V3
  • Chrome Extension APIs
  • Vanilla JavaScript
  • CSS3

カスタマイズ

content.js のセレクタを変更することで、Googleカレンダーの構造変更に対応できます。

貢献

バグ報告や機能リクエストは Issues までお願いします。

プルリクエストも歓迎します!

ライセンス

MIT License

作者

Cloud Native Inc. | okash1n


注意: この拡張機能は非公式のツールです。Google カレンダーの仕様変更により動作しなくなる可能性があります。

About

Googleカレンダーで複数人のカレンダー表示をグループ化して、ワンクリックで切り替えできるChrome拡張機能です。

Resources

License

Stars

3 stars

Watchers

0 watching

Forks

Contributors