機能追加

ドラッグ&ドロップ機能を実装しました。これにより、デスクトップ画面内でファイルを自由に移動できます。
現在、複数ファイルのドラッグや、外部アプリケーションとのドラッグ&ドロップには対応していませんので、ご了承ください。
作ったもの
https://github.com/kozawa-tokyo/desktopwindow
desktopWindow_20250614.zip
その他
「右クリック」「ダブルクリック」「ドラッグアンドドロップ」を実装しました。🫡
ドラッグ&ドロップ機能を実装しました。これにより、デスクトップ画面内でファイルを自由に移動できます。
現在、複数ファイルのドラッグや、外部アプリケーションとのドラッグ&ドロップには対応していませんので、ご了承ください。
https://github.com/kozawa-tokyo/desktopwindow
desktopWindow_20250614.zip
「右クリック」「ダブルクリック」「ドラッグアンドドロップ」を実装しました。🫡
アプリを最小化した状態でタスクバーから「ウィンドウを閉じる」を選択した場合、アプリの終了処理にて定義ファイル(DesktopWindow.ini)に誤った画面位置を書き込み、次回起動時にアプリの画面が表示されなくなっていました。
現象発生時の定義ファイルは以下のとおりです。
[Application]
title = Desktop Window
top = -32000
left = -32000
width = 160
height = 28
offsetX = 0
offsetY = 0
https://github.com/kozawa-tokyo/desktopwindow
desktopWindow_20250502.zip
アプリにアイコンを付けました。ダークモード?ダークテーマ?には未対応です。
C#学習中… 学習目的なので車輪の再開発です。
https://github.com/kozawa-tokyo/desktopwindow
desktopWindow_20250420.zip
C:\tool\desktopWindow
├─DesktopWindow.deps.json
├─DesktopWindow.dll
├─DesktopWindow.exe
├─DesktopWindow.ini
└─DesktopWindow.runtimeconfig.json
DesktopWindow.exeを実行してデスクトップ画面を使用してください。
[Application]
title = Desktop Window
top = 0
left = 0
width = 640
height = 480
offsetX = 0
offsetY = 0
ウィンドウのタイトルおよびサイズの定義です。
デスクトップ画面をタイトルバーの高さ分下にずらす場合は、offsetY = 30を指定します。本アプリを終了した状態で編集してください。
まだまだバグだらけです…
アイコンのドラッグアンドドロップは未実装です。現在の実装方法では難しいのかもしれない。
メールアドレス「develop.kozawa@gmail.com」です。
🍻より良いフリーソフトのためにー 🐾
C#学習中… 学習目的なので車輪の再開発です。
以下のバグを修正しました。
機能修正
https://github.com/kozawa-tokyo/clipboardio
clipboardio_20250322.zip
ランチャー機能
launcherDataフォルダ配下に任意のフォルダを作成し、実行したいファイルを格納してください。
C:\tool\clipboardio
└─ launcherData
└─ 「ランチャー」フォルダ
フォルダ名がタブ名になります。「ランチャー」フォルダ配下の.txt、.exe、.lnk(ショートカット)ファイルが起動できること確認済です。フォルダは対象外です。
その他の機能説明などについては、過去の投稿を参照してください。
https://kozawa.tokyo/blog/?tag=clipboardio
「クリップボードロギングツール」は、左手は添えるだけ、「キーのリマッピング(KeyRemap.ahk)」は、右手は添えるだけです。高尚なコンセプトのもと制作しております。🙏
マウスを使用せずにちょっとした作業が完結できます。「クリップボードロギングツール」と「キーのリマッピング(KeyRemap.ahk)」はセット商品です。ご愛顧くださいませ。( ー`дー´)キリッ
まだまだバグだらけです…
所感
以下のWin32APIでIniFileの読み書きを行っていたけれどサードパーティー製ライブラリに置き換えました。
GetPrivateProfileString 関数 (winbase.h)
WritePrivateProfileStringW 関数 (winbase.h)
Win32APIが遅すぎるのWin32APIのバグですよね?
あとは、ランチャーのアイコンを横に並べて「CLaunch」みたいに作りたかったけど、左右キーはタブの切り替えで使用していて、タブのキーボードフォーカス、論理フォーカスの制御ができず一旦挫折。
「フォーカスの概要」
リストのアイテムを選択するのにも苦労させられていますし、WPFアプリ難しいですねえ。Formアプリで作った方が良かったかもしれない。
メールアドレス「develop.kozawa@gmail.com」です。
🍻より良いフリーソフトのためにー 🐾
自分用に修正したので貼っておこー
Winキー:Shiftキーと同じ処理を割り当てました。Alt+Qなどを複数回押下するときにAlt+Win+Qで画面サイズの変更の方向を逆転します。左手の親指でAlt+Winを押下することを想定しています。
2ストローク:Alt+Q、A、W、Sキーで画面高さを変更した後、Alt+1、3キーで画面幅を変更できるよう修正しました。Alt+Q、A、W、Sキーで高さ、Alt+1、3で幅を変更してください。
2ストロークキーのタイムアウト処理や2キー目のクリア処理等が必要ですが未実装です。前回のキー操作を内部で保持しているため、初回のキー操作では意図した方向に画面サイズが変更されない場合があります。その場合は、Alt+2キーで画面位置を初期化後、再度操作してください。(Alt+2キーは2ストローク未対応です)
修正前:2024/07/21公開
Alt + q,a,w,sキーの押下後にAlt + 矢印キーで画面移動を追加(実用的な機能ではない)
修正後:本投稿公開日
Alt + q,a,w,s,e,d,1,3キーの押下後にAlt + 矢印キーで画面サイズを変更(実用的な機能への伏線?)
右手は添えるだけで左手だけで完結したいけどAlt+Q、A、W、Sキーで高さ、Alt+1、3で幅を変更するのは分かりづらい使いづらい。だからと言ってマウスの上にいる右手をいちいちキーボートの矢印キーまで移動して画面サイズを変更するのか?そんなことをするなら素直にマウスで画面サイズを変更するよな。常考。
画面サイズの変更間隔を10%から5%に修正しました。
; 画面サイズ定義1
LEFT_WIDTH := [0.5, 0.6, 0.7, 0.3, 0.4]
CENTER_WIDTH := [0.5, 0.6, 0.7, 0.3, 0.4]
RIGHT_WIDTH := [0.5, 0.6, 0.7, 0.3, 0.4]
UPPER_HEIGHT := [0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 0.3, 0.4]
LOWER_HEIGHT := [0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 0.3, 0.4]
; 画面サイズ定義2
LEFT_WIDTH := [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 0.25, 0.3, 0.35, 0.4, 0.45]
CENTER_WIDTH := [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 0.25, 0.3, 0.35, 0.4, 0.45]
RIGHT_WIDTH := [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 0.25, 0.3, 0.35, 0.4, 0.45]
UPPER_HEIGHT := [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 0.25, 0.3, 0.35, 0.4, 0.45]
LOWER_HEIGHT := [0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 0.25, 0.3, 0.35, 0.4, 0.45]
10%間隔の定義も残していますのでお好みで修正してください。
スクリプトの処理が上から下に流れます。画面サイズ定義1の値を画面サイズ定義2の値で上書きしています。25行目~29行目の先頭にセミコロンを付けるか行ごと削除すると19行目~23行目の処理が有効になり従来の10%間隔の定義となります。
スクリプト実行中にスクリプトファイルを修正した場合、タスクトレイから「Reload Script」を実行してください。
https://github.com/kozawa-tokyo/keyremap
keyremap_20250322.zip
コードをリファクタリングしました。不具合対応の処理を移動したりコメントの修正など行っています。
今回変更していないファイルもすべて圧縮しました。使用しているDLLも最新(Windows 11 binary, works with 24H2, 26100.2605)版をバンドルしています。Windows 10などの旧環境で問題が発生する場合は以下のサイトからDLLをダウンロードして差し替えてください。
; ----------------------------------------
; DLL関連関数
; VirtualDesktopAccessor.dll
; Copyright (c) 2015-2023 Jari Otto Oskari Pennanen
; https://github.com/Ciantic/VirtualDesktopAccessor
; https://opensource.org/license/mit
; ----------------------------------------
フォルダ構成を変更しました。dllフォルダを追加しています。
C:\tool\keyremap*
│ KeyRemap.ahk
├─dll
│ VirtualDesktopAccessor.dll
└─images
├─dark
│ 1.png
│ 2.png
│ 3.png
│ 4.png
│ 5.png
│ 6.png
│ R.png
└─light
1.png
2.png
3.png
4.png
5.png
6.png
R.png
*:任意のフォルダで使用できます。
また、過去の投稿に「keyremap」タグを付けて参照できるようにしました。大きく3つの機能があります。
使用方法の詳細については、過去の投稿を参照してください。
https://kozawa.tokyo/blog/?tag=keyremap
メールアドレス「develop.kozawa@gmail.com」です。
🍻より良いフリーソフトのためにー
C#学習中…
以下のソースを流用させていただきました。🙇
https://github.com/Kyome22/RunCat_for_windows
https://github.com/Kyome22/menubar_runcat
https://github.com/kozawa-tokyo/runcat
RunCat_for_windows_20250203.zip
TRIGKEY/ミニPC環境
おもちゃツールのため、起動に制限などはかけていませんが、タスクバー関連のソフトを使用している場合は意図したとおりに動かない場合があります。
任意のフォルダに展開してください。
C:\tool\RunCat_for_windows
├─ resources
├─ RunCat.deps.json
├─ RunCat.dll
├─ RunCat.exe
├─ RunCat.ini
├─ RunCat.pdb
└─ RunCat.runtimeconfig.json
RunCat.exe を起動します。
→タスクトレイに常駐します。
猫アイコンをダブルクリックしてください。
→タスクバーに猫アイコンが追加されます。
タスクバーに猫アイコンが表示されない場合は、タスクトレイの「^」ボタンで表示されるポップアップ内に表示されていないか確認してください。ポップアップ内に猫アイコンが存在している場合は、猫アイコンをドラッグしてタスクバー上に都度移動してください(×3回)。ポップアップ内にも猫アイコンが存在していない場合は、本アプリは使用できません。
タスクバー上に3匹表示されている状態でダブルクリックすると大きな猫アイコンになります。
本家の方が書かれているとおりタスクトレイの使用領域を広げることは難しいようです。そのため、複数の猫アイコン(小)を生成して描画領域を確保して、その上に猫アイコン(大)を表示するウインドを被せています。
🫠🫠🫠いい感じのアニメーション付けたい。。。
など多数あります。
[Application]
lrReverse=True
;Large
;OffsetX=5
;OffsetY=5
;CatWidth=64
;CatHeight=38
;Medium
OffsetX=10
OffsetY=10
CatWidth=50
CatHeight=25
;Small
;OffsetX=20
;OffsetY=15
;CatWidth=30
;CatHeight=20
最近プロパティファイルについて調べた結果、脱INIファイルは難しいことが分かりました。ユーザーが値を修正する場合、XMLよりは古き良きINIファイルの方が使い易いと思います。設定画面を作る予定もないので今後もINIファイルを使用していくことになりそうです。
[Application]
lrReverse= 猫アイコンの向き。Trueで左向き、Falseで右向きに。
OffsetX=10
OffsetY=10
CatWidth=50
CatHeight=25
上記は、猫アイコン(大)の表示位置を微修正するための座標およびサイズです。OffsetX/OffsetYは左上が基点のオフセット値、CatWidth/CatHeightは、猫アイコン(大)のサイズで縦横比固定で伸縮される動作となります。
解像度:1920×1080、拡大/縮小:100%のシングルモニタ環境で動作確認していますが、高解像度のディスプレイ等では予期しない位置に猫アイコン(大)が表示される可能性があります。
なお、実際に使用している以下のファイルは、126×77ピクセルです。
resources
└─ cat
└─ png
├─ 0.png
├─ 1.png
├─ 2.png
├─ 3.png
└─ 4.png
今回、macOS版の初期値で表示されるネコα だけを使用していますが、その他のネコβ、ネコγぐらいまでは使えるようにする予定です。今年中ぐらいを目途に。
C#学習中… 学習目的なので車輪の再開発です。
目指したのはこちら。
https://chigusa-web.com/clibor
ミニPCにインストールして使っています。クリップボードツールでググると必ず上がってくる有名どころですね。
真似したのはこちら。
http://www.ost-net.com/clipnoteA/clip01.html
会社の社給パソコンにインストールして使っています。快適な入力支援ソフトです。間違いない。
WPF版
https://github.com/kozawa-tokyo/clipboardio
clipboardio_20250125.zip
Releaseフォルダ配下を配布すれば他の環境で実行できるのか、.NETの野良アプリを配布するのは初めてで確認がとれていない。これらのリリース作業も含めてひと通り動作確認するために、C#学習3か月を記念して初回リリースします。
ファイルサイズが10MB近くあってRaspiに置くとblogの公開に支障がありそうなのでGitHubにアップロードしました。バイナリだけです。ソースファイルは、いつになるかは分かりませんが、バグ修正が落ち着いた後に学習用の試行錯誤処理をキレイにして公開できればと思います。
TRIGKEY/ミニPC環境
まだまだバグだらけなので上記環境でのみ起動するように制限しています。
任意のフォルダに展開してください。
C:\tool\clipboardio
├─ CommunityToolkit.Mvvm.dll
├─ GongSolutions.WPF.DragDrop.dll
├─ Microsoft.Web.WebView2.Core.dll
├─ Microsoft.Web.WebView2.Core.xml
├─ Microsoft.Web.WebView2.WinForms.dll
├─ Microsoft.Web.WebView2.WinForms.xml
├─ Microsoft.Web.WebView2.Wpf.dll
├─ Microsoft.Web.WebView2.Wpf.xml
├─ Microsoft.Xaml.Behaviors.dll
├─ clipData
├─ clipboardio.deps.json
├─ clipboardio.dll
├─ clipboardio.exe
├─ clipboardio.ini
├─ clipboardio.pdb
├─ clipboardio.runtimeconfig.json
├─ phraseData
├─ resource
├─ runtimes
└─ script
clipboardio.exe を起動します。
→タスクトレイに常駐します。
クリップボードのデータをファイルに保存します。
C:\tool\clipboardio
└─clipData
├─ bitmap
├─ html*
└─ unicodeText
ファイル名は、クリップボードの更新時刻です。
*:html配下は、「HTML クリップボードの形式」に準拠です。そのままHTMLファイルとして表示できるファイルではありません。
右Shiftキー×2回:メイン画面表示
右Shiftキー×2回:メイン画面非表示
右Shiftキー×2回:メイン画面最前面移動
Esc:メイン画面非表示
タスクトレイアイコンクリック:メイン画面表示
ツールバー
アイコン1つ目:選択項目の格納場所をファイラーで表示
アイコン2つ目:アプリの再起動
リストビュー
クリップボードのテキストの先頭1行をリスト表示
テキストボックス
クリップボードのテキストの複数行を表示
※後述の定義ファイルを編集した場合、画像およびHTMLを表示可能
ステータスバー
ペースト先の画面のタイトル文字列を表示
画面右上「×」ボタン
メイン画面非表示
※アプリを終了する場合はタスクトレイのアイコンから「閉じる」を選択してください。
左右キー:タブ切り替え(phraseDataフォルダにフォルダやファイルを作成することで複数のタブが表示されます)。
上下キー:項目選択
Enterキー:メイン画面表示時にアクティブだった画面に選択項目のテキスト等をペーストします。ペースト先の画面のタイトル文字列はステータスバーに表示されます。
右Shiftキーをダムダムして矢印キーで項目を選択してEnterする操作が基本となります。左手は添えるだけです。必ず成功するわけではありません。
これを貼っておこー
Ctrl+Enter:選択項目のコピーだけ(ペーストはしない)
Ctrl+「+」キー:画面フォントを+0.5ポイント
Ctrl+「-」キー:画面フォントを-0.5ポイント
Ctrl+「0」キー:画面フォントを14ポイントにリセット
Ctrl+「e」キー:選択項目のファイルをファイラーで表示
Deleteキー:選択項目に対応するファイルを削除(ごみ箱に移動)
Ctrl+「G」キー:秀丸またはサクラエディタがインストールされている場合は、Grepダイアログを表示。秀丸は32bit版を想定しています。定義ファイルでインストールパスを変更可能
Ctrl+「F」キー:「クリップボード」タブの「値」カラムにフィルタ入力領域を表示・非表示だけ。項目のフィルタ処理は今後実装予定。
「1」~「0」キー:タブの選択
※定型文フォルダ配下にフォルダ・ファイルを作成した場合のみ有効
スペースキー:Pythonスクリプトが埋め込まれている場合、Pythonスクリプトを実行して画面下部のテキストボックスに表示
F5キー:アプリ再起動
C:\tool\clipboardio
└─phraseData
フォルダまたはファイル(txt、csv、tsv)を作成します。ファイルはUTF8/CRLF前提です。フォルダ名、ファイル名がタブ名になります。(拡張子なし・あり)
作成したフォルダまたはファイルを画面に反映するためにはアプリを再起動する必要があります。
例:
C:\tool\clipboardio
└─phraseData
└─ 「定型文」フォルダ
│ └─ ファイル1.txt
│ └─ ファイル2.txt
└─ ファイル.txt
└─ ファイル.csv
└─ ファイル.tsv
「定型文」、「ファイル.txt」、「ファイル.csv」、「ファイル.tsv」のタブが生成されます。タブおよびリストの項目はドラッグアンドドロップで入れ替え可能ですが、「クリップボード」タブは最左端固定です。
フォルダ:テキストファイルのみ格納できます。ファイル名が「ラベル」列に、テキストファイルの先頭1行目だけが「値」列に読み込まれます。「クリップボード」タブと同様にEnterキーでペーストできます。
複数行を定型文としてペーストしたい場合はフォルダ配下にテキストファイルを作成してください。
「ファイル.txt」:「ラベル」列に行番号が表示されます。
「ファイル.csv」:「ラベル」列に1カラム目の文字列が表示されます。
「ファイル.tsv」:「ラベル」列に1カラム目の文字列が表示されます。
1行単位でペーストしたい場合はファイルを作成してください。
定型文フォルダ配下のファイルには、「script」フォルダに作成したPythonスクリプトの実行結果を埋め込むことが可能です。
例1:
C:\tool\clipboardio
└─ script
│ └─ 現在日時.py
└─ phraseData
└─ 「定型文」フォルダ
└─ ファイル3.txt
ファイル3.txt の内容
————————————————————
【現在日時】 です。
————————————————————
【】カッコ内の文字列が、scriptフォルダのPythonスクリプトのファイル名(拡張子なし)に対応しています。
Pythonスクリプトを実行結果の標準出力がペースト時に反映されます。
ペースト文字列
————————————————————
2025-01-25 09:36:51.640573 です。
————————————————————
Pythonがインストールされていることが前提です。
Download the latest version for Windows
https://www.python.org/downloads
コマンドプロンプトで以下が実行できるか事前に確認してください。
python C:\tool\clipboardio\script\現在日時.py
例2:
ファイル4.txt の内容
————————————————————
【年】/【月】/【日】 【時】:【分】:【秒】
————————————————————
上記のファイル4.txtの場合は、ペースト時に以下の6ファイルのPythonスクリプトが逐次実行されてペーストされます。
年.py
月.py
日.py
時.py
分.py
秒.py
少しラグがあります。今後並列実行に修正予定。
ペースト文字列
————————————————————
2025/01/25 09:41:02
————————————————————
例3:
Pythonスクリプトが単独で実行できることが前提です。標準ライブラリ以外を使用する場合は、事前に依存するパッケージをインストールしてください。
C:\tool\clipboardio
└─ script
│ └─ clipboard.py
└─ phraseData
└─「定型文」フォルダ
└─ ファイル5.txt
clipboard.py
————————————————————
import urllib.parse
import pyperclip
clip = pyperclip.paste()
print(clip, end=””)
————————————————————
clipboard.pyにはクリップボードを扱うためのpyperclipパッケージが必要となります。
コマンドプロンプト
pip install pyperclip
コマンドプロンプト
python C:\tool\clipboardio\script\clipboard.py
事前にpipコマンド等でパッケージをインストールしてPythonスクリプトが実行できるか事前に確認してください。
ファイル5.txt
————————————————————
https://kozawa.tokyo/images/【clipboard】
————————————————————
上記のファイル5.txtの場合は、clipboard.pyでクリップボードのテキストを取得して、固定文字列に結合/埋め込みしています。
C:\tool\clipboardio
└─ script
現在日時.py ・・・ 上記の例1
月.py ・・・ 上記の例2
時.py
日.py
年.py
秒.py
分.py
曜日.py
clipboard.py ・・・ 上記の例3
string_count.py ・・・ クリップボード内の文字数をカウント
decode_url.py ・・・ クリップボード内の文字列をURLデコード
「定型文」フォルダ配下および「script」フォルダ配下については、必要なファイルやスクリプトをユーザーが作成・追加する想定です。
Pythonスクリプトでネットワークやデータベースから情報を取得したり、アプリを起動したり、Pythonスクリプトを噛ませることで何でもできるかと思いますが、この辺りはユーザーのやりたいこと次第ですね。
今後、必要に応じてスクリプトを追加していく予定ですが、どのようなスクリプトがあれば便利に使えるのか検討/見当するところからです。
[Application]
fontName=Yu Gothic UI
fontSize=14
hotKey=RShiftKey
minInterval=50
maxInterval=200
restartFlag=False
fileManager=C:\Program Files\HmFilerClassic\HmFilerClassic.exe
fileManagerArg=/select,%s
editor=C:\Program Files (x86)\Hidemaru\Hidemaru.exe
editorArg=/d%s /g
editor2=C:\Program Files (x86)\sakura\sakura.exe
editorArg2=-GREPMODE -GREPDLG -GFILE="*.txt" -GFOLDER=%s
startTag=【
endTag=】
imageFileVisible=False
htmlFileVisible=False
[Window]
title=Clipboard I/O
height=372
width=644
minColumnWidth=[100,100,125,50]
marginColumnWidth=60
; 灰色
ItemBackground1=#FFFFFF
ItemBackground2=#F0F0F0
SelectBorderBrush=Gray
SelectBorderThickness=2
; 赤色
;ItemBackground1=#FFFFFF
;ItemBackground2=#FFD5EC
;SelectBorderBrush=Red
;SelectBorderThickness=2
; 青色
;ItemBackground1=#FFFFFF
;ItemBackground2=#D9E5FF
;SelectBorderBrush=Blue
;SelectBorderThickness=2
; 紫色
;ItemBackground1=#FFFFFF
;ItemBackground2=#EAD9FF
;SelectBorderBrush=#5507FF
;SelectBorderThickness=2
[clipboardTab]
maxRoadFile=50
tabLabel=クリップボード
columnWidth=[0,378,147,59]
[customTabInfo]
tabCount=1
[customTab0]
tabLabel=blog
columnWidth=[100,484,0,0]
itemCount=6
item0=webp.txt
item1=rp4-img.txt
item2=png.txt
item3=jpg.txt
item4=http-img.txt
item5=avif.txt
編集する場合は、メモ帳で編集してください。
文字コード:Shift-JIS
改行コード:CRLF
です。clipboardio.iniファイルだけSJIS、他のファイルはUTF8です。Iniファイルを修正するAPIが古い。脱Iniファイルも追い追いやっていきます。
————————————————————
[Application]
fontName=フォント名
fontSize=フォントサイズ
hotKey=ホットキー定義
minInterval=ホットキーのタイプ間隔下限値
maxInterval=ホットキーのタイプ間隔上限値
restartFlag=Trueで起動後に画面表示。
fileManager=秀丸ファイラーClassicパス。存在しなければエクスプローラを起動
fileManagerArg=ファイラー引数
editor=エディタパス
editorArg=エディタ引数
editor2=エディタパス
editorArg2=エディタ引数
startTag=Pythonスクリプト名開始タグ
endTag=Pythonスクリプト名終了タグ
imageFileVisible=Trueで「クリップボード」タブに画像ファイル名表示
htmlFileVisible=Trueで「クリップボード」タブにHTMLファイル名表示
[Window]
title=メイン画面タイトル
height=メイン画面高さ
width=メイン画面幅
minColumnWidth=リストカラムの最小幅
marginColumnWidth=リストカラムのマージン(スクロールバー幅)
; 灰色
ItemBackground1=リストのゼブラ色
ItemBackground2=リストのゼブラ色
SelectBorderBrush=項目の選択色
SelectBorderThickness=項目の選択幅
・・・
[clipboardTab]
maxRoadFile=起動時に「クリップボード」タブに読み込むファイル数
tabLabel=「クリップボード」タブのラベル文字列
columnWidth=「クリップボード」タブのカラム幅
[customTabInfo]
tabCount=タブ数(phraseDataフォルダ配下のフォルダ・ファイル数)
[customTab0]
tabLabel=タブラベル
columnWidth=リストのカラム幅
itemCount=リストのアイテム数
item0=アイテムのファイル名/順序
————————————————————
; 灰色
ItemBackground1=#FFFFFF
ItemBackground2=#F0F0F0
SelectBorderBrush=Gray
SelectBorderThickness=2
色を変更する場合は、上記の4行を修正してください。
定義ファイルの編集後にアプリ再起動が必要です。F5キーです。
など多数あります。
パスワードなどの機微情報をコピーした場合、作成された当該ファイルを削除してください。Deleteキーです。
コピーしたデータはすべて残していく仕様のため、大きなファイルを頻繁にコピーするような作業には向いていません。ディスク使用量を確認して必要に応じて不要なファイルを削除してください。
C#初心者だけど愚見を述べたい。酒でも飲みながら…
もう「Microsoft PowerToys」の「FancyZones」でいいかもしれないけど、自分用に修正したので貼っておこー
Alt+Q、Alt+A、Alt+W、Alt+Sキー:画面幅を固定値(スクリーン幅/2)としていた処理を修正しました。
→Alt+1キーまたはAlt+3キーで画面幅を変更した後、Alt+Q、Alt+A、Alt+W、Alt+Sキーで高さを変更してください。
Alt+F12:アクティブ画面の位置・サイズを埋め込んだスクリプト文字列をメッセージボックスで表示します。
!F12:: {
WinGetPos &x, &y, &width, &height, WinGetID("A")
message := Format('WinMove({1}, {2}, {3}, {4}, WinGetID("A"))', x, y, width, height)
A_Clipboard := message
MsgBox(message,, "OK")
}
→クリップボードに「WinMove(0, 0, 960, 516, WinGetID(“A”))」のようなスクリプト文字列がコピーされます。固定位置に画面を移動させたい場合に任意のホットキーに割り当ててください。
例:Alt+4、Alt+5、Alt+6
; 画面位置設定例
!*4:: WinMove(0, 0, 960, 516, WinGetID("A"))
!*5:: WinMove(500, 250, 960, 600, WinGetID("A"))
!*6:: WinMove(960, 516, 960, 516, WinGetID("A"))
スクリプト修正後はスクリプトのリロードが必要です。
この件、AutohotKey界隈ではよく知られた現象らしく、Ctrlキー以外にも修飾キー全般で押しっぱなしになる不具合が発生する模様。
ググると沢山情報が出てくる。
・・・
SendMode "Event"
; 不具合対処
; 稀に修飾キーが押下した状態のままになる現象が発生する。
; ホットキー終了時に必ずCtrl/Altキーを上げる。
sendWrap(key)
{
try
Send key
finally
Send "{Ctrl Up}"
}
setWindowPositionWrap(windowPosition, monitorNum*)
{
try
if (monitorNum.Length > 0)
setWindowPosition(windowPosition, monitorNum[1])
else
setWindowPosition(windowPosition)
finally
Send "{Alt Up}"
}
^!r:: {
Send "{Ctrl Down}"
Send "{Ctrl Up}"
Send "{Alt Down}"
Send "{Alt Up}"
Reload
}
現象がまったく出なくなるような対処方法はないようだけど、SendをSendEventに変更したら発生頻度が下がったとの情報があったので「SendMode “Event”」の1行を追加した。
また、send/setWindowPosition関数をWrapしてホットキーの終了時に無条件でCtrl/AltのUpイベントを発行するように修正した。無条件でUpイベントが発生することによる副作用が懸念されるけれど押しっぱなしになるよりは良いかと思われる。
暫定対処で追加したCtrl+Alt+Rキーの処理は残してAltキーの対処も追加しておいた。
これでも再発するならsleepを入れたり、修飾キーをF13~F14キーに割り当てたり、別の方法で試行錯誤しながら修正していくことになる。
しばらく様子見です。
自分用に修正したので貼っておこー
エレコムのキーボードに変えてからCtrlキーを使ったホットキーでタイポした場合に上記の不具合が顕在化する場合がある。
再現方法不明。発生頻度は高くない。RealforceやHHKBでは発生しないので安いキーボードのスイッチが原因と思われる。
AutoHotkeyを最新バージョンに入れ替えても改善されず。
スクリプトでの対処はできないので現象発生時のリカバリー用に以下のホットキーを追加した。
^!r:: {
Send "{Ctrl down}"
Sleep 100
Send "{Ctrl up}"
Sleep 100
Reload
}
Ctrl+Alt+Rキー:ソフトウェア的にCtrlキーを押下してスクリプトをリロードする。