mirror of
https://github.com/lbonn/rofi
synced 2024-11-13 23:57:10 +00:00
Add screenshot test
This commit is contained in:
parent
de96149bed
commit
745f9f3c62
5 changed files with 34 additions and 5 deletions
|
@ -186,6 +186,8 @@ test-x: ${bin_PROGRAMS}
|
||||||
$(top_srcdir)/test/run_test.sh 208 $(top_srcdir)/test/run_dmenu_empty.sh $(top_builddir)
|
$(top_srcdir)/test/run_test.sh 208 $(top_srcdir)/test/run_dmenu_empty.sh $(top_builddir)
|
||||||
echo "Test multiple select"
|
echo "Test multiple select"
|
||||||
$(top_srcdir)/test/run_test.sh 209 $(top_srcdir)/test/run_dmenu_issue_292.sh $(top_builddir)
|
$(top_srcdir)/test/run_test.sh 209 $(top_srcdir)/test/run_dmenu_issue_292.sh $(top_builddir)
|
||||||
|
echo "Test screenshot"
|
||||||
|
$(top_srcdir)/test/run_test.sh 210 $(top_srcdir)/test/run_screenshot_test.sh $(top_builddir)
|
||||||
echo "End tests"
|
echo "End tests"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -613,14 +613,15 @@ static int locate_switcher ( KeySym key, unsigned int modstate )
|
||||||
*/
|
*/
|
||||||
static void menu_capture_screenshot ( void )
|
static void menu_capture_screenshot ( void )
|
||||||
{
|
{
|
||||||
|
const char *outp = g_getenv ( "ROFI_PNG_OUTPUT" );
|
||||||
if ( surface == NULL ) {
|
if ( surface == NULL ) {
|
||||||
// Nothing to store.
|
// Nothing to store.
|
||||||
fprintf ( stderr, "There is no rofi surface to store\n" );
|
fprintf ( stderr, "There is no rofi surface to store\n" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const char *xdg_pict_dir = g_get_user_special_dir ( G_USER_DIRECTORY_PICTURES );
|
const char *xdg_pict_dir = g_get_user_special_dir ( G_USER_DIRECTORY_PICTURES );
|
||||||
if ( xdg_pict_dir == NULL ) {
|
if ( outp == NULL && xdg_pict_dir == NULL ) {
|
||||||
fprintf ( stderr, "XDG user picture directory is not set. Cannot store screenshot.\n" );
|
fprintf ( stderr, "XDG user picture directory or ROFI_PNG_OUTPUT is not set. Cannot store screenshot.\n" );
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Get current time.
|
// Get current time.
|
||||||
|
@ -630,7 +631,6 @@ static void menu_capture_screenshot ( void )
|
||||||
char *filename = g_strdup_printf ( "%s.png", timestmp );
|
char *filename = g_strdup_printf ( "%s.png", timestmp );
|
||||||
// Build full path
|
// Build full path
|
||||||
char *fpath = NULL;
|
char *fpath = NULL;
|
||||||
const char *outp = g_getenv ( "ROFI_PNG_OUTPUT" );
|
|
||||||
if ( outp == NULL ) {
|
if ( outp == NULL ) {
|
||||||
int index = 0;
|
int index = 0;
|
||||||
fpath = g_build_filename ( xdg_pict_dir, filename, NULL );
|
fpath = g_build_filename ( xdg_pict_dir, filename, NULL );
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
xrdb -load ../doc/example.xresources
|
|
||||||
echo -e -n "aap\nnoot\nmies" | rofi -width -30 -dmenu > output.txt &
|
echo -e -n "aap\nnoot\nmies" | rofi -width -30 -dmenu > output.txt &
|
||||||
RPID=$!
|
RPID=$!
|
||||||
|
|
||||||
|
|
28
test/run_screenshot_test.sh
Executable file
28
test/run_screenshot_test.sh
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
export ROFI_PNG_OUTPUT=out.png
|
||||||
|
rofi -show run &
|
||||||
|
RPID=$!
|
||||||
|
|
||||||
|
# send enter.
|
||||||
|
sleep 5;
|
||||||
|
xdotool key 't'
|
||||||
|
sleep 0.4
|
||||||
|
xdotool key 'r'
|
||||||
|
sleep 0.4
|
||||||
|
xdotool key 'u'
|
||||||
|
sleep 0.4
|
||||||
|
xdotool key Alt+Shift+s
|
||||||
|
sleep 0.4
|
||||||
|
xdotool key Return
|
||||||
|
|
||||||
|
# Get result, kill xvfb
|
||||||
|
wait ${RPID}
|
||||||
|
RETV=$?
|
||||||
|
|
||||||
|
if [ ! -f out.png ]
|
||||||
|
then
|
||||||
|
echo "Failed to create screenshot"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exit ${RETV}
|
|
@ -28,7 +28,7 @@ fi
|
||||||
create_fake_x "$1"
|
create_fake_x "$1"
|
||||||
if [ -n "$4" ]
|
if [ -n "$4" ]
|
||||||
then
|
then
|
||||||
xrdb -load "$4"
|
xrdb -load -retain "$4"
|
||||||
fi
|
fi
|
||||||
echo "$DISPLAY"
|
echo "$DISPLAY"
|
||||||
$2
|
$2
|
||||||
|
|
Loading…
Reference in a new issue