問題タブ [hammerspoon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - Lua Hammerspoon: 変数に代入すると hs.window.focusedWindow() が nil になる
私は、 osxでハンマースプーンという自動化ソフトウェアを使用しています。
ハンマースプーンのコンソールで次のコードを使用すると、win
nil になります。
しかし、実際には関数は何らかの値を返します:
この奇妙な動作により、次のようなすべてのウィンドウの移動/サイズ変更機能が中断されます。
ハンマースプーンは次のエラーを出します:
この問題が自分のコンピューターに起因するのか、それとも他の何かに起因するのかはわかりません。
私は osx ヨセミテ、バージョン 10.10.5、ハンマースプーン 0.9.43 を持っています。
アップデート:
エラーの解決策を見つけました。これは、osx のプライバシー設定によるものです。
解決:
hs.window.focusedWindow()
それでも、変数に割り当てられていない場合に何かが返され、変数に割り当てられたときに返される理由がわかりませんnil
。
macos - なぜハンマースプーンはフォーカスされたウィンドウ nil を返すべきではないのに返すのですか?
(MAC OSX 上で) ハンマースプーンを使用して Windows を制御しようとしていましたが、問題がありました。開始ページから、フォーカスされたウィンドウを左に移動するためのコードをコピーしました。
その後、設定をリロードして試してみました。残念ながら、これは機能せず、hammerspoon コンソールが開き、次のエラーが表示されます。
私の変数はnilであると言われていますが、なぜnilでなければならないのかわかりません。hs.console.printStyledtext(win)
変数 win の直後にprint ステートメント (hammerspoon で想定しているもの) を挿入して調べてみましたがnil
、エラーの直前に print する以外は同じエラーがスローされます。
奇妙なことは、機能またはコードがコンソールに焦点を合わせると「機能する」(つまり、画面を左に移動する)ことですが、他に試したことはありません。
この種のバグを見て、修正できた人はいますか?
私は見ました:
Lua Hammerspoon: 変数に代入すると hs.window.focusedWindow() が nil になる
変数をローカルからグローバルに変更しても違いはなく、バグが続くようです。
macos - Lua Hammerspoon スクリプトで、特定のデスクトップに描画する方法は?
デスクトップを列挙したり、描画を特定のデスクトップに移動したりするための API が表示されません。
macos - Hammerspoon による MRU ブラウザのタブ切り替え (Lua+Mac の問題)
最近使用したタブの切り替えを Chrome で機能させたいと思っています。これを行うために、現在 alt-w を最後のタブに切り替える CLUT Chrome ブラウザー拡張機能をインストールし、システムのキーストロークをインターセプトできる Hammerspoon をインストールしました。
init.lua には次のコードがあります。
ただし、ハンマースプーンで次のエラーが発生します。
検索しましたが、このエラーの意味がわかりませんでした。
編集 - これが最終的な解決策です。他の誰かが Mac で MRU タブを切り替えたい場合:
lua - Hammerspoon の画像ライブラリを使用
Hammerspoon 構成ファイルでより洗練されたグラフィックまたは GUI ウィジェット ライブラリを使用して、ユーザー入力を取得し、Hammerspoon がデフォルトで許可するよりも高度な描画を画面上で実行したいと考えています (私が知る限り)。私は Lua と Hammerspoon が初めてで、これまでのところ、これを機能させる方法を理解できていません。(画面上に単純に描画することは問題ではないので、幾何学的形状の例は役に立ちません。私はすでに問題なくそれを行うことができます。)
私は当初、ゲームを構築するために設計された Lua ライブラリの 1 つに必要以上のものがあると考え、love2d を調べましたが、Hammerspoon で簡単に使用できるようには見えませんでした。
私がやりたいことの具体的な例を2つ挙げると、
画面グリッドに必要な行数と列数を指定するために、ユーザーが 2 つの値を入力できるダイアログ ボックスを表示したいと思います。ネイティブの Cocoa ダイアログの方がよいでしょうが、Lua を使用して画面上にグラフィカルに描画されたものでも問題ありません。ただし、画像の詳細が抽象化されていて、ダイアログ内のテキストとフィールドとボタンを定義するだけであれば問題ありません。
ユーザーが特定のコマンドを完了した場合にウィンドウが移動する場所のプレビューとして、指定されたグリッド セグメントの周りに丸みを帯びた角と影を持つ点線の四角形を描画したいと思います。
他にもたくさんありますが、これらのことを実行できるものは何でも、他の必要なことを実行できるようにする必要があります.
automation - ユーザーがハンマースプーンを介してwifiまたはLAN経由で接続されているかどうかを確認する方法
定期的にチェックを行い、接続されていない場合はwifiを無効にするハンマースプーンのwifiウォッチャーを用意することを考えています。
次のスクリプトはこれを行います。
ここで、ユーザーがすでに LAN 経由で接続されている場合のような問題に直面しています。現時点では、このウォッチャーを有効にする必要はありません (wifi のオンとオフの切り替えを停止するため)。だから私が必要なのは、ユーザーがすでにLAN経由で接続されているか、少なくともインターネットに接続されているかを教えてくれるAPIはありますか?
私の言いたいことが分かりますか?
hammerspoon - Hammerspoon でハイパー キー/Caps Lock を F18 に再マッピングする場合、モディファイアで使用できますか?
私の問題は次のとおりです。Karabiner Elements を使用して Caps Lock を F18 に再マッピングすると、Hammerspoon は F18 を「ハイパー キー」として使用して、アプリ固有のショートカットを実行します。
私の現在のコードは次のようになります。
また、ハイパー キーを使用して vim のようなナビゲーションをどこにでも配置するときに、HJKJ を矢印キーにマップしています。
なのでHYPER-H
基本的に左矢印キーを出力します。HYPER-COMMAND-H
しかし、私の問題は、カーソルを行の先頭に移動するので、command-left-arrow-keyも出力したいということです。
私はそれのように見えます。ただし、問題は、HYPER-COMMAND-H は機能しますが、COMMAND-HYPER-Hは機能しません。修飾子の順序を間違えると (通常は問題になりません)、完全に壊れてしまい、非常に不便です。
順序が関係ないようにするにはどうすればよいですか?F18 は適切な修飾キーではないので、本当に困っています。