mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-25 13:55:34 -05:00
More cleanups
This commit is contained in:
parent
ca3afc6a6e
commit
ad932c8fd0
3 changed files with 34 additions and 24 deletions
|
@ -17,14 +17,8 @@ typedef enum
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param sw the Mode to show.
|
* @param sw the Mode to show.
|
||||||
* @param lines An array of strings to display.
|
|
||||||
* @param num_lines Length of the array with strings to display.
|
|
||||||
* @param input A pointer to a string where the inputted data is placed.
|
* @param input A pointer to a string where the inputted data is placed.
|
||||||
* @param prompt The prompt to show.
|
* @param prompt The prompt to show.
|
||||||
* @param shift pointer to integer that is set to the state of the shift key.
|
|
||||||
* @param mmc Menu menu match callback, used for matching user input.
|
|
||||||
* @param mmc_data data to pass to mmc.
|
|
||||||
* @param selected_line pointer to integer holding the selected line.
|
|
||||||
* @param message Extra message to display.
|
* @param message Extra message to display.
|
||||||
* @param flags Flags indicating state of the menu.
|
* @param flags Flags indicating state of the menu.
|
||||||
*
|
*
|
||||||
|
@ -32,10 +26,9 @@ typedef enum
|
||||||
*
|
*
|
||||||
* @returns The command issued (see MenuReturn)
|
* @returns The command issued (see MenuReturn)
|
||||||
*/
|
*/
|
||||||
RofiViewState *rofi_view_create ( Mode *sw,
|
RofiViewState *rofi_view_create ( Mode *sw, const char *input, char *prompt, const char *message, MenuFlags flags )
|
||||||
const char *input, char *prompt,
|
|
||||||
const char *message, MenuFlags flags )
|
|
||||||
__attribute__ ( ( nonnull ( 1, 2, 3 ) ) );
|
__attribute__ ( ( nonnull ( 1, 2, 3 ) ) );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The Menu Handle
|
* @param state The Menu Handle
|
||||||
*
|
*
|
||||||
|
|
|
@ -47,9 +47,6 @@
|
||||||
|
|
||||||
#include <glib-unix.h>
|
#include <glib-unix.h>
|
||||||
|
|
||||||
#include <cairo.h>
|
|
||||||
#include <cairo-xlib.h>
|
|
||||||
|
|
||||||
#define SN_API_NOT_YET_FROZEN
|
#define SN_API_NOT_YET_FROZEN
|
||||||
#include <libsn/sn.h>
|
#include <libsn/sn.h>
|
||||||
|
|
||||||
|
@ -508,7 +505,9 @@ static inline void load_configuration_dynamic ( Display *display )
|
||||||
|
|
||||||
static void print_global_keybindings ()
|
static void print_global_keybindings ()
|
||||||
{
|
{
|
||||||
fprintf ( stdout, "listening to the following keys:\n" );
|
if ( quiet ) {
|
||||||
|
fprintf ( stdout, "listening to the following keys:\n" );
|
||||||
|
}
|
||||||
for ( unsigned int i = 0; i < num_modi; i++ ) {
|
for ( unsigned int i = 0; i < num_modi; i++ ) {
|
||||||
mode_print_keybindings ( modi[i] );
|
mode_print_keybindings ( modi[i] );
|
||||||
}
|
}
|
||||||
|
@ -586,7 +585,9 @@ gboolean main_loop_x11_event_handler ( G_GNUC_UNUSED gpointer data )
|
||||||
*/
|
*/
|
||||||
static gboolean main_loop_signal_handler_hup ( G_GNUC_UNUSED gpointer data )
|
static gboolean main_loop_signal_handler_hup ( G_GNUC_UNUSED gpointer data )
|
||||||
{
|
{
|
||||||
fprintf ( stdout, "Reload configuration\n" );
|
if ( !quiet ) {
|
||||||
|
fprintf ( stdout, "Reload configuration\n" );
|
||||||
|
}
|
||||||
// Release the keybindings.
|
// Release the keybindings.
|
||||||
release_global_keybindings ();
|
release_global_keybindings ();
|
||||||
// Reload config
|
// Reload config
|
||||||
|
@ -597,6 +598,7 @@ static gboolean main_loop_signal_handler_hup ( G_GNUC_UNUSED gpointer data )
|
||||||
XFlush ( display );
|
XFlush ( display );
|
||||||
return G_SOURCE_CONTINUE;
|
return G_SOURCE_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean main_loop_signal_handler_int ( G_GNUC_UNUSED gpointer data )
|
static gboolean main_loop_signal_handler_int ( G_GNUC_UNUSED gpointer data )
|
||||||
{
|
{
|
||||||
// Break out of loop.
|
// Break out of loop.
|
||||||
|
@ -626,12 +628,15 @@ static void error_trap_pop ( G_GNUC_UNUSED SnDisplay *display, Display *xdispl
|
||||||
XSync ( xdisplay, False ); /* get all errors out of the queue */
|
XSync ( xdisplay, False ); /* get all errors out of the queue */
|
||||||
--error_trap_depth;
|
--error_trap_depth;
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean delayed_start ( G_GNUC_UNUSED gpointer data )
|
static gboolean delayed_start ( G_GNUC_UNUSED gpointer data )
|
||||||
{
|
{
|
||||||
// Force some X Events to be handled.. seems the only way to get a reliable startup.
|
// Force some X Events to be handled.. seems the only way to get a reliable startup.
|
||||||
|
rofi_view_queue_redraw ();
|
||||||
main_loop_x11_event_handler ( NULL );
|
main_loop_x11_event_handler ( NULL );
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main ( int argc, char *argv[] )
|
int main ( int argc, char *argv[] )
|
||||||
{
|
{
|
||||||
TIMINGS_START ();
|
TIMINGS_START ();
|
||||||
|
|
|
@ -44,8 +44,6 @@
|
||||||
#include <sys/wait.h>
|
#include <sys/wait.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
#include <glib-unix.h>
|
|
||||||
|
|
||||||
#include <cairo.h>
|
#include <cairo.h>
|
||||||
#include <cairo-xlib.h>
|
#include <cairo-xlib.h>
|
||||||
|
|
||||||
|
@ -53,6 +51,8 @@
|
||||||
#include <libsn/sn.h>
|
#include <libsn/sn.h>
|
||||||
|
|
||||||
#include "settings.h"
|
#include "settings.h"
|
||||||
|
|
||||||
|
#include "rofi.h"
|
||||||
#include "mode.h"
|
#include "mode.h"
|
||||||
#include "rofi.h"
|
#include "rofi.h"
|
||||||
#include "helper.h"
|
#include "helper.h"
|
||||||
|
@ -62,7 +62,6 @@
|
||||||
#include "x11-event-source.h"
|
#include "x11-event-source.h"
|
||||||
#include "xrmoptions.h"
|
#include "xrmoptions.h"
|
||||||
#include "dialogs/dialogs.h"
|
#include "dialogs/dialogs.h"
|
||||||
#include "rofi.h"
|
|
||||||
|
|
||||||
#include "view.h"
|
#include "view.h"
|
||||||
#include "view-internal.h"
|
#include "view-internal.h"
|
||||||
|
@ -103,10 +102,10 @@ static char * get_matching_state ( void )
|
||||||
}
|
}
|
||||||
return " ";
|
return " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Levenshtein Sorting.
|
* Levenshtein Sorting.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static int lev_sort ( const void *p1, const void *p2, void *arg )
|
static int lev_sort ( const void *p1, const void *p2, void *arg )
|
||||||
{
|
{
|
||||||
const int *a = p1;
|
const int *a = p1;
|
||||||
|
@ -167,6 +166,7 @@ static void menu_capture_screenshot ( void )
|
||||||
g_free ( timestmp );
|
g_free ( timestmp );
|
||||||
g_date_time_unref ( now );
|
g_date_time_unref ( now );
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state the state of the View.
|
* @param state the state of the View.
|
||||||
* @param mon the work area.
|
* @param mon the work area.
|
||||||
|
@ -209,6 +209,7 @@ static void calculate_window_position ( RofiViewState *state )
|
||||||
state->x += config.x_offset;
|
state->x += config.x_offset;
|
||||||
state->y += config.y_offset;
|
state->y += config.y_offset;
|
||||||
}
|
}
|
||||||
|
|
||||||
void rofi_view_queue_redraw ( void )
|
void rofi_view_queue_redraw ( void )
|
||||||
{
|
{
|
||||||
if ( current_active_menu ) {
|
if ( current_active_menu ) {
|
||||||
|
@ -223,6 +224,7 @@ void rofi_view_restart ( RofiViewState *state )
|
||||||
state->quit = FALSE;
|
state->quit = FALSE;
|
||||||
state->retv = MENU_CANCEL;
|
state->retv = MENU_CANCEL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void rofi_view_set_active ( RofiViewState *state )
|
void rofi_view_set_active ( RofiViewState *state )
|
||||||
{
|
{
|
||||||
g_assert ( ( current_active_menu == NULL && state != NULL ) || ( current_active_menu != NULL && state == NULL ) );
|
g_assert ( ( current_active_menu == NULL && state != NULL ) || ( current_active_menu != NULL && state == NULL ) );
|
||||||
|
@ -284,6 +286,7 @@ MenuReturn rofi_view_get_return_value ( const RofiViewState *state )
|
||||||
{
|
{
|
||||||
return state->retv;
|
return state->retv;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned int rofi_view_get_selected_line ( const RofiViewState *state )
|
unsigned int rofi_view_get_selected_line ( const RofiViewState *state )
|
||||||
{
|
{
|
||||||
return state->selected_line;
|
return state->selected_line;
|
||||||
|
@ -302,10 +305,12 @@ unsigned int rofi_view_get_completed ( const RofiViewState *state )
|
||||||
{
|
{
|
||||||
return state->quit;
|
return state->quit;
|
||||||
}
|
}
|
||||||
|
|
||||||
void rofi_view_itterrate ( RofiViewState *state, XEvent *event )
|
void rofi_view_itterrate ( RofiViewState *state, XEvent *event )
|
||||||
{
|
{
|
||||||
state->x11_event_loop ( state, event );
|
state->x11_event_loop ( state, event );
|
||||||
}
|
}
|
||||||
|
|
||||||
const char * rofi_view_get_user_input ( const RofiViewState *state )
|
const char * rofi_view_get_user_input ( const RofiViewState *state )
|
||||||
{
|
{
|
||||||
if ( state->text ) {
|
if ( state->text ) {
|
||||||
|
@ -442,6 +447,7 @@ static Window __create_window ( Display *display )
|
||||||
x11_set_window_opacity ( display, box, config.window_opacity );
|
x11_set_window_opacity ( display, box, config.window_opacity );
|
||||||
return box;
|
return box;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Small wrapper function to create easy workers.
|
* Small wrapper function to create easy workers.
|
||||||
*/
|
*/
|
||||||
|
@ -533,6 +539,7 @@ inline static void rofi_view_nav_page_next ( RofiViewState *state )
|
||||||
}
|
}
|
||||||
state->update = TRUE;
|
state->update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The current RofiViewState
|
* @param state The current RofiViewState
|
||||||
*
|
*
|
||||||
|
@ -581,6 +588,7 @@ inline static void rofi_view_nav_right ( RofiViewState *state )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The current RofiViewState
|
* @param state The current RofiViewState
|
||||||
*
|
*
|
||||||
|
@ -594,6 +602,7 @@ inline static void rofi_view_nav_left ( RofiViewState *state )
|
||||||
state->update = TRUE;
|
state->update = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The current RofiViewState
|
* @param state The current RofiViewState
|
||||||
*
|
*
|
||||||
|
@ -612,6 +621,7 @@ inline static void rofi_view_nav_up ( RofiViewState *state )
|
||||||
}
|
}
|
||||||
state->update = TRUE;
|
state->update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The current RofiViewState
|
* @param state The current RofiViewState
|
||||||
*
|
*
|
||||||
|
@ -627,6 +637,7 @@ inline static void rofi_view_nav_down ( RofiViewState *state )
|
||||||
state->selected = state->selected < state->filtered_lines - 1 ? MIN ( state->filtered_lines - 1, state->selected + 1 ) : 0;
|
state->selected = state->selected < state->filtered_lines - 1 ? MIN ( state->filtered_lines - 1, state->selected + 1 ) : 0;
|
||||||
state->update = TRUE;
|
state->update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The current RofiViewState
|
* @param state The current RofiViewState
|
||||||
*
|
*
|
||||||
|
@ -637,6 +648,7 @@ inline static void rofi_view_nav_first ( RofiViewState * state )
|
||||||
state->selected = 0;
|
state->selected = 0;
|
||||||
state->update = TRUE;
|
state->update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param state The current RofiViewState
|
* @param state The current RofiViewState
|
||||||
*
|
*
|
||||||
|
@ -651,6 +663,7 @@ inline static void rofi_view_nav_last ( RofiViewState * state )
|
||||||
state->selected = state->filtered_lines - 1;
|
state->selected = state->filtered_lines - 1;
|
||||||
state->update = TRUE;
|
state->update = TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void rofi_view_draw ( RofiViewState *state, cairo_t *d )
|
static void rofi_view_draw ( RofiViewState *state, cairo_t *d )
|
||||||
{
|
{
|
||||||
unsigned int i, offset = 0;
|
unsigned int i, offset = 0;
|
||||||
|
@ -732,6 +745,9 @@ static void rofi_view_draw ( RofiViewState *state, cairo_t *d )
|
||||||
|
|
||||||
void rofi_view_update ( RofiViewState *state )
|
void rofi_view_update ( RofiViewState *state )
|
||||||
{
|
{
|
||||||
|
if ( !state->update ) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
TICK ();
|
TICK ();
|
||||||
cairo_surface_t * surf = cairo_image_surface_create ( get_format (), state->w, state->h );
|
cairo_surface_t * surf = cairo_image_surface_create ( get_format (), state->w, state->h );
|
||||||
cairo_t *d = cairo_create ( surf );
|
cairo_t *d = cairo_create ( surf );
|
||||||
|
@ -1364,9 +1380,7 @@ static void rofi_view_mainloop_iter ( RofiViewState *state, XEvent *ev )
|
||||||
if ( state->refilter ) {
|
if ( state->refilter ) {
|
||||||
rofi_view_refilter ( state );
|
rofi_view_refilter ( state );
|
||||||
}
|
}
|
||||||
if ( state->update ) {
|
rofi_view_update ( state );
|
||||||
rofi_view_update ( state );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
RofiViewState *rofi_view_create ( Mode *sw,
|
RofiViewState *rofi_view_create ( Mode *sw,
|
||||||
const char *input,
|
const char *input,
|
||||||
|
@ -1598,9 +1612,7 @@ static void error_dialog_event_loop ( RofiViewState *state, XEvent *ev )
|
||||||
}
|
}
|
||||||
state->quit = TRUE;
|
state->quit = TRUE;
|
||||||
}
|
}
|
||||||
if ( state->update ) {
|
rofi_view_update ( state );
|
||||||
rofi_view_update ( state );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
void error_dialog ( const char *msg, int markup )
|
void error_dialog ( const char *msg, int markup )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue