Merge remote-tracking branch 'upstream/next' into wayland

This commit is contained in:
lbonn 2020-09-02 16:10:58 +02:00
commit afe553909d
37 changed files with 657 additions and 504 deletions

View file

@ -19,7 +19,7 @@ Output of `rofi -v`
## Configuration
Output of `rofi -help` (in a [gist](https://gist.github.com/))
Output of `rofi -help` (in a [gist](https://gist.github.com/), please paste the *full* output)
## Launch Command

View file

@ -641,4 +641,5 @@ EXTRA_DIST += \
subprojects/libnkutils/meson_options.txt \
subprojects/libgwater/xcb/meson.build \
meson_options.txt \
subprojects/xcb \
meson.build

View file

@ -122,14 +122,18 @@ Settings config = {
.tokenize = TRUE,
.matching = "normal",
.matching_method = MM_NORMAL,
/** Desktop entry fields to match*/
.drun_match_fields = "name,generic,exec,categories,keywords",
.drun_categories = NULL,
/** Desktop format display */
.drun_display_format = "{name} [<span weight='light' size='small'><i>({generic})</i></span>]",
/** Desktop entries to match in drun */
.drun_match_fields = "name,generic,exec,categories,keywords",
/** Only show entries in this category */
.drun_categories = NULL,
/** Desktop entry show actions */
.drun_show_actions = FALSE,
/** Desktop entry show actions */
/** Desktop format display */
.drun_display_format = "{name} [<span weight='light' size='small'><i>({generic})</i></span>]",
/** Desktop Link launch command */
.drun_url_launcher = "xdg-open",
/** Window fields to match in window mode*/
.window_match_fields = "all",
/** Monitor */
@ -164,10 +168,13 @@ Settings config = {
.matching_negate_char = '-',
.cache_dir = NULL,
.window_thumbnail = FALSE,
.cache_dir = NULL,
.window_thumbnail = FALSE,
/** drun cache */
.drun_use_desktop_cache = FALSE,
.drun_reload_desktop_cache = FALSE,
/** Benchmarks */
.benchmark_ui = FALSE
};

View file

@ -128,14 +128,18 @@ typedef struct
SortingMethod sorting_method_enum;
/** Sorting method. */
char * sorting_method;
/** Desktop entries to match in drun */
char * drun_match_fields;
/** Only show entries in this category */
char * drun_categories;
/** Desktop entry show actions */
unsigned int drun_show_actions;
/** Desktop entry show */
/** Desktop format display */
char * drun_display_format;
/** Desktop Link launch command */
char * drun_url_launcher;
/** Search case sensitivity */
unsigned int case_sensitive;
/** Cycle through in the element list */

View file

@ -304,6 +304,10 @@ void rofi_view_get_current_monitor ( int *width, int *height );
* Takes a screenshot.
*/
void rofi_capture_screenshot ( void );
/**
* Set the window title.
*/
void rofi_view_set_window_title ( const char * title );
/**
* set ellipsize mode to start.

View file

@ -51,9 +51,11 @@ deps = [
c_compiler.find_library('m', required: false),
]
gwxcb = subproject('xcb')
# XCB stuff
deps += [
subproject('libgwater-xcb').get_variable('libgwater_xcb'),
gwxcb.get_variable('libgwater_xcb'),
dependency('xcb-aux'),
dependency('xcb-xkb'),
dependency('xkbcommon-x11'),

View file

@ -1,12 +1,10 @@
# 1.6.0:
# 1.6.0: The Masked Launcher
More then 2 years after the 1.5.0 release and a year after 1.5.4, we present rofi 1.6.0. This release
is again focusses bug-fixing and improving the experience for themers and
script developers. The script mode has been extended with many small requested tweaks to get it more
on par with dmenu mode. For themers the listview has been made more flexible, allowing more fancy themes,
for examples mimicking Gnomes application launcher or albert. But also features as `calc()` has been
added.
on par with dmenu mode. For themers the listview has been made more flexible, allowing more fancy themes,
for examples mimicking Gnomes application launcher or [albert](https://github.com/albertlauncher/albert).
Big thanks to [SardemFF7](https://www.sardemff7.net/) and all the other
contributors, without their support and contributions this release would not
@ -16,7 +14,7 @@ have been possible.
## Script mode
Rofi now communicates some information back to the script using environment variables.
The most important one, is `ROFI_RETV`, this is equal to the return value in dmenu mode.
The most important one, is `ROFI_RETV`, this is equal to the return value in dmenu mode.
It can have the following values:
* **0**: Initial call of script.
@ -33,6 +31,28 @@ Some of the new features are:
* Pass extra information back on selection
* Support for a custom delimiter
* Support for dmenus no-custom option
* Detect if launched from rofi
To test some of the features:
```bash
#!/usr/bin/env bash
if [ -z "${ROFI_OUTSIDE}" ]
then
echo "run this script in rofi".
exit
fi
echo -en "\x00no-custom\x1ftrue\n"
echo -en "${ROFI_RETV}\x00icon\x1ffirefox\x1finfo\x1ftest\n"
if [ -n "${ROFI_INFO}" ]
then
echo "my info: ${ROFI_INFO} "
fi
```
## Theme
@ -70,10 +90,12 @@ element {
![Icons vertical](./icons2.png)
This causes a breaking change for themes, to modify the highlighting, this should be set to `element-text`.
Or inherited. `element-text { highlight: inherit; }`.
### Calculation support in theme format.
Rofi adds CSS like calculations in the CSS format for distances.
Rofi adds CSS like calculations in the CSS format for distances.
You can now set the width of the window to the screen width minus a 10 pixels.
```css
@ -105,22 +127,24 @@ For example, go to fullscreen mode on screens smaller then full HD:
```
## Log
## List of Changes
* Add `themes/` directory in the users rofi config directory to the theme search path. (#1001)
* Split listview element into box widget holding icon and textbox. Supporting more dynamic themes. (#949)
* Fix default theme.
* Add -upgrade-config option.
* Add ROFI_PLUGIN_PATH variable.
* Add `ROFI_PLUGIN_PATH` variable.
* Add check for running rofi inside a Script mode.
* Remove gnome-terminal from rofi-sensible-terminal (#1074)
* Set window title based on mode name. (#969)
* Subpixel rendering workaround. (#303)
* Support character type in configuration {} block . (#1131)
* Use XDG_CONFIG_DIRS (#1133)
* Use `XDG_CONFIG_DIRS` (#1133)
* [Box] Bug fix update propagation.
* [Build] Fix meson build with meson 0.55.
* [DMenu] Add `-keep-right` flag. (#1089)
* [DMenu] Don't match markup when filtering. (#579,#1128)
* [DRUN] Support Type=Link (#1166)
* [DRun] Add % to escape variable.
* [DRun] Add an optional cache for desktop files. (#1040)
* [DRun] Add keywords as default match item. (#1061)
@ -136,10 +160,11 @@ For example, go to fullscreen mode on screens smaller then full HD:
* [Listview] Fix distribution of remaining space.
* [Listview] Fix left-to-right scrolling. (#1028)
* [Listview] Fix updating elements. (#1032)
* [Matching] Make Fuzzy matching non greedy.
* [Script] Add delimiter option. (#1041)
* [Script] Add environment variable indicating state.
* [Script] Add extra matchign field (meta). (#1052)
* [Script] Add info option, hidden field that gets passed to script via ROFI_INFO environment.
* [Script] Add info option, hidden field that gets passed to script via `ROFI_INFO` environment.
* [Script] Add no-custom option.
* [Textbox] Add cursor blinking option.
* [Textbox] Add placeholder. (#1020)
@ -152,4 +177,3 @@ For example, go to fullscreen mode on screens smaller then full HD:
* [Window] Add window thumbnail option.
* [Window] Remove arbitrary # window limit. (#1047)
* [Window] check buffer overflow.

View file

@ -123,8 +123,11 @@ static void read_add ( DmenuModePrivateData * pd, char *data, gsize len )
pd->cmd_list[pd->cmd_list_length].icon_name = NULL;
pd->cmd_list[pd->cmd_list_length].meta = NULL;
pd->cmd_list[pd->cmd_list_length].info = NULL;
char *end = strchr ( data, '\0' );
if ( end != NULL ) {
char *end = data;
while ( end < data + len && *end != '\0' ) {
end++;
}
if ( end != data + len ) {
data_len = end - data;
dmenuscript_parse_entry_extras ( NULL, &( pd->cmd_list[pd->cmd_list_length] ), end + 1, len - data_len );
}

View file

@ -61,6 +61,15 @@
char *DRUN_GROUP_NAME = "Desktop Entry";
typedef struct _DRunModePrivateData DRunModePrivateData;
typedef enum
{
DRUN_DESKTOP_ENTRY_TYPE_UNDETERMINED = 0,
DRUN_DESKTOP_ENTRY_TYPE_APPLICATION,
DRUN_DESKTOP_ENTRY_TYPE_LINK,
DRUN_DESKTOP_ENTRY_TYPE_DIRECTORY,
} DRunDesktopEntryType;
/**
* Store extra information about the entry.
* Currently the executable and if it should run in terminal.
@ -83,27 +92,29 @@ typedef struct
/* Icon size is used to indicate what size is requested by the gui.
* secondary it indicates if the request for a lookup has been issued (0 not issued )
*/
int icon_size;
int icon_size;
/* Surface holding the icon. */
cairo_surface_t *icon;
/* Executable */
char *exec;
cairo_surface_t *icon;
/* Executable - for Application entries only */
char *exec;
/* Name of the Entry */
char *name;
char *name;
/* Generic Name */
char *generic_name;
char *generic_name;
/* Categories */
char **categories;
char **categories;
/* Keywords */
char **keywords;
char **keywords;
/* Comments */
char *comment;
char *comment;
GKeyFile *key_file;
GKeyFile *key_file;
gint sort_index;
gint sort_index;
uint32_t icon_fetch_uid;
uint32_t icon_fetch_uid;
DRunDesktopEntryType type;
} DRunModeEntry;
typedef struct
@ -209,6 +220,43 @@ static gboolean drun_helper_eval_cb ( const GMatchInfo *info, GString *res, gpoi
// Continue replacement.
return FALSE;
}
static void launch_link_entry ( DRunModeEntry *e )
{
if ( e->key_file == NULL ) {
GKeyFile *kf = g_key_file_new ();
GError *error = NULL;
gboolean res = g_key_file_load_from_file ( kf, e->path, 0, &error );
if ( res ) {
e->key_file = kf;
}
else {
g_warning ( "[%s] [%s] Failed to parse desktop file because: %s.", e->app_id, e->path, error->message );
g_error_free ( error );
g_key_file_free ( kf );
return;
}
}
gchar *url = g_key_file_get_string ( e->key_file, e->action, "URL", NULL );
if ( url == NULL || strlen ( url ) == 0 ) {
g_warning ( "[%s] [%s] No URL found.", e->app_id, e->path );
g_free ( url );
return;
}
gsize command_len = strlen ( config.drun_url_launcher ) + strlen ( url ) + 2; // space + terminator = 2
gchar *command = g_newa ( gchar, command_len );
g_snprintf ( command, command_len, "%s %s", config.drun_url_launcher, url );
g_free ( url );
g_debug ( "Link launch command: |%s|", command );
if ( helper_execute_command ( NULL, command, FALSE, NULL ) ) {
char *path = g_build_filename ( cache_dir, DRUN_CACHE_FILE, NULL );
// Store it based on the unique identifiers (desktop_id).
history_set ( path, e->desktop_id );
g_free ( path );
}
}
static void exec_cmd_entry ( DRunModeEntry *e )
{
GError *error = NULL;
@ -300,7 +348,8 @@ static gboolean rofi_strv_contains ( const char * const *categories, const char
*/
static void read_desktop_file ( DRunModePrivateData *pd, const char *root, const char *path, const gchar *basename, const char *action )
{
int parse_action = ( config.drun_show_actions && action != DRUN_GROUP_NAME );
DRunDesktopEntryType desktop_entry_type = DRUN_DESKTOP_ENTRY_TYPE_UNDETERMINED;
int parse_action = ( config.drun_show_actions && action != DRUN_GROUP_NAME );
// Create ID on stack.
// We know strlen (path ) > strlen(root)+1
const ssize_t id_len = strlen ( path ) - strlen ( root );
@ -342,8 +391,14 @@ static void read_desktop_file ( DRunModePrivateData *pd, const char *root, const
g_key_file_free ( kf );
return;
}
if ( g_strcmp0 ( key, "Application" ) ) {
g_debug ( "[%s] [%s] Skipping desktop file: Not of type application (%s)", id, path, key );
if ( !g_strcmp0 ( key, "Application" ) ) {
desktop_entry_type = DRUN_DESKTOP_ENTRY_TYPE_APPLICATION;
}
else if ( !g_strcmp0 ( key, "Link" ) ) {
desktop_entry_type = DRUN_DESKTOP_ENTRY_TYPE_LINK;
}
else {
g_debug ( "[%s] [%s] Skipping desktop file: Not of type Application or Link (%s)", id, path, key );
g_free ( key );
g_key_file_free ( kf );
return;
@ -407,9 +462,17 @@ static void read_desktop_file ( DRunModePrivateData *pd, const char *root, const
g_hash_table_add ( pd->disabled_entries, g_strdup ( id ) );
return;
}
// We need Exec, don't support DBusActivatable
if ( !g_key_file_has_key ( kf, DRUN_GROUP_NAME, "Exec", NULL ) ) {
g_debug ( "[%s] [%s] Unsupported desktop file: no 'Exec' key present.", id, path );
if ( desktop_entry_type == DRUN_DESKTOP_ENTRY_TYPE_APPLICATION
&& !g_key_file_has_key ( kf, DRUN_GROUP_NAME, "Exec", NULL ) ) {
g_debug ( "[%s] [%s] Unsupported desktop file: no 'Exec' key present for type Application.", id, path );
g_key_file_free ( kf );
return;
}
if ( desktop_entry_type == DRUN_DESKTOP_ENTRY_TYPE_LINK
&& !g_key_file_has_key ( kf, DRUN_GROUP_NAME, "URL", NULL ) ) {
g_debug ( "[%s] [%s] Unsupported desktop file: no 'URL' key present for type Link.", id, path );
g_key_file_free ( kf );
return;
}
@ -438,7 +501,7 @@ static void read_desktop_file ( DRunModePrivateData *pd, const char *root, const
char **categories = NULL;
if ( pd->show_categories ) {
categories = g_key_file_get_locale_string_list ( kf, DRUN_GROUP_NAME, "Categories", NULL, NULL, NULL );
if ( !rofi_strv_contains ( (const char * const *) categories, (const char *const *) pd->show_categories ) ) {
if ( !rofi_strv_contains ( (const char * const *) categories, (const char * const *) pd->show_categories ) ) {
g_strfreev ( categories );
g_key_file_free ( kf );
return;
@ -499,7 +562,13 @@ static void read_desktop_file ( DRunModePrivateData *pd, const char *root, const
}
g_strfreev ( categories );
pd->entry_list[pd->cmd_list_length].exec = g_key_file_get_string ( kf, action, "Exec", NULL );
pd->entry_list[pd->cmd_list_length].type = desktop_entry_type;
if ( desktop_entry_type == DRUN_DESKTOP_ENTRY_TYPE_APPLICATION ) {
pd->entry_list[pd->cmd_list_length].exec = g_key_file_get_string ( kf, action, "Exec", NULL );
}
else {
pd->entry_list[pd->cmd_list_length].exec = NULL;
}
if ( matching_entry_fields[DRUN_MATCH_FIELD_COMMENT].enabled ) {
pd->entry_list[pd->cmd_list_length].comment = g_key_file_get_locale_string ( kf,
@ -953,7 +1022,17 @@ static ModeMode drun_mode_result ( Mode *sw, int mretv, char **input, unsigned i
retv = ( mretv & MENU_LOWER_MASK );
}
else if ( ( mretv & MENU_OK ) ) {
exec_cmd_entry ( &( rmpd->entry_list[selected_line] ) );
switch ( rmpd->entry_list[selected_line].type )
{
case DRUN_DESKTOP_ENTRY_TYPE_APPLICATION:
exec_cmd_entry ( &( rmpd->entry_list[selected_line] ) );
break;
case DRUN_DESKTOP_ENTRY_TYPE_LINK:
launch_link_entry ( &( rmpd->entry_list[selected_line] ) );
break;
default:
g_assert_not_reached ();
}
}
else if ( ( mretv & MENU_CUSTOM_INPUT ) && *input != NULL && *input[0] != '\0' ) {
retv = RELOAD_DIALOG;
@ -1096,7 +1175,7 @@ static int drun_token_match ( const Mode *data, rofi_int_matcher **tokens, unsig
}
if ( matching_entry_fields[DRUN_MATCH_FIELD_EXEC].enabled ) {
// Match executable name.
if ( test == tokens[j]->invert ) {
if ( test == tokens[j]->invert && rmpd->entry_list[index].exec ) {
test = helper_token_match ( ftokens, rmpd->entry_list[index].exec );
}
}

View file

@ -179,7 +179,7 @@ static DmenuScriptEntry *execute_executor ( Mode *sw, char *arg, unsigned int *l
}
g_strfreev ( env );
if ( error != NULL ) {
char *msg = g_strdup_printf ( "Failed to execute: '%s'\nError: '%s'", (char*) sw->ed, error->message );
char *msg = g_strdup_printf ( "Failed to execute: '%s'\nError: '%s'", (char *) sw->ed, error->message );
rofi_view_error_dialog ( msg, FALSE );
g_free ( msg );
// print error.

View file

@ -519,7 +519,7 @@ static SshEntry * get_ssh ( SSHModePrivateData *pd, unsigned int *length )
g_free ( path );
for ( GList *iter = g_list_first ( pd->user_known_hosts ); iter; iter = g_list_next ( iter ) ) {
char *path = rofi_expand_path ( (const char *) iter->data );
retv = read_known_hosts_file ( (const char*) path, retv, length );
retv = read_known_hosts_file ( (const char *) path, retv, length );
g_free ( path );
}
}

View file

@ -160,7 +160,7 @@ static gchar *fuzzy_to_regex ( const char * input )
g_string_append ( str, "(" );
}
else {
g_string_append ( str, ".*(" );
g_string_append ( str, ".*?(" );
}
if ( *iter == '\\' ) {
g_string_append_c ( str, '\\' );

View file

@ -144,7 +144,7 @@ static cairo_surface_t* cairo_image_surface_create_from_jpeg_private ( struct jp
surface = cairo_image_surface_create ( CAIRO_FORMAT_RGB24, cinfo->image_width, cinfo->image_height );
data = cairo_image_surface_get_data ( surface );
rgb = (unsigned char*) ( malloc ( cinfo->output_width * cinfo->output_components ) );
rgb = (unsigned char *) ( malloc ( cinfo->output_width * cinfo->output_components ) );
while ( cinfo->output_scanline < cinfo->output_height ) {
unsigned int i;

View file

@ -1130,15 +1130,19 @@ int main ( int argc, char *argv[] )
}
rofi_view_workers_initialize ();
TICK_N ( "Workers initialize" );
rofi_icon_fetcher_init ( );
TICK_N ( "Icon fetcher initialize" );
// Create pid file
int pfd = create_pid_file ( pidfile );
TICK_N ( "Pid file created" );
if ( pfd < 0 ) {
cleanup ();
return EXIT_FAILURE;
}
textbox_setup ();
TICK_N ( "Text box setup" );
if ( !display_late_setup () ) {
g_warning ( "Failed to properly finish display setup" );

View file

@ -334,7 +334,7 @@ static widget *box_find_mouse_target ( widget *wid, WidgetType type, gint x, gin
static void box_set_state ( widget *wid, const char *state )
{
for ( GList *iter = g_list_first ( ( (box*) wid )->children ); iter != NULL; iter = g_list_next ( iter ) ) {
for ( GList *iter = g_list_first ( ( (box *) wid )->children ); iter != NULL; iter = g_list_next ( iter ) ) {
widget * child = (widget *) iter->data;
widget_set_state ( child, state );
}

View file

@ -135,13 +135,15 @@ static XrmOption xrmOptions[] = {
{ xrm_String, "drun-match-fields", { .str = &config.drun_match_fields }, NULL,
"Desktop entry fields to match in drun", CONFIG_DEFAULT },
{ xrm_String, "drun-categories", { .str = &config.drun_categories }, NULL,
"Only show Desktop entry from these categories", CONFIG_DEFAULT },
{ xrm_Boolean, "drun-show-actions", { .num = &config.drun_show_actions }, NULL,
"Desktop entry show actions.", CONFIG_DEFAULT },
{ xrm_String, "drun-display-format", { .str = &config.drun_display_format }, NULL,
"DRUN format string. (Supports: generic,name,comment,exec,categories)", CONFIG_DEFAULT },
{ xrm_String, "drun-url-launcher", { .str = &config.drun_url_launcher }, NULL,
"Command to open an Desktop Entry that is a Link.", CONFIG_DEFAULT },
{ xrm_Boolean, "disable-history", { .num = &config.disable_history }, NULL,
"Disable history in run/ssh", CONFIG_DEFAULT },
{ xrm_String, "ignored-prefixes", { .str = &config.ignored_prefixes }, NULL,

1
subprojects/xcb Symbolic link
View file

@ -0,0 +1 @@
libgwater/xcb

View file

@ -36,24 +36,24 @@
active-background: rgba ( 69, 90, 100, 100 % );
selected-active-background: rgba ( 0, 150, 136, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -61,81 +61,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -34,24 +34,24 @@
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 68, 145, 237, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
@ -59,86 +59,86 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button {
button {
spacing: 0;
text-color: @normal-foreground;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,24 +35,24 @@
active-background: rgba ( 255, 255, 255, 100 % );
selected-active-background: rgba ( 82, 148, 226, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,24 +35,24 @@
active-background: rgba ( 0, 0, 208, 0 % );
selected-active-background: rgba ( 138, 196, 255, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt, button{
prompt, button{
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,24 +35,24 @@
active-background: rgba ( 223, 110, 0, 6 % );
selected-active-background: rgba ( 178, 235, 242, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,24 +35,24 @@
active-background: rgba ( 39, 40, 34, 0 % );
selected-active-background: rgba ( 20, 20, 17, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -34,24 +34,24 @@
active-background: rgba ( 245, 245, 245, 100 % );
selected-active-background: rgba ( 0, 95, 135, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
@ -59,81 +59,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -31,7 +31,7 @@
selected-active-background: @blue;
active-background: @orange;
}
#window {
window {
border: 0;
text-color: @foreground;
background-color: rgba ( 0, 0, 0, 0 % );
@ -39,82 +39,82 @@
text-color: @bordercolor;
background-color: @background;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
text-color: @separatorcolor;
padding: 2px 0px 0px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px 0px 0px ;
padding: 2px 0px 0px ;
text-color: @separatorcolor;
}
#element {
element {
border: 0;
}
#element.normal.normal {
element.normal.normal {
text-color: @normal-foreground;
background-color: @normal-background;
}
#element.normal.urgent {
element.normal.urgent {
text-color: @urgent-foreground;
background-color: @urgent-background;
}
#element.normal.active {
element.normal.active {
text-color: @active-foreground;
background-color: @active-background;
}
#element.selected.normal {
element.selected.normal {
text-color: @selected-normal-foreground;
background-color: @selected-normal-background;
}
#element.selected.urgent {
element.selected.urgent {
text-color: @selected-urgent-foreground;
background-color: @selected-urgent-background;
}
#element.selected.active {
element.selected.active {
text-color: @selected-active-foreground;
background-color: @selected-active-background;
}
#element.alternate.normal {
element.alternate.normal {
text-color: @alternate-normal-foreground;
background-color: @alternate-normal-background;
}
#element.alternate.urgent {
element.alternate.urgent {
text-color: @alternate-urgent-foreground;
background-color: @alternate-urgent-background;
}
#element.alternate.active {
element.alternate.active {
text-color: @alternate-active-foreground;
background-color: @alternate-active-background;
}
#mode-switcher {
mode-switcher {
border: 1px dash 0px 0px ;
}
#button selected {
button selected {
text-color: @selected-normal-foreground;
background-color: @selected-normal-background;
}
#inputbar {
inputbar {
spacing: 0;
border: 0px ;
}
#button normal {
button normal {
text-color: @foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,24 +35,24 @@
active-background: rgba ( 39, 50, 56, 100 % );
selected-active-background: rgba ( 57, 66, 73, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -53,7 +53,7 @@
transparent: rgba(0,0,0,0);
font: "Source Code Pro 10";
}
#window {
window {
location: center;
anchor: center;
transparency: "screenshot";
@ -67,24 +67,24 @@
orientation: horizontal;
}
#mainbox {
mainbox {
spacing: 0;
children: [ inputbar, message, listview ];
}
#message {
message {
border-color: @foreground;
border: 0px 2px 2px 2px;
// border-radius: 10px;
padding: 5;
background-color: @tcyan;
}
#message {
message {
font: "Source Code Pro 8";
color: @black;
}
#inputbar {
inputbar {
color: @lightgreen;
padding: 11px;
background-color: @tlightblack;
@ -93,14 +93,14 @@
border-color: @foreground;
font: "Source Code Pro 18";
}
#entry,prompt,case-indicator {
entry,prompt,case-indicator {
text-font: inherit;
text-color:inherit;
}
#prompt {
prompt {
margin: 0px 0.3em 0em 0em ;
}
#listview {
listview {
padding: 8px;
border-radius: 0px 0px 15px 15px;
border-color: @foreground;
@ -109,7 +109,7 @@
dynamic: false;
lines: 10;
}
#element {
element {
padding: 3px;
vertical-align: 0.5;
// border: 2px;
@ -118,50 +118,50 @@
color: @foreground;
font:inherit;
}
#element selected.normal {
element selected.normal {
background-color: @blue;
}
#element normal active {
element normal active {
foreground: @lightblue;
}
#element normal urgent {
element normal urgent {
foreground: @lightred;
}
#element alternate normal {
element alternate normal {
}
#element alternate active {
element alternate active {
foreground: @lightblue;
}
#element alternate urgent {
element alternate urgent {
foreground: @lightred;
}
#element selected active {
element selected active {
background-color: @lightblue;
foreground: @dark;
}
#element selected urgent {
element selected urgent {
background-color: @lightred;
foreground: @dark;
}
#element normal normal {
element normal normal {
}
#vertb {
vertb {
expand: false;
children: [ dummy0, mode-switcher, dummy1 ];
}
#dummy0, dummy1 {
dummy0, dummy1 {
expand: true;
}
#mode-switcher {
mode-switcher {
expand: false;
orientation: vertical;
spacing: 0px;
border: 0px 0px 0px 0px;
}
#button {
button {
font: "FontAwesome 22";
padding: 6px;
border: 2px 0px 2px 2px;
@ -171,10 +171,17 @@
color: @foreground;
horizontal-align: 0.5;
}
#button selected normal {
button selected normal {
color: @dark;
border: 2px 0px 2px 2px;
background-color: @backlight;
border-color: @foreground;
}
error-message {
expand: true;
background-color: red;
border-color: darkred;
border: 2px;
padding: 1em;
}

View file

@ -35,24 +35,24 @@
active-background: rgba ( 0, 0, 0, 0 % );
selected-active-background: rgba ( 160, 255, 160, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,27 +35,27 @@
active-background: rgba ( 0, 57, 255, 100 % );
selected-active-background: rgba ( 79, 128, 255, 100 % );
}
#window {
window {
font: "Topaz-8 10";
background-color: #4E7FFF;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
margin: 40;
background-color: #003AFF;
}
#message {
message {
border: 1px dash 0px dash ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 0px 0px 0px 0px ;
border-color: @separatorcolor;
@ -63,81 +63,81 @@
scrollbar: false;
padding: 5px 5px 5px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 0px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -10,7 +10,7 @@
font: "Times New Roman 12";
}
#window {
window {
anchor: north;
location: north;
width: 100%;
@ -18,25 +18,25 @@
children: [ horibox ];
}
#horibox {
horibox {
orientation: horizontal;
children: [ prompt, entry, listview ];
}
#listview {
listview {
layout: horizontal;
spacing: 5px;
lines: 100;
}
#entry {
entry {
expand: false;
width: 10em;
}
#element {
element {
padding: 0px 2px;
}
#element selected {
element selected {
background-color: SteelBlue;
}

View file

@ -34,24 +34,24 @@
active-background: rgba ( 57, 57, 57, 100 % );
selected-active-background: rgba ( 38, 139, 210, 100 % );
}
#window {
window {
background-color: rgba ( 57, 57, 57, 95 % );
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -59,85 +59,85 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#button {
button {
background-color: @background;
text-color: @foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -35,24 +35,24 @@
active-background: rgba ( 0, 0, 0, 0 % );
selected-active-background: rgba ( 170, 170, 17, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -60,81 +60,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -16,7 +16,7 @@
anchor: north;
location: center;
}
#window {
window {
transparency: "screenshot";
background-color: #00000000;
border: 0;
@ -24,103 +24,110 @@
x-offset: 0;
y-offset: -10%;
}
#mainbox {
mainbox {
padding: 0px;
border: 0;
spacing: 1%;
}
#message {
border: 2px;
padding: 1em;
background-color: @white;
message {
border: 2px;
padding: 1em;
background-color: @white;
text-color: @back;
}
#textbox normal {
textbox normal {
text-color: #002B36FF;
padding: 0;
border: 0;
}
#listview {
listview {
fixed-height: 1;
border: 2px;
padding: 1em;
reverse: false;
columns: 1;
background-color: @white;
background-color: @white;
}
#element {
element {
border: 0;
padding: 2px;
highlight: bold ;
}
#element normal.normal {
element normal.normal {
text-color: #002B36FF;
background-color: #F5F5F500;
}
#element normal.urgent {
element normal.urgent {
text-color: #D75F00FF;
background-color: #F5F5F5FF;
}
#element normal.active {
element normal.active {
text-color: #005F87FF;
background-color: #F5F5F5FF;
}
#element selected.normal {
element selected.normal {
text-color: #F5F5F5FF;
background-color: #4271AEFF;
}
#element selected.urgent {
element selected.urgent {
text-color: #F5F5F5FF;
background-color: #D75F00FF;
}
#element selected.active {
element selected.active {
text-color: #F5F5F5FF;
background-color: #005F87FF;
}
#element alternate.normal {
element alternate.normal {
text-color: #002B36FF;
background-color: #D0D0D0FF;
}
#element alternate.urgent {
element alternate.urgent {
text-color: #D75F00FF;
background-color: #D0D0D0FF;
}
#element alternate.active {
element alternate.active {
text-color: #005F87FF;
background-color: #D0D0D0FF;
}
#scrollbar {
scrollbar {
border: 0;
padding: 0;
}
#inputbar {
inputbar {
spacing: 0;
border: 2px;
padding: 0.5em 1em;
background-color: @grey;
index: 0;
}
#inputbar normal {
inputbar normal {
foreground-color: #002B36FF;
background-color: #F5F5F500;
}
#mode-switcher {
mode-switcher {
border: 2px;
padding: 0.5em 1em;
background-color: @grey;
index: 10;
}
#button selected {
button selected {
text-color: #4271AEFF;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}
error-message {
border: 2px;
padding: 1em;
background-color: #FF8888;
text-color: @back;
}

View file

@ -34,24 +34,24 @@
active-background: rgba ( 47, 30, 46, 15 % );
selected-active-background: rgba ( 129, 91, 164, 33 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -59,81 +59,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -41,7 +41,7 @@
// Bold, Italic, Underline
highlight: bold #ffffff;
}
#window {
window {
height: 100%;
width: 30em;
location: west;
@ -50,53 +50,61 @@
text-color: @lightwhite;
}
#mode-switcher {
mode-switcher {
border: 2px 0px 0px 0px;
background-color: @lightblack;
padding: 4px;
}
#button selected {
button selected {
border-color: @lightgreen;
text-color: @lightgreen;
}
#inputbar {
inputbar {
background-color: @lightblack;
text-color: @lightgreen;
padding: 4px;
border: 0px 0px 2px 0px;
}
#mainbox {
mainbox {
expand: true;
background-color: #1c1c1cee;
spacing: 1em;
}
#listview {
listview {
padding: 0em 0.4em 0em 1em;
dynamic: false;
lines: 0;
}
#element selected normal {
element selected normal {
background-color: @blue;
}
#element normal active {
element normal active {
text-color: @lightblue;
}
#element normal urgent {
element normal urgent {
text-color: @lightred;
}
#element alternate normal {
element alternate normal {
}
#element alternate active {
element alternate active {
text-color: @lightblue;
}
#element alternate urgent {
element alternate urgent {
text-color: @lightred;
}
#element selected active {
element selected active {
background-color: @lightblue;
text-color: @dark;
}
#element selected urgent {
element selected urgent {
background-color: @lightred;
text-color: @dark;
}
error-message {
expand: true;
background-color: red;
border-color: darkred;
border: 2px;
padding: 1em;
}

View file

@ -34,24 +34,24 @@
active-background: rgba ( 0, 43, 55, 100 % );
selected-active-background: rgba ( 0, 54, 66, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -59,81 +59,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;

View file

@ -34,24 +34,24 @@
active-background: rgba ( 0, 43, 55, 100 % );
selected-active-background: rgba ( 0, 142, 212, 100 % );
}
#window {
window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
mainbox {
border: 0;
padding: 0;
}
#message {
message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
textbox {
text-color: @foreground;
}
#listview {
listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
@ -59,81 +59,81 @@
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#mode-switcher {
mode-switcher {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;