You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
2.3 KiB
135 lines
2.3 KiB
#!/bin/bash
|
|
|
|
# Example of how to use xautomation.
|
|
#
|
|
# Notes:
|
|
#
|
|
# - This test fails for korg, as it opens a modal dialog box, even
|
|
# after changes are saved (ref bug #94537).
|
|
#
|
|
# - The xte str command is broken (it types to fast). To be safe,
|
|
# put in characters one-by-one using the key command. Writing a
|
|
# bash function that does this for a given string would be helpful.
|
|
#
|
|
# - This script uses hardcoded English short cut keys. To make generic:
|
|
#
|
|
# 1. Get two char language code from OS (or KDE?)
|
|
#
|
|
# 2. Source bash script for language (e.g. source __shortcuts.en)
|
|
#
|
|
# 3. Call functions from that script (e.g. open_file $FILENAME)
|
|
#
|
|
# - Using killall isn't great. karm has a quit() dcop function for clean
|
|
# shutdown. Need to check if korgac or korganizer provide this interface.
|
|
|
|
|
|
# kill any running processes
|
|
killall korganizer
|
|
killall korgac
|
|
|
|
# start korganizer
|
|
korganizer&
|
|
|
|
# make sure it's done opening
|
|
sleep 10
|
|
|
|
# open file in korganizer.
|
|
# Note: this opens a second korg instance
|
|
xte 'keydown Alt_L'
|
|
xte 'key F'
|
|
xte 'keyup Alt_L'
|
|
xte 'key O'
|
|
|
|
# wait for open file dialog to come up
|
|
sleep 1
|
|
|
|
# put focus on file name control
|
|
xte 'keydown Alt_L'
|
|
xte 'key L'
|
|
xte 'keyup Alt_L'
|
|
xte 'key ~'
|
|
xte 'key /'
|
|
xte 'key t'
|
|
xte 'key e'
|
|
xte 'key s'
|
|
xte 'key t'
|
|
xte 'key .'
|
|
xte 'key i'
|
|
xte 'key c'
|
|
xte 'key s'
|
|
|
|
# save new storage file
|
|
xte 'keydown Alt_L'
|
|
xte 'key O'
|
|
xte 'keyup Alt_L'
|
|
|
|
sleep 1
|
|
|
|
# open new to-do dialog
|
|
xte 'keydown Alt_L'
|
|
xte 'key A'
|
|
xte 'keup Alt_L'
|
|
xte 'key v'
|
|
|
|
sleep 1
|
|
|
|
# set focus to title
|
|
xte 'keydown Alt_L'
|
|
xte 'key I'
|
|
xte 'keyup Alt_L'
|
|
|
|
# type in test task name (you have to type slowly for xte)
|
|
xte 'key T'
|
|
xte 'key e'
|
|
xte 'key s'
|
|
xte 'key t'
|
|
xte 'key -'
|
|
xte 'key t'
|
|
xte 'key a'
|
|
xte 'key s'
|
|
xte 'key k'
|
|
xte 'key -'
|
|
xte 'key 1'
|
|
|
|
sleep 1
|
|
|
|
# save new todo
|
|
xte 'keydown Alt_L'
|
|
xte 'key O'
|
|
xte 'keyup Alt_L'
|
|
|
|
sleep 1
|
|
|
|
# save changes to file
|
|
xte 'keydown Alt_L'
|
|
xte 'key F'
|
|
xte 'keyup Alt_L'
|
|
xte 'key S'
|
|
|
|
sleep 1
|
|
|
|
# Quit below fails.
|
|
#
|
|
# korg pops up a dialog that says:
|
|
#
|
|
# The calendar contains unsaved changes.
|
|
# Do you want to save them before exiting?
|
|
|
|
# quit korganizer
|
|
xte 'keydown Control_L'
|
|
xte 'key q'
|
|
xte 'keyup Control_L'
|
|
|
|
# quit first korganizer view
|
|
xte 'keydown Control_L'
|
|
xte 'key q'
|
|
xte 'keyup Control_L'
|
|
|
|
sleep 1
|
|
|
|
killall korgac
|
|
|
|
# 1. cleanup
|
|
rm "~/test.ics"
|
|
|