NAME
File::KeePass::Agent::unix - platform specific utilities for Agent
DESCRIPTION
This module provides unix based support for the File::KeePassAgent. It should work for anything using an X server. It should not normally be used on its own.
FKPA METHODS
The following methods must be provided by an FKPA OS variant.
read_config
-
Takes the name of a key to read from the configuration file. This method reads from $HOME/.config/keepassx/config.ini.
prompt_for_file
-
Requests the name of a keepass database to open.
prompt_for_pass
-
Requests for the password to open the choosen keepass database. It is passed the name of the file being opened.
grab_global_keys
-
Takes a list of arrayrefs. Each arrayref should contain a shortcut key description hashref and a callback.
$self->grab_global_keys([{ctrl => 1, shift => 1, alt => 1, key => "c"}, sub { print "Got here" }]);
The callback will be called as a method of the Agent object. It will be passed the current active window title and the generating event.
$self->$callback($window_title, \%event);
This method use X11::Protocol to bind the shortcuts, then listens for the events to happen.
send_key_press
-
Takes an auto-type string, the keepass entry that generated the request, the current active window title, and the generating event.
This method uses X11::GUITest to "type" the chosen text to the X server.
OTHER METHODS
These methods are not directly used by the FKPA api.
home_dir
-
Used by read_config to find the users home directory.
x
-
Returns an X11::Protocol object
keymap
-
Returns the keymap in use by the X server.
keysym
-
Returns the keysym id used by the X server.
keycode
-
Takes a key - returns the appropriate key code for use in grab_global_keys
is_key_pressed
-
Returns true if the key is currently pressed. Most useful for items like Control_L, Shift_L, or Alt_L.
are_keys_pressed
-
Takes an array of key names and returns which ones are currently pressed. It has a little bit of caching as part of the process of calling is_key_pressed. Returns any of the key names that are pressed.
attributes
-
Takes an X window id - returns all of the attributes for the window.
property
-
Takes an X window id and a property name. Returns the current value of that property.
properties
-
Takes an X window id - returns all of the properties for the window.
wm_name
-
Takes an X window id - returns its window manager name.
all_children
-
Returns all decended children of an X window.
AUTHOR
Paul Seamons <paul at seamons dot com>
LICENSE
This module may be distributed under the same terms as Perl itself.