見出し画像

Obsidianプラグイン「Mouse Gestures」をリリースしました


Obsidianに新たな操作性をもたらす「Mouse Gestures」プラグインの開発を紹介します。このプラグインはマウスジェスチャーを活用して効率的に操作できるよう設計されており、さまざまな機能を備えています。

本記事では、プラグインの機能、設定、実装方法、導入方法、使用方法について解説します。


プラグインの特徴

「Mouse Gestures」は、マウスの動きを検出し、直感的な操作を可能にするプラグインです。以下のような操作が可能です。

  • スクロールトップ(上方向ジェスチャー)

  • 履歴戻る・進む(左右方向ジェスチャー)

  • タブを閉じる・復元(複数方向ジェスチャー:例 U-R)

  • Obsidianのリロード(U-Dジェスチャー)

さらに、画面上にジェスチャーの線を描画することで、視覚的フィードバックを提供します。

以下から実演しているのが見れます。

https://x.com/Mekann2904/status/1880588630974181567


主な設定項目

「Mouse Gestures」では、豊富な設定オプションが用意されています。設定はObsidianの「設定」から行えます。

描画設定

  • 描画の有効化:ジェスチャーの描画を有効/無効にする。

  • ストロークの色:描画される線の色をRGBで設定可能。

  • 線の太さ:描画される線の太さをカスタマイズ。

ジェスチャー感度

  • 感度調整:マウスジェスチャーの動きを認識する距離を調整可能。

ナビゲーション設定

  • 各ジェスチャー機能(スクロール、履歴戻る、タブ操作など)を有効/無効に設定。

その他

  • デバッグモード:動作ログをコンソールに出力し、デバッグをサポート。

  • 閉じたタブの履歴保持数:復元可能なタブ数を制限。


実装ポイント

以下は、プラグインの主要な実装部分についての解説です。

1. マウスジェスチャーの検出

onMouseDown, onMouseMove, onMouseUpのイベントを利用して、ジェスチャーの軌跡を記録します。
マウスの動きを解析し、ジェスチャー方向を特定するアルゴリズムを組み込んでいます。

2. ジェスチャーの解析

ジェスチャーの軌跡から、「上」「下」「左」「右」の動きを抽出し、複数方向のジェスチャー(例:U-R)を認識します。

3. ジェスチャーの実行

認識されたジェスチャーに基づき、次のような操作を実行します。

  • ページのトップにスクロール

  • 履歴操作

  • タブの復元や閉じる

  • Obsidianのリロード

4. 設定タブの実装

PluginSettingTabを拡張し、ユーザーが簡単に設定を調整できるUIを提供しています。


コードの一部抜粋

以下は、ジェスチャーの軌跡を解析する関数の一例です。

private analyzePath(points: { x: number; y: number }[]): ("up" | "down" | "left" | "right")[] {
	const result: ("up" | "down" | "left" | "right")[] = [];
	if (points.length < 2) return result;

	for (let i = 0; i < points.length - 1; i++) {
		const p1 = points[i];
		const p2 = points[i + 1];

		const dx = p2.x - p1.x;
		const dy = p2.y - p1.y;
		const angle = Math.atan2(dy, dx);
		const deg = (angle * 180) / Math.PI;

		let dir: "up" | "down" | "left" | "right";
		if (deg >= -45 && deg < 45) {
			dir = "right";
		} else if (deg >= 45 && deg < 135) {
			dir = "down";
		} else if (deg >= -135 && deg < -45) {
			dir = "up";
		} else {
			dir = "left";
		}
		result.push(dir);
	}

	// 方向の連続を簡略化
	return result.filter((dir, index, arr) => dir !== arr[index - 1]);
}

導入方法 / Installation Guide

  1. 日本語

    • リリースページから obsidian-mouse-gestures-plugin.zip をダウンロードしてください。

    • ダウンロードしたファイルを解凍し、Vault/.obsidian/plugins ディレクトリに移動します。

    • Obsidian を開き、設定画面からプラグインを有効化してください。

  2. English

    • Download the obsidian-mouse-gestures-plugin.zip file from the release page.

    • Extract the file and move it to the Vault/.obsidian/plugins directory.

    • Open Obsidian, go to the settings, and enable the plugin.


使用方法 / How to Use

  1. 日本語

    • Cmd (または Ctrl) キーを押しながら右クリック でジェスチャーを開始します。

    • 設定画面で利用可能なジェスチャーやカスタマイズ設定を確認できます。

  2. English

    • Start gestures by holding down the Cmd (or Ctrl) key and right-clicking.

    • You can view available gestures and customize settings in the plugin's settings page.


おわりに

「Mouse Gestures」は、Obsidianを使ったノート作成をより効率化する可能性を秘めています。直感的な操作を提供しつつ、自由度の高いカスタマイズが可能です。ぜひ導入して、その利便性を体感してみてください!

このプロジェクトに興味を持った方はいいねを押して貰えると励みになります!


いいなと思ったら応援しよう!