「書き換え禁止モード色反転」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Bleat (トーク | 投稿記録)
初稿
 
MSY-07 (トーク | 投稿記録)
SyntaxHighlightにcopyの追加
 
(2人の利用者による、間の15版が非表示)
1行目: 1行目:
== 概要 ==
== 概要 ==
[https://www.haijin-boys.com/discussions/3503 フォーラム]の意見より作成。<br>
書き換え禁止ファイルに切り替えたとき、自動で色反転するマクロセットです。
書き換え禁止ファイルに切り替えたとき、自動で色反転するマクロセットです。<br>
 
タブ無効中やステータスバー非表示の状態でも、書禁モードが区別できます。
タブ無効中やステータスバー非表示の状態でも、書禁モードが区別できます。
[https://www.haijin-boys.com/discussions/3503 フォーラム]の要望を見て作成しました。


== ダウンロード ==
== ダウンロード ==
: [[:File:書き換え禁止モード色反転.zip]]
[[ファイル:書き換え禁止モード色反転.zip]]


'''内容'''
'''内容'''
* 書禁モード色反転.js : イベント実行用スクリプト
* 書き換え禁止モード色反転.js : イベント実行用スクリプト
* 書き換え禁止.js : ショートカット・ツールバー実行用スクリプト
* 書き換え禁止.js : ショートカット・ツールバー実行用スクリプト
* 書き換え禁止.ico :ツールバーアイコン
* 書き換え禁止a.ico :ツールバーアイコン
* MacroSettings
* 書き換え禁止b.ico :ツールバーアイコン(ダークモード用)
** 書禁モード反転.txt:設定ファイル


== 使用上の注意 ==
== 注意事項 ==
[[includeライブラリ]] を利用しています。このマクロの前に導入してください。
* 動作確認はMery Ver 3.1.0以降のアルファ版で行いました。
* イベント起動のスクリプト名が変わりました。
** 書禁モード色反転.js → 書き換え禁止モード色反転.js
* [[includeライブラリ]]が不要になりました。
** 前から使用している方は、MacroSettingsフォルダ内の設定ファイル(書禁モード反転.txt)を削除してください。そのままでも特に影響はありません。
* サポート対象外のQueryStatusByIDメソッドとExecuteCommandByIDメソッドを使用しています。
* ダークモード+ダークテーマに慣れている方は、反転色で目をやられる恐れがあります。


== 書き換え禁止モード色反転 ==
== 書き換え禁止モード色反転 ==
'''マクロ実行イベント専用'''
'''実行イベント専用マクロ'''
* フォーカスを受け取った時:タブ無効・複数ウィンドウ
* タブ無効モード(複数ウィンドウ)で使用:フォーカスを受け取った時
* アクティブな文書が変更された時:タブ有効
* タブ有効モードで使用:アクティブな文書が変更された時
(注)設定ファイルを移動させたい場合は、「設定ファイルのパス」を書き換えてください。


<source lang="javascript">
<syntaxhighlight lang="javascript" copy>
#title = "書き換え禁止モード色反転"
#title = "書き換え禁止モード色反転"
#tooltip = "書き込み禁止モードで色反転"
#include "include/MeryInfo.js"
#include "include/IO.js"


/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
  * アクティブなファイルが書禁状態だったら色反転するマクロ
  * アクティブなファイルが書禁状態だったら色反転するイベント実行マクロ
  * 実行イベント「フォーカスを受け取った時」「アクティブな文書が変更された時」専用
  * 実行イベント「フォーカスを受け取った時」または「アクティブな文書が変更された時」
  * ----------------------------------------------------------------------------- */
  * ----------------------------------------------------------------------------- */
const macroPath = MeryInfo.GetMacroFolderPath();
const file_FullName = macroPath + "\\MacroSettings\\書禁モード反転.txt";
const flag = IO.LoadFromFile( file_FullName , "utf-8"); // 読み込み


const on = "1";
const RO = editor.QueryStatusByID( MMEID_VIEW_INVERT_COLOR = 2145 ); // 色を反転チェック
const off = "0";


if ( flag == null){ // 初回(セーブファイル作成)
if (editor.ActiveDocument.ReadOnly && RO == 1) { // 書禁有効かつ色反転OFF
if (Editor.ActiveDocument.ReadOnly){ // 書禁
Status = " ReadOnly Mode";
editor.ExecuteCommandByID(2145); // 色を反転
editor.ExecuteCommandByID( MEID_VIEW_INVERT_COLOR = 2145 );
IO.SaveToFile( file_FullName , on , "utf-8"); // フラグを立てて保存
} else if (!editor.ActiveDocument.ReadOnly && RO == 3) { // 書禁無効かつ色反転ON
} else {
Status = " ReadOnly Mode";
IO.SaveToFile( file_FullName , off , "utf-8"); // フラグを折って保存
editor.ExecuteCommandByID( MEID_VIEW_INVERT_COLOR = 2145 );
}
} else {
if (Editor.ActiveDocument.ReadOnly && flag == off){ // 通常 → 書禁
editor.ExecuteCommandByID(2145); // 色を反転
IO.SaveToFile( file_FullName , on , "utf-8"); // フラグを立てて保存
}
if (!Editor.ActiveDocument.ReadOnly && flag == on){// 書禁 → 通常
editor.ExecuteCommandByID(2145); // 色を反転
IO.SaveToFile( file_FullName , off, "utf-8"); // フラグを折って保存
}
}
}
</source>
</syntaxhighlight>


== 書き換え禁止 ==
== 書き換え禁止 ==
トグル切り替えのタイミングで色反転をします。(注)読み取り専用の属性変更はしません。<br>
トグル切り替えのタイミングで色反転をします。
マクロ「書き換え禁止モード色反転」と同じ設定ファイルを参照しています。<br>
ショートカット設定例:Int
保存場所を移動させた場合は、ファイルパスを書き換えてください。<br>
 
ショートカット設定例:Int<br>
ZIPに同梱したアイコンは[https://icon-rainbow.com Icon-rainbow]の素材「鍵・錠の無料アイコン素材 1」をお借りしました。
同梱アイコンは[[https://icon-rainbow.com Icon-rainbow]]の素材「鍵・錠の無料アイコン素材 1」をお借りしました。


<source lang="javascript">
<syntaxhighlight lang="javascript" copy>
#title = "書き換え禁止"
#title = "書き換え禁止"
#icon = "書き換え禁止.ico"
#tooltip = "書禁+反転切り替え"
#tooltip = "書き換え禁止+色反転"
#icon = "書き換え禁止a.ico"
#include "include/MeryInfo.js"
#icondark = "書き換え禁止b.ico"
#include "include/IO.js"


const macroPath = MeryInfo.GetMacroFolderPath(); // Macrosフォルダのパス
editor.ExecuteCommandByID( MEID_VIEW_INVERT_COLOR = 2145 ); // 色反転実行
const file_FullName = macroPath + "\\MacroSettings\\書禁モード色反転.txt"; // 設定ファイルのパス


const flag = IO.LoadFromFile( file_FullName , "utf-8"); // 読み込み
if (!editor.ActiveDocument.ReadOnly){
 
document.ReadOnly = true; // 書き換え禁止ON
const on = "1";
Status = " ReadOnly Mode";
const off = "0";
} else {
 
if (!Editor.ActiveDocument.ReadOnly && flag == off || !Editor.ActiveDocument.ReadOnly && flag == on){
document.ReadOnly = true;
editor.ExecuteCommandByID(2145); // 色反転ON
IO.SaveToFile( file_FullName , on , "utf-8"); // フラグを立てて保存
} else if (Editor.ActiveDocument.ReadOnly && flag == off || Editor.ActiveDocument.ReadOnly && flag == on){
document.ReadOnly = false;
document.ReadOnly = false;
editor.ExecuteCommandByID(2145); // 色反転OFF
Status = "";
IO.SaveToFile( file_FullName , off, "utf-8"); // フラグを折って保存
}
}
</source>
</syntaxhighlight>
 
== 【おまけ】書き換え禁止ファイルを閉じる ==
特定キーの単打で書禁ファイルのタブ・ウィンドウを閉じるマクロです。<br>
割当キーごとにマクロスクリプトを登録する必要があります。
 
=== Enterで閉じる ===
ショートカット割当:Enter
<source lang="javascript">
#title = "書禁ファイルを閉じる(Enter)"
#tooltip = "書き込み禁止ファイルを閉じる"
 
if  (!Editor.ActiveDocument.ReadOnly){ // 通常モード
Document.Selection.NewLine(1);  // Enter(改行)
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
</source>
 
=== BackSpaceで閉じる ===
ショートカット割当:BackSpace
<source lang="javascript">
#title = "書禁ファイルを閉じる(BS)"
#tooltip = "書き込み禁止ファイルを閉じる"
 
if  (!Editor.ActiveDocument.ReadOnly){ // 通常モード
> // Document.Selection.DeleteLeft(1);  // Backspase
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
</source>
 
=== Qで閉じる ===
ショートカット割当:Q
<source lang="javascript">
#title = "書禁ファイルを閉じる(Q)"
#tooltip = "書き込み禁止ファイルを閉じる"
 
if  (!Editor.ActiveDocument.ReadOnly){ // 通常モード
Document.Selection.Text = "q";  // Q
Quit();
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
Editor.ActiveDocument.Close(); // ファイルを閉じる
}
</source>
 
=== Escで閉じる ===
ショートカット割当:Esc
<source lang="javascript">
#title = "書禁ファイルを閉じる(Esc)"
#tooltip = "書き込み禁止ファイルを閉じる"


if  (!Editor.ActiveDocument.ReadOnly){ // 通常モード
== 変更履歴 ==
const WshShell = new ActiveXObject( "WScript.Shell" );
* 1.0.2 (2021-04-17)
WshShell.SendKeys ( "{ESC}" ); // Escape
** Mery ver3.1以降用にスクリプト刷新
Quit();
** ダークモード用アイコン追加
} else if (Editor.ActiveDocument.ReadOnly){ // 書禁モード
** ファイルを閉じるおまけマクロ削除
Editor.ActiveDocument.Close(); // ファイルを閉じる
* 1.0.1 (2019-02-15)
}
** ソースコード微修正
</source>
* 1.0.0 (2018-11-14)
** 公開

2025年6月30日 (月) 00:22時点における最新版

概要[編集]

書き換え禁止ファイルに切り替えたとき、自動で色反転するマクロセットです。

タブ無効中やステータスバー非表示の状態でも、書禁モードが区別できます。

フォーラムの要望を見て作成しました。

ダウンロード[編集]

ファイル:書き換え禁止モード色反転.zip

内容

  • 書き換え禁止モード色反転.js : イベント実行用スクリプト
  • 書き換え禁止.js : ショートカット・ツールバー実行用スクリプト
  • 書き換え禁止a.ico :ツールバーアイコン
  • 書き換え禁止b.ico :ツールバーアイコン(ダークモード用)

注意事項[編集]

  • 動作確認はMery Ver 3.1.0以降のアルファ版で行いました。
  • イベント起動のスクリプト名が変わりました。
    • 書禁モード色反転.js → 書き換え禁止モード色反転.js
  • includeライブラリが不要になりました。
    • 前から使用している方は、MacroSettingsフォルダ内の設定ファイル(書禁モード反転.txt)を削除してください。そのままでも特に影響はありません。
  • サポート対象外のQueryStatusByIDメソッドとExecuteCommandByIDメソッドを使用しています。
  • ダークモード+ダークテーマに慣れている方は、反転色で目をやられる恐れがあります。

書き換え禁止モード色反転[編集]

実行イベント専用マクロ

  • タブ無効モード(複数ウィンドウ)で使用:フォーカスを受け取った時
  • タブ有効モードで使用:アクティブな文書が変更された時
#title = "書き換え禁止モード色反転"

/* -----------------------------------------------------------------------------
 * アクティブなファイルが書禁状態だったら色反転するイベント実行マクロ
 * 実行イベント「フォーカスを受け取った時」または「アクティブな文書が変更された時」
 * ----------------------------------------------------------------------------- */

const RO = editor.QueryStatusByID( MMEID_VIEW_INVERT_COLOR = 2145 );	// 色を反転チェック

if (editor.ActiveDocument.ReadOnly && RO == 1) {	 // 書禁有効かつ色反転OFF
	Status = " ReadOnly Mode";
	editor.ExecuteCommandByID( MEID_VIEW_INVERT_COLOR = 2145 );
} else if (!editor.ActiveDocument.ReadOnly && RO == 3) {	 // 書禁無効かつ色反転ON
	Status = " ReadOnly Mode";
	editor.ExecuteCommandByID( MEID_VIEW_INVERT_COLOR = 2145 );
}

書き換え禁止[編集]

トグル切り替えのタイミングで色反転をします。 ショートカット設定例:Int

ZIPに同梱したアイコンはIcon-rainbowの素材「鍵・錠の無料アイコン素材 1」をお借りしました。

#title = "書き換え禁止"
#tooltip = "書禁+反転切り替え"
#icon = "書き換え禁止a.ico"
#icondark = "書き換え禁止b.ico"

editor.ExecuteCommandByID( MEID_VIEW_INVERT_COLOR = 2145 ); // 色反転実行

if (!editor.ActiveDocument.ReadOnly){
	document.ReadOnly = true; // 書き換え禁止ON
	Status = "  ReadOnly Mode";
} else {
	document.ReadOnly = false;
	Status = "";
}

変更履歴[編集]

  • 1.0.2 (2021-04-17)
    • Mery ver3.1以降用にスクリプト刷新
    • ダークモード用アイコン追加
    • ファイルを閉じるおまけマクロ削除
  • 1.0.1 (2019-02-15)
    • ソースコード微修正
  • 1.0.0 (2018-11-14)
    • 公開
スポンサーリンク