mirror of
https://github.com/lbonn/rofi
synced 2024-11-15 08:37:17 +00:00
Add option to output to specific file.
This commit is contained in:
parent
8ed31cab7e
commit
bae5427913
3 changed files with 35 additions and 20 deletions
|
@ -15,6 +15,9 @@ COLOR_BLUE="\e[0;34m"
|
|||
XRDB_FILE=$1
|
||||
shift
|
||||
|
||||
OUTPUT_PNG=$1
|
||||
shift
|
||||
|
||||
XVFB=$(which Xvfb 2> /dev/null)
|
||||
XDOTOOL=$(which xdotool 2> /dev/null)
|
||||
XRDB=$(which xrdb 2> /dev/null)
|
||||
|
@ -79,6 +82,11 @@ ROFI_OPTIONS="-selected-row 6 -u 2,3 -a 4,5 -location 0 -width 100 -lines 7 -col
|
|||
|
||||
export DISPLAY=${VDISPLAY}
|
||||
|
||||
if [ -n "${OUTPUT_PNG}" ]
|
||||
then
|
||||
export ROFI_PNG_OUTPUT="${OUTPUT_PNG}"
|
||||
fi
|
||||
|
||||
# Create fake X11
|
||||
create_fake_x ${VDISPLAY}
|
||||
|
||||
|
|
|
@ -585,21 +585,28 @@ static void menu_capture_screenshot ( void )
|
|||
return;
|
||||
}
|
||||
// Get current time.
|
||||
GDateTime *now = g_date_time_new_now_local ();
|
||||
GDateTime *now = g_date_time_new_now_local ();
|
||||
// Format filename.
|
||||
char *timestmp = g_date_time_format ( now, "rofi-%Y-%m-%d-%H%M" );
|
||||
char *filename = g_strdup_printf ( "%s.png", timestmp );
|
||||
char *timestmp = g_date_time_format ( now, "rofi-%Y-%m-%d-%H%M" );
|
||||
char *filename = g_strdup_printf ( "%s.png", timestmp );
|
||||
// Build full path
|
||||
char *fpath = g_build_filename ( xdg_pict_dir, filename, NULL );
|
||||
while ( g_file_test ( fpath, G_FILE_TEST_EXISTS ) && index < 99 ) {
|
||||
g_free ( fpath );
|
||||
g_free ( filename );
|
||||
// Try the next index.
|
||||
index++;
|
||||
// Format filename.
|
||||
filename = g_strdup_printf ( "%s-%d.png", timestmp, index );
|
||||
// Build full path
|
||||
char *fpath = NULL;
|
||||
const char *outp = g_getenv ( "ROFI_PNG_OUTPUT" );
|
||||
if ( outp == NULL ) {
|
||||
fpath = g_build_filename ( xdg_pict_dir, filename, NULL );
|
||||
while ( g_file_test ( fpath, G_FILE_TEST_EXISTS ) && index < 99 ) {
|
||||
g_free ( fpath );
|
||||
g_free ( filename );
|
||||
// Try the next index.
|
||||
index++;
|
||||
// Format filename.
|
||||
filename = g_strdup_printf ( "%s-%d.png", timestmp, index );
|
||||
// Build full path
|
||||
fpath = g_build_filename ( xdg_pict_dir, filename, NULL );
|
||||
}
|
||||
}
|
||||
else {
|
||||
fpath = g_strdup ( outp );
|
||||
}
|
||||
fprintf ( stderr, color_green "Storing screenshot %s\n"color_reset, fpath );
|
||||
cairo_status_t status = cairo_surface_write_to_png ( surface, fpath );
|
||||
|
@ -2444,7 +2451,7 @@ int main ( int argc, char *argv[] )
|
|||
exit ( EXIT_SUCCESS );
|
||||
}
|
||||
if ( find_arg ( "-dump-xresources-theme" ) >= 0 ) {
|
||||
print_xresources_theme();
|
||||
print_xresources_theme ();
|
||||
exit ( EXIT_SUCCESS );
|
||||
}
|
||||
// Parse the keybindings.
|
||||
|
|
|
@ -513,18 +513,18 @@ void print_help_msg ( const char *option, const char *type, const char*text, con
|
|||
|
||||
void print_xresources_theme ( void )
|
||||
{
|
||||
if( config.color_enabled != TRUE ) {
|
||||
printf("! Dumping theme only works for the extended color scheme.\n");
|
||||
if ( config.color_enabled != TRUE ) {
|
||||
printf ( "! Dumping theme only works for the extended color scheme.\n" );
|
||||
return;
|
||||
}
|
||||
printf("! ------------------------------------------------------------------------------\n");
|
||||
printf("! ROFI Color theme\n");
|
||||
printf("! ------------------------------------------------------------------------------\n");
|
||||
printf ( "! ------------------------------------------------------------------------------\n" );
|
||||
printf ( "! ROFI Color theme\n" );
|
||||
printf ( "! ------------------------------------------------------------------------------\n" );
|
||||
const char * namePrefix = "rofi";
|
||||
unsigned int entries = sizeof ( xrmOptions ) / sizeof ( *xrmOptions );
|
||||
for ( unsigned int i = 0; i < entries; ++i ) {
|
||||
if ( strncmp(xrmOptions[i].name, "color-",6) == 0){
|
||||
xresource_dump_entry(namePrefix, &xrmOptions[i]);
|
||||
if ( strncmp ( xrmOptions[i].name, "color-", 6 ) == 0 ) {
|
||||
xresource_dump_entry ( namePrefix, &xrmOptions[i] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue