「
MeryToys
」を編集中
2026年3月22日 (日) 13:07時点における
Haijinboys
(
トーク
|
投稿記録
)
による版
(
→
ソースコード (MeryToys.js)
)
(
差分
)
← 古い版
|
最新版
(
差分
) |
新しい版 →
(
差分
)
ナビゲーションに移動
検索に移動
警告: このページの古い版を編集しています。
公開すると、この版以降になされた変更がすべて失われます。
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、さまざまなメリットもあります。
スパム攻撃防止用のチェックです。 決して、ここには、値の入力は
しない
でください!
__NOTOC__ == 概要 == Mery の隠しオプションを簡単に設定できるマクロです。 == 注意事項 == * Mery Ver 3.7.17 以降で動作します。 * 一部の設定は、Mery の再起動が必要です。 == 使い方 == # マクロを実行します。 # ポップアップ メニューが表示されるので、設定したい項目を選択します。 # 値を切り替えるか、必要に応じて入力します。 # 設定内容によっては、Mery を再起動する必要があります。設定が反映されていない場合は、Mery を再起動してみてください。 == ソースコード (MeryToys.js) == <syntaxhighlight lang="javascript" copy> #title = "MeryToys" var options = [ { name: "基本", items: [ { name: "折り返しモードを同期する", section: "General", ident: "SyncWrap", default: 0, description: "0: なし, 1: 同期, 2: すべて", }, { name: "システム ダーク モードを使用する", section: "General", ident: "UseSysDarkMode", default: true, }, { name: "行番号の増分", section: "General", ident: "LineNumbersCountBy", default: 10, }, { name: "従来のルーラーを使用する", section: "General", ident: "UseClassicRuler", default: true, }, { name: "対応する括弧", section: "General", ident: "BracketPairs", default: "", }, { name: "自動的に囲む括弧/引用符", section: "General", ident: "SurroundingPairs", default: "", }, { name: "IME 候補ウィンドウの位置を後ろにする", section: "General", ident: "ImeCandidatePos", default: false, }, { name: "IME 入力モード ウィンドウの位置を修正する", section: "General", ident: "ImeCandidateFix", default: false, }, { name: "Alt + Tab キーの動作を改善", section: "General", ident: "AltTabFix", default: false, }, { name: "Ctrl + ホイールでフォント サイズを変更", section: "General", ident: "WheelFont", default: true, }, { name: "文字単位で元に戻す", section: "General", ident: "UndoCharByChar", default: false, }, { name: "ファイルから検索のスレッド数", section: "General", ident: "MaxThreads", default: 4, }, ] }, { name: "ファイル", items: [ { name: "無題のタブの名前", section: "General", ident: "Untitled", default: "", }, { name: "無題の文書に連番を付ける", section: "General", ident: "UntitledSeqNum", default: true, }, { name: "初期フォルダー", section: "File", ident: "InitialFolder", default: "", }, { name: "ファイル監視を使用する", section: "File", ident: "UseFileWatcher", default: false, }, { name: "ファイル名をフルパスで表示", section: "File", ident: "ShowFullPath", default: true, }, { name: "非アクティブ時フルパスにしない", section: "File", ident: "NoFullPathIfNotActive", default: true, }, ] }, { name: "タブ/インデント", items: [ { name: "従来のタブ幅を使用する", section: "General", ident: "UseLegacyTabWidth", default: false, }, ] }, { name: "検索", items: [ { name: "厳密な検索", section: "Search", ident: "FindStrict", default: true, }, { name: "厳密な置換", section: "Search", ident: "ReplaceStrict", default: true, }, ] }, { name: "表示", items: [ { name: "Zen モード", items: [ { name: "行番号を非表示", section: "View", ident: "HideLineNumbers", default: true, }, { name: "ルーラーを非表示", section: "View", ident: "HideRuler", default: true, }, { name: "記号を非表示", section: "View", ident: "HideMarks", default: true, }, { name: "文字数を非表示", section: "View", ident: "HideWordCount", default: true, }, ] }, { name: "-" }, { name: "文字最小幅", section: "Display", ident: "CharacterMinWidth", default: 0, description: "px", }, { name: "DirectWrite の文字幅を GDI 互換にする", section: "Display", ident: "GdiCompatible", default: false, }, { name: "正規表現モード", section: "Display", ident: "RegExMode", default: 0, description: "0: 従来, 1: 柔軟, 2: 厳密", }, { name: "上マージン", section: "Display", ident: "TopMargin", default: 0, description: "px", }, { name: "左マージン", section: "Display", ident: "LeftMargin", default: 0, description: "px", }, { name: "右マージン", section: "Display", ident: "RightMargin", default: 3, description: "文字", }, { name: "カーソル幅", section: "Display", ident: "CaretWidth", default: 0, description: "px", }, { name: "カーソル高", section: "Display", ident: "CaretHeight", default: 0, description: "px", }, { name: "カーソル幅 (IME 有効)", section: "Display", ident: "ImeCaretWidth", default: 0, description: "px", }, { name: "カーソル高 (IME 有効)", section: "Display", ident: "ImeCaretHeight", default: 0, description: "px", }, { name: "テキスト カーソル インジケーターを有効にする", section: "Display", ident: "CursorIndicator", default: false, }, ] }, { name: "マクロ", items: [ { name: "QuickJS を使用する", section: "Macros", ident: "UseQuickJS", default: false, }, ] }, { name: "スクロール", items: [ { name: "システム スクロール バーを使用する", section: "Scroll", ident: "UseSystemScrollBar", default: false, }, { name: "タイプライター スクロール オフセット", section: "Scroll", ident: "TypewriterScrollOffset", default: 0, description: "行", }, ] }, { name: "ウィンドウ", items: [ { name: "ダイアログ", items: [ { name: "フォント名", section: "MainForm", ident: "FontName", default: "", }, { name: "フォント サイズ", section: "MainForm", ident: "FontSize", default: 8, description: "pt", }, ] }, { name: "アウトプット バー", items: [ { name: "フォント名", section: "ChildForm", ident: "OutputBarFontName", default: "", }, { name: "フォント サイズ", section: "ChildForm", ident: "OutputBarFontSize", default: 8, description: "pt", }, ] }, { name: "-" }, { name: "スクリーンの縁にスナップ", section: "ChildForm", ident: "ScreenSnap", default: false, }, { name: "スクリーンスナップの距離", section: "ChildForm", ident: "SnapBuffer", default: 8, description: "px", }, ] }, { name: "スペル チェック", items: [ { name: "大文字小文字を区別しない", section: "File", ident: "IgnoreUpperCase", default: true, }, ] }, { name: "自動保存", items: [ { name: "遅延", section: "AutoSave", ident: "AutoSaveDelay", default: 1000, description: "ms", }, { name: "保存しないで終了する場合、最後に自動保存されたバージョンを残す", section: "AutoSave", ident: "AutoSaveKeepUnsavedChanges", default: true, }, ] }, { name: "バックアップ", items: [ { name: "最大数", section: "Backup", ident: "BackupMaxCount", default: 0, }, ] }, { name: "履歴", items: [ { name: "クリップボード履歴の遅延", section: "History", ident: "ClipbrdDelay", default: 200, description: "ms", }, { name: "クリップボード履歴の最大文字数", section: "History", ident: "ClipbrdMaxLength", default: 0, }, ] }, { name: "アウトライン", items: [ { name: "フォント名", section: "Outline", ident: "FontName", default: "", }, { name: "フォント サイズ", section: "Outline", ident: "FontSize", default: 8, description: "pt", }, { name: "文字色", section: "Outline", ident: "ForeColor", default: "", description: "#RGB, #RRGGBB", }, { name: "背景色", section: "Outline", ident: "BackColor", default: "", description: "#RGB, #RRGGBB", }, ] }, ]; var commandId = 1; var commandMap = {}; function addMenuItems(items, parentMenu) { for (var i = 0; i < items.length; i++) { var item = items[i]; if (item.items && item.items.length > 0) { var subMenu = CreatePopupMenu(); addMenuItems(item.items, subMenu); parentMenu.AddPopup(item.name, subMenu); } else if (item.name === "-") { parentMenu.Add("", 0, meMenuSeparator); } else { var d = item.default; switch (typeof d) { case "boolean": d = Boolean(editor.ReadSettingInteger(item.section, item.ident, Number(d))); break; case "number": d = editor.ReadSettingInteger(item.section, item.ident, d); break; case "string": d = editor.ReadSettingString(item.section, item.ident, d); break; default: value = undefined; break; } parentMenu.Add(item.name + ": " + d, commandId); commandMap[commandId] = { section: item.section, ident: item.ident, value: d, name: item.name, description: item.description }; commandId++; } } } var menu = CreatePopupMenu(); for (var i = 0; i < options.length; i++) { var option = options[i]; var subMenu = CreatePopupMenu(); addMenuItems(option.items, subMenu); menu.AddPopup(option.name, subMenu); } var result = menu.Track(mePosMouse); if (result !== 0) { var d = commandMap[result]; switch (typeof d.value) { case "boolean": editor.WriteSettings(); editor.WriteSettingInteger(d.section, d.ident, Number(!d.value)); editor.ReadSettings(); break; case "number": var s = prompt(d.name + (d.description ? " (" + d.description + "):" : ":"), d.value); if (s !== null) { s ? (!isNaN(s) && (editor.WriteSettings(), editor.WriteSettingInteger(d.section, d.ident, Number(s)), editor.ReadSettings())) : editor.DeleteSetting(d.section, d.ident); } break; case "string": var s = prompt(d.name + (d.description ? " (" + d.description + "):" : ":"), d.value); if (s !== null) { s ? (editor.WriteSettings(), editor.WriteSettingString(d.section, d.ident, s), editor.ReadSettings()) : editor.DeleteSetting(d.section, d.ident); } break; default: break; } } </syntaxhighlight> == ToDo == * 各オプションの説明 (うーん、できれば避けたいお仕事) * Mery の再起動が必要なときに、それっぽく教えてくれるやつ? * Mery のバージョンチェック (正直やりたくないし、どのバージョンで作ったかも忘れた) == スペシャルサンクス == 本マクロの制作にあたり、開発者さえ忘れていた隠しオプションについては、MSY-07 さんが作成された「[[隠しオプション一覧]]」を参考にさせていただきました。MSY-07 さんの詳細な記事に深く感謝しつつ、このマクロをお届けします。
編集内容の要約:
MeryWikiへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
MeryWiki:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
このページを編集するには、下記の数式を計算してその答えを欄に入力してください (
ヘルプ
):
いちたすには =
キャンセル
編集ヘルプ
(新しいウィンドウで開きます)
スポンサーリンク
ナビゲーション メニュー
個人用ツール
ログインしていません
トーク
投稿記録
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
編集
履歴表示
その他
検索
スポンサーリンク
スポンサーリンク
案内
メインページ
ヘルプ
よくある質問
マクロリファレンス
マクロライブラリ
プラグインライブラリ
構文ファイル
テーマ
寄付・開発支援
練習用ページ
開発室
開発者のブログ
ツール
スポンサーリンク