File::KeePass::Agent::unix - platform specific utilities for Agent
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.
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.
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.
Paul Seamons <paul at seamons dot com>
This module may be distributed under the same terms as Perl itself.
To install File::KeePass::Agent, copy and paste the appropriate command in to your terminal.
cpanm
cpanm File::KeePass::Agent
CPAN shell
perl -MCPAN -e shell install File::KeePass::Agent
For more information on module installation, please visit the detailed CPAN module installation guide.