GithubHelp home page GithubHelp logo

qpmenu's Introduction

qpmenu

指定フォルダ配下をサブフォルダ含めてポップアップメニュー表示して一発アクセス。

qpmenu

要件

インストール

  • config.ahk.sampleconfig.ahk にリネーム後、正しい設定を埋める

あとは qpmenu.ahk を実行するだけです。

使い方

普通に実行すると「qpmenu.ahk のあるフォルダ」を辿り、メニューを「マウスカーソル位置」に表示します。

$ qpmenu.ahk

辿るフォルダを指定する 場合は、そのフォルダパスを与えてください。

$ qpmenu.ahk "d:\work\text"

メニュー表示位置をピクセルで指定する こともできます(以下は画面左上 (0, 0) に表示する例)。

$ qpmenu.ahk -x 0 -y 0

高度な使い方 - オープンモード

メニュー項目選択時、修飾キー(Shift, Ctrlキーなど)の押下状況で動作が変わります。

何も押さずに選択する

該当するファイルを そのまま開きます

Shift キーを押したまま選択する

該当するファイルを テキストエディタで 開きます。

使用するエディタは config.ahk 内で設定してください。

Ctrl キーを押したまま選択する

該当するファイルのある ディレクトリ を開きます。

ビルドについて

実行ファイルを作ることができます。

  • build.ahk.samplebuild.ahk にコピーする
  • build.ahk を開き builder 変数の値を正しいものに修正する
    • 例: builder = C:\Program Files\AutoHotkey\Compiler\Ahk2Exe.exe
  • build.ahk を実行する

付録

付録1. 秀丸エディタから呼び出す

秀丸エディタから qpmenu を呼び出すマクロ qpmenu_from_hidemaru.mac を同梱しています。

使い方:

  • (1) qpmenu_from_hidemaru.mac.sampleqpmenu_from_hidemaru.mac にリネーム後、必要な設定を埋める
    • $ahk_bin_path 変数と $qpmenu_path 変数
  • (2) qpmenu_from_hidemaru.mac を秀丸エディタにマクロ登録する
  • (3) 2 で設定したマクロにショートカットキーを割り当てる

ショートカットキーを押すと「今秀丸エディタで開いているファイルのあるフォルダ」を基点として、qpmenu が表示されるはずです。その際、表示位置は以下のように分かれます。

  • マウスクリックから起動した場合
    • マウスカーソル位置
  • キー割り当てから起動した(Shift, Ctrl, Alt など何らかの修飾キーを伴っている)場合
    • カーソル位置
  • キー割り当てから起動した(修飾キーを伴っていない)場合
    • マウスカーソル位置

FAQ

Q1. メニュー項目末尾の | 1 この数字は何ですか?

Ans: 仕様です。消せません。

以下 AutoHotkey プログラミングの話になりますが事情を書いておきます。

AutoHotkey でポップアップメニューを作成するには Menu 命令を使います。この Menu 命令では「この選択が選択されたらこのラベルにジャンプする」という処理をサポートしており、また「選択されたメニュー項目名を取得する」命令も用意されています。

言うなればこの二つのパーツで「指定されたメニュー項目に対応するファイルパス」を特定しなければならないのですが、結論を言うとこの二つだけでは特定できません。特定するためには各項目ごとに固有の識別子が必要です。それを qpmenu では、メニュー項目名末尾に | (識別子) を付けることで対応しています。

Q2. メニューの表示に時間がかかるのですが……

Ans: 仕様です。

極端な例を挙げると、C:\ ドライブ配下を辿らせたら応答が返ってきません。そうでなくとも作者環境では 10000 ファイルを含むフォルダを辿らせて30-60秒くらいの時間を要しています。ファイル数の多いフォルダや、深い階層を持つフォルダは辿らせない方が良いでしょう。

もし表示に時間がかかりすぎて待ってられない場合は、タスクトレイアイコンから終了させることもできます。

License

MIT License

Author

stakiran

更新履歴

  • 2019/04/17 v0.1.0
    • add 走査時に指定フォルダを除外する機能を追加
    • change 秀丸エディタマクロ qpmenu_from_hidemaru.mac から qpmenu を呼び出した時の表示位置がマウスクリック時 or キー割当時とどちらの場合でも自然な位置になるよう修正
  • 2018/05/30 v0.0.1
    • 初版

qpmenu's People

Contributors

stakiran avatar

Stargazers

 avatar  avatar

Forkers

flyinguard

qpmenu's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.