Windowerの新機能あれこれ

新しい経験値リングを貰いにウェルカムバックキャンペーンで久しぶりにログイン。

WindowerにはStable(live)とDevelopment(dev)があります。
安定版(live)と開発版(dev)ということで、新機能はdevの方から実装され、順次liveの方に展開されているようです。

続きを読む

色々なアイコン

錬成窯の操作中に表示されるような属性のアイコン等をWindowerから使う方法。

icons = require('chat/icons')

windower.add_to_chat(0, '%s %s':format('fire', icons.fire))
windower.add_to_chat(0, '%s %s':format('ice', icons.ice))
windower.add_to_chat(0, '%s %s':format('wind', icons.wind))
windower.add_to_chat(0, '%s %s':format('earth', icons.earth))
windower.add_to_chat(0, '%s %s':format('lightning', icons.lightning))
windower.add_to_chat(0, '%s %s':format('water', icons.water))
windower.add_to_chat(0, '%s %s':format('light', icons.light))
windower.add_to_chat(0, '%s %s':format('darkness', icons.darkness))

windower.add_to_chat(0, '%s %s':format('atstart', icons.atstart))
windower.add_to_chat(0, '%s %s':format('atend', icons.atend))

windower.add_to_chat(0, '%s %s':format('on', icons.on))
windower.add_to_chat(0, '%s %s':format('off', icons.off))

windower.add_to_chat(0, '%s %s':format('info', icons.info))

windower.add_to_chat(0, '%s %s %s %s %s %s %s %s %s %s %s':format('bronze', icons.bronze1, icons.bronze2, icons.bronze3, icons.bronze4, icons.bronze5, icons.bronze6, icons.bronze7, icons.bronze8, icons.bronze9, icons.bronze10))
windower.add_to_chat(0, '%s %s %s %s %s %s %s %s %s %s %s':format('silver', icons.silver1, icons.silver2, icons.silver3, icons.silver4, icons.silver5, icons.silver6, icons.silver7, icons.silver8, icons.silver9, icons.silver10))
windower.add_to_chat(0, '%s %s %s %s %s %s %s %s %s %s %s':format('gold', icons.gold1, icons.gold2, icons.gold3, icons.gold4, icons.gold5, icons.gold6, icons.gold7, icons.gold8, icons.gold9, icons.gold10))

switch_focus


忘れてしまうので、メモしておこうと思っていて、忘れていました。
Windowerのランチャーにある「switch_focus」というアドオンはご存じですか?
2024年10月末に追加されたアドオンです。
FFXI Switch Monitor」のようなウィンドウ切り替え機能を持ったアドオンです。
アドオンなので、「FFXI Switch Monitor」のように別途アプリケーションを起動する必要がありませんね。

使い方はこちら

github.com

Next/Prevのほかにキャラクター名を指定して切り替えができるのがいいですね!

ゲームパッドには対応していないので、コマンドをキーバインドして「JoyToKey」をする必要があるかもしれません。
xiloaderの環境では「FFXI Switch Monitor」が使えなかったので、LSBをいじって遊ぶのにいいですね!

API/Event

「switch_focus」の実装にともなって、いつくかのAPI/Eventが追加されたようです。
これを使用すると自作のアドオン/スクリプトにウィンドウの切り替えを実装することができますね!

Functions · Windower/Lua Wiki · GitHub

-- windower.has_focus() 現在ウィンドウがアクティブかどうか
-- windower.take_focus() ウィンドウをアクティブにする
if not windower.has_focus() then
    windower.take_focus()
end
  • Event

Events · Windower/Lua Wiki · GitHub

-- gain focus ウィンドウがアクティブになったイベント
windower.register_event('gain focus', function()
    print('gain focus')
end)

-- lose focus ウィンドウが非アクティブになったイベント
windower.register_event('lose focus', function()
    print('lose focus')
end)