1
0
Fork 0
mirror of https://github.com/davatorium/rofi.git synced 2025-02-10 15:44:41 -05:00

More docu updates

This commit is contained in:
Dave Davenport 2016-10-14 18:56:09 +02:00
parent ce341f6885
commit 9293c8b8ce
6 changed files with 162 additions and 7 deletions

View file

@ -1,11 +1,35 @@
#ifndef ROFI_MODE_PRIVATE_H #ifndef ROFI_MODE_PRIVATE_H
#define ROFI_MODE_PRIVATE_H #define ROFI_MODE_PRIVATE_H
/**
* @param data The #self pointer.
*
* Mode free function.
*/
typedef void ( *_mode_free )( Mode *data ); typedef void ( *_mode_free )( Mode *data );
/**
* @param sw The #Mode pointer
* @param selected_line The selected line
* @param state The state to display [out]
* @param get_entry if it should only return the state
*
* Get the value for displaying.
*
* @return the string and state for displaying.
*/
typedef char * ( *_mode_get_display_value )( const Mode *sw, unsigned int selected_line, int *state, int get_entry ); typedef char * ( *_mode_get_display_value )( const Mode *sw, unsigned int selected_line, int *state, int get_entry );
/**
* @param sw The #Mode pointer
* @param selected_line The selected line
*
* Obtains the string to complete.
*
* @return Get the completion string
*/
typedef char * ( *_mode_get_completion )( const Mode *sw, unsigned int selected_line ); typedef char * ( *_mode_get_completion )( const Mode *sw, unsigned int selected_line );
/** /**
* @param tokens List of (input) tokens to match. * @param tokens List of (input) tokens to match.
* @param input The entry to match against. * @param input The entry to match against.
@ -19,14 +43,52 @@ typedef char * ( *_mode_get_completion )( const Mode *sw, unsigned int selected_
*/ */
typedef int ( *_mode_token_match )( const Mode *data, GRegex **tokens, unsigned int index ); typedef int ( *_mode_token_match )( const Mode *data, GRegex **tokens, unsigned int index );
/**
* @param sw The #Mode pointer
*
* Initialize the mode.
*
* @returns TRUE is successfull
*/
typedef int ( *__mode_init )( Mode *sw ); typedef int ( *__mode_init )( Mode *sw );
/**
* @param sw The #Mode pointer
*
* Get the number of entries.
*
* @returns the number of entries
*/
typedef unsigned int ( *__mode_get_num_entries )( const Mode *sw ); typedef unsigned int ( *__mode_get_num_entries )( const Mode *sw );
/**
* @param sw The #Mode pointer
*
* Destroy the current mode. Still ready to restart.
*
*/
typedef void ( *__mode_destroy )( Mode *sw ); typedef void ( *__mode_destroy )( Mode *sw );
/**
* @param sw The #Mode pointer
* @param menu_retv The return value
* @param input The input string
* @param selected_line The selected line
*
* Handle the user accepting an entry.
*
* @returns the next action to take
*/
typedef ModeMode ( *_mode_result )( Mode *sw, int menu_retv, char **input, unsigned int selected_line ); typedef ModeMode ( *_mode_result )( Mode *sw, int menu_retv, char **input, unsigned int selected_line );
/**
* @param sw The #Mode pointer
* @param input The input string
*
* Preprocess the input for sorting.
*
* @returns Entry stripped from markup for sorting
*/
typedef char* ( *_mode_preprocess_input )( Mode *sw, const char *input ); typedef char* ( *_mode_preprocess_input )( Mode *sw, const char *input );
/** /**

View file

@ -72,18 +72,82 @@ void listview_nav_page_next ( listview *lv );
* - Clip at top/bottom * - Clip at top/bottom
*/ */
void listview_nav_page_prev ( listview *lv ); void listview_nav_page_prev ( listview *lv );
/** /**
* Configuration. * @param lv Handler to the listview object
* @param padding The padding
*
* Padding on between the widgets.
*/ */
void listview_set_padding ( listview *lv, unsigned int padding ); void listview_set_padding ( listview *lv, unsigned int padding );
/**
* @param lv Handler to the listview object
* @param lines The maximum number of lines
*
* Set the maximum number of lines to show.
*/
void listview_set_max_lines ( listview *lv, unsigned int lines ); void listview_set_max_lines ( listview *lv, unsigned int lines );
/**
* @param lv Handler to the listview object
* @param columns The maximum number of columns
*
* Set the maximum number of columns to show.
*/
void listview_set_max_columns ( listview *lv, unsigned int columns ); void listview_set_max_columns ( listview *lv, unsigned int columns );
/**
* @param lv Handler to the listview object
* @param enabled enable
*
* Set fixed num lines mode.
*/
void listview_set_fixed_num_lines ( listview *lv, gboolean enabled ); void listview_set_fixed_num_lines ( listview *lv, gboolean enabled );
/**
* @param lv Handler to the listview object
* @param enabled enable
*
* Hide the scrollbar.
*/
void listview_set_hide_scrollbar ( listview *lv, gboolean enabled ); void listview_set_hide_scrollbar ( listview *lv, gboolean enabled );
/**
* @param lv Handler to the listview object
* @param width Width in pixels
*
* Set the width of the scrollbar
*/
void listview_set_scrollbar_width ( listview *lv, unsigned int width ); void listview_set_scrollbar_width ( listview *lv, unsigned int width );
/**
* @param lv Handler to the listview object
* @param cycle True for cycle mode
*
* Set cycle mode. On last entry go to first.
*/
void listview_set_cycle ( listview *lv, gboolean cycle ); void listview_set_cycle ( listview *lv, gboolean cycle );
/**
* @param lv Handler to the listview object
* @param type ScrollType
*
* Set the scroll type ScrollType::LISTVIEW_SCROLL_CONTINIOUS or ScrollType::LISTVIEW_SCROLL_PER_PAGE
*/
void listview_set_scroll_type ( listview *lv, ScrollType type ); void listview_set_scroll_type ( listview *lv, ScrollType type );
/**
* @param lv Handler to the listview object
* @param cb The callback
* @param udata User data
*
* Set the mouse activated callback.
*/
void listview_set_mouse_activated_cb ( listview *lv, listview_mouse_activated_cb cb, void *udata ); void listview_set_mouse_activated_cb ( listview *lv, listview_mouse_activated_cb cb, void *udata );
/**
* @param lv Handler to the listview object
* @param enabled
*
* Enable,disable multi-select.
*/
void listview_set_multi_select ( listview *lv, gboolean enable ); void listview_set_multi_select ( listview *lv, gboolean enable );
/* @} */ /* @} */

