mirror of
https://github.com/davatorium/rofi.git
synced 2024-11-18 13:54:36 -05:00
parent
beeb9c8b27
commit
6fffe427c4
28 changed files with 201 additions and 676 deletions
|
@ -103,7 +103,7 @@ scrollbar {
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
sidebar {
|
||||
mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: var(separatorcolor);
|
||||
}
|
||||
|
|
|
@ -103,7 +103,7 @@ scrollbar {
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
sidebar {
|
||||
mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: var(separatorcolor);
|
||||
}
|
||||
|
|
799
doc/rofi-theme.5
799
doc/rofi-theme.5
File diff suppressed because it is too large
Load diff
|
@ -512,7 +512,7 @@ The current widgets available in **rofi**:
|
|||
* `listview`: The listview.
|
||||
* `scrollbar`: the listview scrollbar
|
||||
* `element`: the entries in the listview
|
||||
* `sidebar`: the main horizontal @box packing the buttons.
|
||||
* `mode-switcher`: the main horizontal @box packing the buttons.
|
||||
* `button`: the buttons @textbox for each mode
|
||||
* `message`: The container holding the textbox.
|
||||
* `textbox`: the message textbox
|
||||
|
@ -700,7 +700,7 @@ The current layout of **rofi** is structured as follows:
|
|||
| | |-----------------------------------------------------------------------------| |
|
||||
| | | |
|
||||
| | |---------------------------------------------------------------------------| | |
|
||||
| | | sidebar {BOX:horizontal} | | |
|
||||
| | | mode-switcher {BOX:horizontal} | | |
|
||||
| | | |---------------| |---------------| |--------------| |---------------| | | |
|
||||
| | | | Button | | Button | | Button | | Button | | | |
|
||||
| | | |---------------| |---------------| |--------------| |---------------| | | |
|
||||
|
@ -739,13 +739,13 @@ The following widgets are fixed, as they provide core **rofi** functionality:
|
|||
* case-indicator
|
||||
* message
|
||||
* listview
|
||||
* sidebar
|
||||
* mode-switcher
|
||||
|
||||
The following keywords are defined and can be used to automatically pack a subset of the widgets.
|
||||
These are used in the default theme as depicted in the figure above.
|
||||
|
||||
* mainbox
|
||||
Packs: `inputbar, message, listview, sidebar`
|
||||
Packs: `inputbar, message, listview, mode-switcher`
|
||||
* inputbar
|
||||
Packs: `prompt,entry,case-indicator`
|
||||
|
||||
|
|
|
@ -48,8 +48,8 @@ typedef enum
|
|||
#define SCOPE_MIN_FIXED SCOPE_MOUSE_EDITBOX
|
||||
SCOPE_MOUSE_EDITBOX,
|
||||
SCOPE_MOUSE_SCROLLBAR,
|
||||
SCOPE_MOUSE_SIDEBAR_MODI,
|
||||
#define SCOPE_MAX_FIXED SCOPE_MOUSE_SIDEBAR_MODI
|
||||
SCOPE_MOUSE_MODE_SWITCHER,
|
||||
#define SCOPE_MAX_FIXED SCOPE_MOUSE_MODE_SWITCHER
|
||||
} BindingsScope;
|
||||
|
||||
/**
|
||||
|
|
|
@ -65,8 +65,8 @@ typedef enum
|
|||
WIDGET_TYPE_EDITBOX = SCOPE_MOUSE_EDITBOX,
|
||||
/** The listview scrollbar */
|
||||
WIDGET_TYPE_SCROLLBAR = SCOPE_MOUSE_SCROLLBAR,
|
||||
/** A tab in the modi sidebar */
|
||||
WIDGET_TYPE_SIDEBAR_MODI = SCOPE_MOUSE_SIDEBAR_MODI,
|
||||
/** A widget allowing user to swithc between modi */
|
||||
WIDGET_TYPE_MODE_SWITCHER = SCOPE_MOUSE_MODE_SWITCHER,
|
||||
/** Text-only textbox */
|
||||
WIDGET_TYPE_TEXTBOX_TEXT,
|
||||
} WidgetType;
|
||||
|
|
|
@ -897,7 +897,7 @@ void rofi_theme_convert_old ( void )
|
|||
if ( g_strcmp0 ( config.separator_style, "none" ) == 0 ) {
|
||||
const char *const str = "#listview { border: 0px; }";
|
||||
rofi_theme_parse_string ( str );
|
||||
const char *const str2 = "#sidebar { border: 0px; }";
|
||||
const char *const str2 = "#mode-switcher { border: 0px; }";
|
||||
rofi_theme_parse_string ( str2 );
|
||||
const char *const str3 = "#message { border: 0px; }";
|
||||
rofi_theme_parse_string ( str3 );
|
||||
|
@ -905,7 +905,7 @@ void rofi_theme_convert_old ( void )
|
|||
else if ( g_strcmp0 ( config.separator_style, "solid" ) == 0 ) {
|
||||
const char *const str = "#listview { border: 2px solid 0px 0px 0px; }";
|
||||
rofi_theme_parse_string ( str );
|
||||
const char *const str2 = "#sidebar { border: 2px solid 0px 0px 0px; }";
|
||||
const char *const str2 = "#mode-switcher { border: 2px solid 0px 0px 0px; }";
|
||||
rofi_theme_parse_string ( str2 );
|
||||
const char *const str3 = "#message { border: 2px solid 0px 0px 0px; }";
|
||||
rofi_theme_parse_string ( str3 );
|
||||
|
|
|
@ -1366,7 +1366,7 @@ gboolean rofi_view_trigger_action ( RofiViewState *state, BindingsScope scope, g
|
|||
case SCOPE_MOUSE_LISTVIEW_ELEMENT:
|
||||
case SCOPE_MOUSE_EDITBOX:
|
||||
case SCOPE_MOUSE_SCROLLBAR:
|
||||
case SCOPE_MOUSE_SIDEBAR_MODI:
|
||||
case SCOPE_MOUSE_MODE_SWITCHER:
|
||||
{
|
||||
gint x = state->mouse.x, y = state->mouse.y;
|
||||
widget *target = widget_find_mouse_target ( WIDGET ( state->main_window ), scope, x, y );
|
||||
|
@ -1556,7 +1556,7 @@ static void rofi_view_add_widget ( RofiViewState *state, widget *parent_widget,
|
|||
wid = (widget *) box_create ( parent_widget, name, ROFI_ORIENTATION_VERTICAL );
|
||||
box_add ( (box *) parent_widget, WIDGET ( wid ), TRUE );
|
||||
if ( config.sidebar_mode ) {
|
||||
defaults = "inputbar,message,listview,sidebar";
|
||||
defaults = "inputbar,message,listview,mode-switcher";
|
||||
} else {
|
||||
defaults = "inputbar,message,listview";
|
||||
}
|
||||
|
@ -1644,11 +1644,11 @@ static void rofi_view_add_widget ( RofiViewState *state, widget *parent_widget,
|
|||
listview_set_max_lines ( state->list_view, state->num_lines );
|
||||
}
|
||||
/**
|
||||
* SIDEBAR
|
||||
* MODE SWITCHER
|
||||
*/
|
||||
else if ( strcmp ( name, "sidebar" ) == 0 ) {
|
||||
else if ( strcmp ( name, "mode-switcher" ) == 0 ) {
|
||||
if ( state->sidebar_bar != NULL ) {
|
||||
g_error ( "Sidebar widget can only be added once to the layout." );
|
||||
g_error ( "Mode-switcher can only be added once to the layout." );
|
||||
return;
|
||||
}
|
||||
state->sidebar_bar = box_create ( parent_widget, name, ROFI_ORIENTATION_HORIZONTAL );
|
||||
|
@ -1657,7 +1657,7 @@ static void rofi_view_add_widget ( RofiViewState *state, widget *parent_widget,
|
|||
state->modi = g_malloc0 ( state->num_modi * sizeof ( textbox * ) );
|
||||
for ( unsigned int j = 0; j < state->num_modi; j++ ) {
|
||||
const Mode * mode = rofi_get_mode ( j );
|
||||
state->modi[j] = textbox_create ( WIDGET ( state->sidebar_bar ), WIDGET_TYPE_SIDEBAR_MODI, "button", TB_AUTOHEIGHT, ( mode == state->sw ) ? HIGHLIGHT : NORMAL,
|
||||
state->modi[j] = textbox_create ( WIDGET ( state->sidebar_bar ), WIDGET_TYPE_MODE_SWITCHER, "button", TB_AUTOHEIGHT, ( mode == state->sw ) ? HIGHLIGHT : NORMAL,
|
||||
mode_get_display_name ( mode ), 0.5, 0.5 );
|
||||
box_add ( state->sidebar_bar, WIDGET ( state->modi[j] ), TRUE );
|
||||
widget_set_trigger_action_handler ( WIDGET ( state->modi[j] ), textbox_sidebar_modi_trigger_action, state );
|
||||
|
|
|
@ -107,7 +107,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@
|
|||
text-color: @alternate-active-foreground;
|
||||
background-color: @alternate-active-background;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 1px dash 0px 0px ;
|
||||
}
|
||||
#button selected {
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -149,13 +149,13 @@
|
|||
|
||||
#vertb {
|
||||
expand: false;
|
||||
children: [ dummy0, sidebar, dummy1 ];
|
||||
children: [ dummy0, mode-switcher, dummy1 ];
|
||||
}
|
||||
#dummy0, dummy1 {
|
||||
expand: true;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
expand: false;
|
||||
orientation: vertical;
|
||||
spacing: 0px;
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -109,7 +109,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ scrollbar {
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
sidebar {
|
||||
mode-switcher {
|
||||
border: 2px 0 0;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
background-color: #F5F5F500;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px;
|
||||
padding: 0.5em 1em;
|
||||
background-color: @grey;
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
text-color: @lightwhite;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px 0px 0px 0px;
|
||||
background-color: @lightblack;
|
||||
padding: 4px;
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
handle-width: 8px ;
|
||||
padding: 0;
|
||||
}
|
||||
#sidebar {
|
||||
#mode-switcher {
|
||||
border: 2px dash 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue