Actions

eboxy actions are the basis for controlling eboxy. They are used for standard key, joystick, and LIRC remote button bindings for things such as navigating among the widgets on the screen or items in a list (standard actions), and for binding keys or remote buttons to GUI buttons (user actions).

Standard actions

Table 3.5. Standard actions

ActionFunction
prevPrevious widget
nextNext widget
acceptAccept current selection/value. This presses buttons. For textfields, this jumps to the next widget. For listboxes, it generates an OnChoose event.
quitQuit eboxy
item_prevPrevious list item
item_nextNext list item
item_firstFirst list item
item_lastLast list item
item_prevpagePrevious page of items in a list
item_nextpageNext page of items in a list
textinput_backspaceWhen editing text in a textfield, deletes the character to the left of the cursor and moves the cursor one place to the left.
textinput_deleteWhen editing text in a textfield, deletes the character to the right of the cursor.
textinput_digitnEnter a text character into a textfield, using number pad based input. This is similar to entering in text messages on a mobile phone. n is a number from 0 to 9. Pressing the same key repeatedly cycles through the available characters for that key. If you wait more than a second between presses, the key will be repeated instead. This is useful for entering alphanumeric text from a remote that only has number keys. Note that if the textfield you are entering text into is restricted using the validchars property, and that restriction results in only one character being valid for a button, then you won't have to wait between presses (eg. if validchars is set to [0-9], you will be able to repeat numeric digits without waiting).
textinput_charEnter a text character into a textfield. Append the character to type into the textfield (alphanumeric characters only, localised characters should be OK). For symbols, use the following names appended to textinput_:
exclamation  !
at           @
hash         #
dollar       $
percent      %
caret        ^
ampersand    &
star         *
openbracket  (
closebracket )
underscore   _
minus        -
plus         +
equals       =
opensquarebracket  [
closesquarebracket ]
openbrace    {
closebrace   }
pipe         |
backslash    \
colon        :
semicolon    ;
quote        '
doublequote  "
slash        /
question     ?
lessthan     <
greaterthan  >
comma        ,
dot          .
tilde        ~
backquote    `
space

Examples: textinput_j Inserts a letter j, textinput_plus inserts a + sign.

User actions

User actions are similar to the standard actions, except that they don't do anything by themselves. They are meant to allow you to bind keys or LIRC remote buttons to GUI buttons. The reason these are used rather than just binding the keys/buttons directly is to ensure similar functionality across different skins and systems (ie. you can download a new skin and it should work with your existing key bindings and LIRC configuration).

Please note that these actions do not actually do anything on their own. Also, you should avoid using an action for anything other than its intended purpose, to avoid confusion. The list of user actions is fixed in order to provide a standard. If an appropriately-named action for the purpose you require doesn't exist, please email and it will be added into the next version.

Table 3.6. User actions

ActionSuggested purpose
addAdd item
editEdit item
deleteDelete item
playPlay
recordRecord
stopStop
pausePause
rewindRewind
fastforwardFast forward
jumptostartJump to beginning
jumptoendJump to end
ejectEject media
nextchannelNext TV/radio channel/music track/DVD chapter
prevchannelPrevious TV/radio channel/music track/DVD chapter
frequencyupIncrease frequency
frequencydownDecrease frequency
volumeupIncrease volume
volumedownDecrease volume
muteMute audio toggle
shutdownShut down machine
restartRestart machine
restartserverRestart display (eg. X server)
upMove up (navigating something positional, eg. a map)
downMove down
leftMove left
rightMove right
zoominZoom in
zoomoutZoom out
yesQuick yes/ok/accept
noQuick no
cancelCancel/back out (usually bound to a button that jumps to the previous page)
tvJump to TV watching
radioJump to radio listening
dvdJump to DVD viewing
rectimerJump to setting up a timed recording
mailJump to email
webJump to web browser
photosjump to photo album
videosJump to video library
musicJump to music library
number0Number pad 0
number1Number pad 1
number2Number pad 2
number3Number pad 3
number4Number pad 4
number5Number pad 5
number6Number pad 6
number7Number pad 7
number8Number pad 8
number9Number pad 9
menu1Menu 1 (possibly for DVD)
menu2Menu 2 (possibly for DVD)
menu3Menu 3 (possibly for DVD)
viewmodeChange screen size / list viewing mode / aspect ratio (etc.)
nextaudioNext audio channel
prevaudioPrevious audio channel
nextsubtitleNext subtitle language
prevsubtitlePrevious subtitle language
nextangleNext angle (DVD)
prevanglePrevious angle (DVD)
deinterlaceToggle deinterlacing
snapshotCapture a snapshot image of video
helpJump to help page
trackinfoShow information on the currently playing track/stream
tracksearchIncremental search for track
systeminfoJump to system information / stats screen
setupGo to setup page
showclockShow clock

To bind a user action to a GUI button, simply add an action="actionname" attribute to the button in the XML file. Then, pressing a key or LIRC button bound to this action when the GUI button is on screen will cause the button to be pressed. Alternatively if you don't need a button, or you want the action to be active no matter what page is showing, you can use an actionhandler.

Note: the number* user actions are separate from digit input for entering text with the number pad.