1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2024-11-25 13:55:34 -05:00

Update comments, replace printf/build_filename

This commit is contained in:
Dave Davenport 2016-01-06 12:40:41 +01:00
parent 70dd6e2cef
commit c512f81c9c
3 changed files with 72 additions and 24 deletions

View file

@ -1,5 +1,17 @@
#ifndef __RUN_DIALOG_H__
#define __RUN_DIALOG_H__
#ifndef ROFI_DIALOG_RUN_H
#define ROFI_DIALOG_RUN_H
/**
* @defgroup RUNMode Run
*
* This mode uses the following options from the #config object:
* * #_Settings::run_command
* * #_Settings::run_shell_command
* * #_Settings::run_list_command
*
* @{
*/
extern Mode run_mode;
#endif
/*@}*/
#endif // DIALOG_RUN_H

View file

@ -1,5 +1,5 @@
#ifndef __SSH_DIALOG_H__
#define __SSH_DIALOG_H__
#ifndef ROFI_DIALOG_SSH_H
#define ROFI_DIALOG_SSH_H
/**
* @defgroup SSHMode SSH
@ -21,4 +21,4 @@
*/
extern Mode ssh_mode;
/*@}*/
#endif
#endif // ROFI_DIALOG_SSH_H

View file

@ -1,4 +1,4 @@
/**
/*
* rofi
*
* MIT/X11 License
@ -24,6 +24,11 @@
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
/**
* \ingroup RUNMode
* @{
*/
#include <config.h>
#include <stdlib.h>
#include <stdio.h>
@ -43,8 +48,30 @@
#include "history.h"
#include "dialogs/run.h"
/**
* Name of the history file where previously choosen commands are stored.
*/
#define RUN_CACHE_FILE "rofi-2.runcache"
/**
* The internal data structure holding the private data of the Run Mode.
*/
typedef struct _RunModePrivateData
{
/** list of available commands. */
char **cmd_list;
/** Length of the #cmd_list. */
unsigned int cmd_list_length;
} RunModePrivateData;
/**
* @param cmd The cmd to execute
* @param run_in_term Indicate if command should be run in a terminal
*
* Execute command.
*
* @returns FALSE On failure, TRUE on success
*/
static inline int execsh ( const char *cmd, int run_in_term )
{
int retv = TRUE;
@ -72,7 +99,12 @@ static inline int execsh ( const char *cmd, int run_in_term )
return retv;
}
// execute sub-process
/**
* @param cmd The cmd to execute
* @param run_in_term Indicate if command should be run in a terminal
*
* Execute command and add to history.
*/
static void exec_cmd ( const char *cmd, int run_in_term )
{
if ( !cmd || !cmd[0] ) {
@ -84,26 +116,36 @@ static void exec_cmd ( const char *cmd, int run_in_term )
* This happens in non-critical time (After launching app)
* It is allowed to be a bit slower.
*/
char *path = g_strdup_printf ( "%s/%s", cache_dir, RUN_CACHE_FILE );
char *path = g_build_filename ( cache_dir, RUN_CACHE_FILE, NULL );
history_set ( path, cmd );
g_free ( path );
}
}
// execute sub-process
/**
* @param cmd The command to remove from history
*
* Remove command from history.
*/
static void delete_entry ( const char *cmd )
{
/**
* This happens in non-critical time (After launching app)
* It is allowed to be a bit slower.
*/
char *path = g_strdup_printf ( "%s/%s", cache_dir, RUN_CACHE_FILE );
char *path = g_build_filename ( cache_dir, RUN_CACHE_FILE, NULL );
history_remove ( path, cmd );
g_free ( path );
}
/**
* @param a The First key to compare
* @param b The second key to compare
*
* Function used for sorting.
*
* @returns returns less then, equal to and greater than zero is a is less than, is a match or greater than b.
*/
static int sort_func ( const void *a, const void *b, void *data __attribute__( ( unused ) ) )
{
const char *astr = *( const char * const * ) a;
@ -118,7 +160,7 @@ static int sort_func ( const void *a, const void *b, void *data __attribute__( (
else if ( bstr == NULL ) {
return -1;
}
return strcasecmp ( astr, bstr );
return g_ascii_strcasecmp ( astr, bstr );
}
/**
@ -179,7 +221,7 @@ static char ** get_apps ( unsigned int *length )
return NULL;
}
path = g_strdup_printf ( "%s/%s", cache_dir, RUN_CACHE_FILE );
path = g_build_filename ( cache_dir, RUN_CACHE_FILE, NULL );
retv = history_get_list ( path, length );
g_free ( path );
// Keep track of how many where loaded as favorite.
@ -260,13 +302,6 @@ static char ** get_apps ( unsigned int *length )
return retv;
}
typedef struct _RunModePrivateData
{
unsigned int id;
char **cmd_list;
unsigned int cmd_list_length;
} RunModePrivateData;
static void run_mode_init ( Mode *sw )
{
if ( sw->private_data == NULL ) {
@ -359,3 +394,4 @@ Mode run_mode =
.private_data = NULL,
.free = NULL
};
/*@}*/