View file

@ -1,6 +1,9 @@
#ifndef WIDGET_INTERNAL_H #ifndef WIDGET_INTERNAL_H
#define WIDGET_INTERNAL_H #define WIDGET_INTERNAL_H
/**
* Data structure holding the internal state of the Widget
*/
struct _widget struct _widget
{ {
/** X position relative to parent */ /** X position relative to parent */
@ -13,26 +16,31 @@ struct _widget
short h; short h;
/** enabled or not */ /** enabled or not */
gboolean enabled; gboolean enabled;
/** Information about packing. */ /** Expand the widget when packed */
gboolean expand; gboolean expand;
/** Place widget at end of parent */
gboolean end; gboolean end;
/** Parent widget */
struct _widget *parent; struct _widget *parent;
/** Internal */ /** Internal */
gboolean need_redraw; gboolean need_redraw;
/** Function prototypes */ /** get width of widget implementation function */
int ( *get_width )( struct _widget * ); int ( *get_width )( struct _widget * );
/** get height of widget implementation function */
int ( *get_height )( struct _widget * ); int ( *get_height )( struct _widget * );
/** draw widget implementation function */
void ( *draw )( struct _widget *widget, cairo_t *draw ); void ( *draw )( struct _widget *widget, cairo_t *draw );
/** resize widget implementation function */
void ( *resize )( struct _widget *, short, short ); void ( *resize )( struct _widget *, short, short );
/** update widget implementation function */
void ( *update )( struct _widget * ); void ( *update )( struct _widget * );
// Signals. /** widget clicked callback */
widget_clicked_cb clicked; widget_clicked_cb clicked;
/** user data for ::clicked callback */
void *clicked_cb_data; void *clicked_cb_data;
// Free /** Free widget callback */
void ( *free )( struct _widget *widget ); void ( *free )( struct _widget *widget );
}; };
#endif // WIDGET_INTERNAL_H #endif // WIDGET_INTERNAL_H

View file

@ -6,15 +6,24 @@
struct xkb_stuff struct xkb_stuff
{ {
/** connection to the X server*/
xcb_connection_t *xcb_connection; xcb_connection_t *xcb_connection;
/** Keyboard context */
struct xkb_context *context; struct xkb_context *context;
/** Flag indicating first event */
uint8_t first_event; uint8_t first_event;
/** Keyboard device id */
int32_t device_id; int32_t device_id;
/** Current keymap */
struct xkb_keymap *keymap; struct xkb_keymap *keymap;
/** Keyboard state */
struct xkb_state *state; struct xkb_state *state;
/** Compose information */
struct struct
{ {
/** Compose table */
struct xkb_compose_table *table; struct xkb_compose_table *table;
/** Compose state */
struct xkb_compose_state * state; struct xkb_compose_state * state;
} compose; } compose;
}; };

View file

@ -39,9 +39,14 @@
#define HISTORY_MAX_ENTRIES 25 #define HISTORY_MAX_ENTRIES 25
/**
* History element
*/
typedef struct __element typedef struct __element
{ {
/** Index in history */
long int index; long int index;
/** Entry */
char *name; char *name;
}_element; }_element;

View file

@ -56,11 +56,18 @@ typedef struct
Color hlbg; Color hlbg;
} RowColor; } RowColor;
/** Number of states */
#define num_states 3 #define num_states 3
/**
* Different colors for the different states
*/
RowColor colors[num_states]; RowColor colors[num_states];
/** Default pango context */
static PangoContext *p_context = NULL; static PangoContext *p_context = NULL;
/** The pango font metrics */
static PangoFontMetrics *p_metrics = NULL; static PangoFontMetrics *p_metrics = NULL;
static gboolean textbox_blink ( gpointer data ) static gboolean textbox_blink ( gpointer data )
{ {
textbox *tb = (textbox *) data; textbox *tb = (textbox *) data;