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.