Merge branch 'next' of github:DaveDavenport/rofi into next

This commit is contained in:
Dave Davenport 2018-03-07 21:24:37 +01:00
commit 7f83fa3dd3
39 changed files with 1312 additions and 1264 deletions

View file

@ -1,4 +1,4 @@
v1.5.0 (dev):
v1.5.0:
- [Theme] Accept integer notation for double properties. (#752)
- [View] Theme textboxes are vertically sized and horizontal wrapped. (#754)
- Rofi 1.4.2 doesn't capture ←, ↑, →, ↓ binding to keys to work in combination with Mode_switch (#744)

View file

@ -1,17 +1,28 @@
#!/usr/bin/env bash
echo -en "\x00prompt\x1ftesting\n"
echo -en "\0urgent\x1f0,2\n"
echo -en "\0active\x1f1\n"
echo -en "\0markup-rows\x1ftrue\n"
echo -en "\0message\x1fSpecial <b>bold</b>message\n"
echo "aap"
echo "noot"
echo "mies"
echo "testing"
echo "<b>Bold</b>"
if [ -n "$@" ]
if [ x"$@" = x"quit" ]
then
echo "$@"
exit 0
fi
if [ "$@" ]
then
for a in {1..10}
do
echo "$a"
done
echo "quit"
else
echo -en "\x00prompt\x1ftesting\n"
echo -en "\0urgent\x1f0,2\n"
echo -en "\0active\x1f1\n"
echo -en "\0markup-rows\x1ftrue\n"
echo -en "\0message\x1fSpecial <b>bold</b>message\n"
echo "aap"
echo "noot"
echo "mies"
echo "testing"
echo "<b>Bold</b>"
echo "quit"
fi

View file

@ -191,7 +191,9 @@ apt install rofi
**Please note that the latest version of rofi in Ubuntu 16.04 is extremely outdated (v0.15.11)**
This will cause issues with newer scripts (i.e. with clerk) and we recommend to manually download and install the deb file for zesty instead. You can find the deb on [ubuntu's launchpad page for rofi](https://launchpad.net/ubuntu/+source/rofi).
This will cause issues with newer scripts (i.e. with clerk) and misses important updates and bug-fixes.
Newer versions of Rofi however requires versions of xcb-util-xrm and libxkbcommon that are not available in the 16.04 repositories.
These need to be manually installed before rofi can be installed either via source code or Zesty version from the [ubuntu's launchpad page for rofi](https://launchpad.net/ubuntu/+source/rofi).
### Fedora

View file

@ -195,6 +195,7 @@ themedir=$(pkgdatadir)/themes/
theme_DATA=\
themes/Adapta-Nokto.rasi\
themes/Arc.rasi\
themes/Arc-Dark.rasi\
themes/DarkBlue.rasi\
themes/Pop-Dark.rasi\
themes/Indego.rasi\
@ -206,6 +207,7 @@ theme_DATA=\
themes/c64.rasi\
themes/dmenu.rasi\
themes/glue_pro_blue.rasi\
themes/gruvbox-common.rasi\
themes/gruvbox-dark-hard.rasi\
themes/gruvbox-dark-soft.rasi\
themes/gruvbox-dark.rasi\

View file

@ -202,7 +202,7 @@ For the full list of key bindings, see: `rofi -show keys` or `rofi -help`.
There are currently three methods of setting configuration options:
* Local configuration. Normally, depending on XDG, in `~/.local/rofi/config`. This uses the Xresources format.
* Local configuration. Normally, depending on XDG, in `~/.config/rofi/config`. This uses the Xresources format.
* Xresources: A method of storing key values in the Xserver. See
[here](https://en.wikipedia.org/wiki/X_resources) for more information.
* Command line options: Arguments are passed to **Rofi**.

View file

@ -1,4 +1,4 @@
AC_INIT([rofi], [1.4.99-dev], [https://github.com/DaveDavenport/rofi/],[],[https://reddit.com/r/qtools/])
AC_INIT([rofi], [1.5.0-dev], [https://github.com/DaveDavenport/rofi/],[],[https://reddit.com/r/qtools/])
AC_CONFIG_SRCDIR([source/rofi.c])
AC_CONFIG_HEADER([config.h])

View file

@ -1,7 +1,7 @@
.\" generated with Ronn/v0.7.3
.\" http://github.com/rtomayko/ronn/tree/0.7.3
.
.TH "ROFI\-THEME" "5" "December 2017" "" ""
.TH "ROFI\-THEME" "5" "February 2018" "" ""
.
.SH "NAME"
\fBrofi\-theme\fR \- Rofi theme format files
@ -118,7 +118,7 @@ It is advised to define the \fIglobal properties section\fR on top of the file t
.IP "" 0
.
.P
If there are mulitple sections with the same name, they are merged\. Duplicate properties are overwritten and the last parsed entry kept\.
If there are multiple sections with the same name, they are merged\. Duplicate properties are overwritten and the last parsed entry kept\.
.
.SH "Global properties section"
A theme can have one or more global properties sections\. If there is more than one, they will be merged\.
@ -169,7 +169,7 @@ element normal normal, button {
.IP "" 0
.
.P
Each section inherits the global properties\. Properties can be explicitely inherited from there parent with the \fBinherit\fR keyword\. In the following example:
Each section inherits the global properties\. Properties can be explicitly inherited from their parent with the \fBinherit\fR keyword\. In the following example:
.
.IP "" 4
.
@ -221,7 +221,7 @@ The properties in a section consist of:
.IP "" 0
.
.P
Both fields are manditory for a property\.
Both fields are mandatory for a property\.
.
.P
The \fBidentifier\fR names the specified property\. Identifiers can consist of any combination of numbers, letters and \'\-\'\. It must not contain any whitespace\. The structure of the \fBvalue\fR defines the type of the property\. The current parser does not define or enforce a certain type of a particular \fBidentifier\fR\. When used, values with the wrong type that cannot be converted are ignored\.
@ -419,7 +419,7 @@ The white\-space format proposed in CSS4 is also supported\.
The different values are:
.
.IP "\(bu" 4
\fB{HEX}\fR is a hexidecimal number (\'0\-9a\-f\' case insensitive)\.
\fB{HEX}\fR is a hexadecimal number (\'0\-9a\-f\' case insensitive)\.
.
.IP "\(bu" 4
\fB{INTEGER}\fR value can be between 0 and 255 or 0\-100 when representing percentage\.
@ -888,7 +888,7 @@ nametotextbox selected\.active {
.IP "" 0
.
.P
Sets all selected textboxes marked active to the given foreground and background color\. Note that a state modifies the original element, it therefor contains all the properties of that element\.
Sets all selected textboxes marked active to the given foreground and background color\. Note that a state modifies the original element, it therefore contains all the properties of that element\.
.
.SS "Scrollbar"
The scrollbar uses the \fBhandle\fR state when drawing the small scrollbar handle\. This allows the colors used for drawing the handle to be set independently\.
@ -1073,7 +1073,7 @@ The current layout of \fBrofi\fR is structured as follows:
| | |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |
| | | |
| | |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| | |
| | | sidebar {BOX:horizontal} | | |
| | | sidebar {BOX:horizontal} | | |
| | | |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| | | |
| | | | Button | | Button | | Button | | Button | | | |
| | | |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |\-\-\-\-\-\-\-\-\-\-\-\-\-\-| |\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| | | |

View file

@ -87,7 +87,7 @@ make inheritance of properties clearer.
}
```
If there are mulitple sections with the same name, they are merged. Duplicate properties are overwritten and the last
If there are multiple sections with the same name, they are merged. Duplicate properties are overwritten and the last
parsed entry kept.
## Global properties section
@ -129,7 +129,7 @@ element normal normal, button {
}
```
Each section inherits the global properties. Properties can be explicitely inherited from there parent with the
Each section inherits the global properties. Properties can be explicitly inherited from their parent with the
`inherit` keyword.
In the following example:
@ -165,7 +165,7 @@ The properties in a section consist of:
{identifier}: {value};
```
Both fields are manditory for a property.
Both fields are mandatory for a property.
The `identifier` names the specified property. Identifiers can consist of any
combination of numbers, letters and '-'. It must not contain any whitespace.
@ -265,7 +265,7 @@ The white-space format proposed in CSS4 is also supported.
The different values are:
* `{HEX}` is a hexidecimal number ('0-9a-f' case insensitive).
* `{HEX}` is a hexadecimal number ('0-9a-f' case insensitive).
* `{INTEGER}` value can be between 0 and 255 or 0-100 when representing percentage.
* `{ANGLE}` is the angle on the color wheel, can be in `deg`, `rad`, `grad` or `turn`. When no unit is specified, degrees is assumed.
* `{PERCENTAGE}` can be between 0-1.0, or 0%-100%
@ -549,7 +549,7 @@ nametotextbox selected.active {
```
Sets all selected textboxes marked active to the given foreground and background color.
Note that a state modifies the original element, it therefor contains all the properties of that element.
Note that a state modifies the original element, it therefore contains all the properties of that element.
### Scrollbar
@ -686,7 +686,7 @@ The current layout of **rofi** is structured as follows:
| | |-----------------------------------------------------------------------------| |
| | | |
| | |---------------------------------------------------------------------------| | |
| | | sidebar {BOX:horizontal} | | |
| | | sidebar {BOX:horizontal} | | |
| | | |---------------| |---------------| |--------------| |---------------| | | |
| | | | Button | | Button | | Button | | Button | | | |
| | | |---------------| |---------------| |--------------| |---------------| | | |

View file

@ -1,5 +1,5 @@
project('rofi', 'c',
version: '1.4.99-dev',
version: '1.5.0-dev',
meson_version: '>=0.39.1',
license: [ 'MIT' ],
default_options: [
@ -218,6 +218,7 @@ install_man(
install_data(
'themes/Adapta-Nokto.rasi',
'themes/Arc.rasi',
'themes/Arc-Dark.rasi',
'themes/DarkBlue.rasi',
'themes/Pop-Dark.rasi',
'themes/Indego.rasi',
@ -229,6 +230,7 @@ install_data(
'themes/c64.rasi',
'themes/dmenu.rasi',
'themes/glue_pro_blue.rasi',
'themes/gruvbox-common.rasi',
'themes/gruvbox-dark-hard.rasi',
'themes/gruvbox-dark-soft.rasi',
'themes/gruvbox-dark.rasi',

View file

@ -78,7 +78,7 @@ static void parse_header_entry ( Mode *sw, char *line, ssize_t length )
char *value = line + length_key + 1;
if ( strcasecmp ( line, "message" ) == 0 ) {
g_free ( pd->message );
pd->message = g_strdup ( value );
pd->message = strlen(value)? g_strdup ( value ):NULL;
}
else if ( strcasecmp ( line, "prompt" ) == 0 ) {
g_free ( pd->prompt );
@ -187,6 +187,19 @@ static unsigned int script_mode_get_num_entries ( const Mode *sw )
return rmpd->cmd_list_length;
}
static void script_mode_reset_highlight ( Mode *sw )
{
ScriptModePrivateData *rmpd = (ScriptModePrivateData *) sw->private_data;
rmpd->num_urgent_list = 0;
g_free ( rmpd->urgent_list );
rmpd->urgent_list = NULL;
rmpd->num_active_list = 0;
g_free ( rmpd->active_list );
rmpd->active_list = NULL;
}
static ModeMode script_mode_result ( Mode *sw, int mretv, char **input, unsigned int selected_line )
{
ScriptModePrivateData *rmpd = (ScriptModePrivateData *) sw->private_data;
@ -204,9 +217,11 @@ static ModeMode script_mode_result ( Mode *sw, int mretv, char **input, unsigned
retv = ( mretv & MENU_LOWER_MASK );
}
else if ( ( mretv & MENU_OK ) && rmpd->cmd_list[selected_line] != NULL ) {
script_mode_reset_highlight ( sw );
new_list = execute_executor ( sw, rmpd->cmd_list[selected_line], &new_length );
}
else if ( ( mretv & MENU_CUSTOM_INPUT ) && *input != NULL && *input[0] != '\0' ) {
script_mode_reset_highlight ( sw );
new_list = execute_executor ( sw, *input, &new_length );
}

View file

@ -433,6 +433,20 @@ static unsigned int ssh_mode_get_num_entries ( const Mode *sw )
const SSHModePrivateData *rmpd = (const SSHModePrivateData *) mode_get_private_data ( sw );
return rmpd->hosts_list_length;
}
/**
* @param sw Object handle to the SSH Mode object
*
* Cleanup the SSH Mode. Free all allocated memory and NULL the private data pointer.
*/
static void ssh_mode_destroy ( Mode *sw )
{
SSHModePrivateData *rmpd = (SSHModePrivateData *) mode_get_private_data ( sw );
if ( rmpd != NULL ) {
g_strfreev ( rmpd->hosts_list );
g_free ( rmpd );
mode_set_private_data ( sw, NULL );
}
}
/**
* @param sw Object handle to the SSH Mode object
@ -465,29 +479,14 @@ static ModeMode ssh_mode_result ( Mode *sw, int mretv, char **input, unsigned in
}
else if ( ( mretv & MENU_ENTRY_DELETE ) && rmpd->hosts_list[selected_line] ) {
delete_ssh ( rmpd->hosts_list[selected_line] );
g_strfreev ( rmpd->hosts_list );
rmpd->hosts_list_length = 0;
rmpd->hosts_list = NULL;
// Stay
retv = RELOAD_DIALOG;
ssh_mode_destroy ( sw );
ssh_mode_init ( sw );
}
return retv;
}
/**
* @param sw Object handle to the SSH Mode object
*
* Cleanup the SSH Mode. Free all allocated memory and NULL the private data pointer.
*/
static void ssh_mode_destroy ( Mode *sw )
{
SSHModePrivateData *rmpd = (SSHModePrivateData *) mode_get_private_data ( sw );
if ( rmpd != NULL ) {
g_strfreev ( rmpd->hosts_list );
g_free ( rmpd );
mode_set_private_data ( sw, NULL );
}
}
/**
* @param sw Object handle to the SSH Mode object

View file

@ -62,6 +62,11 @@
#include "timings.h"
#include <rofi.h>
/** Minimal randr prefered for running rofi (1.5) */
#define RANDR_PREF_MAJOR_VERSION 1
#define RANDR_PREF_MINOR_VERSION 5
/** Checks if the if x and y is inside rectangle. */
#define INTERSECT( x, y, x1, y1, w1, h1 ) ( ( ( ( x ) >= ( x1 ) ) && ( ( x ) < ( x1 + w1 ) ) ) && ( ( ( y ) >= ( y1 ) ) && ( ( y ) < ( y1 + h1 ) ) ) )
WindowManagerQuirk current_window_manager = WM_EWHM;
@ -99,25 +104,25 @@ const char *netatom_names[] = { EWMH_ATOMS ( ATOM_CHAR ) };
cairo_surface_t *x11_helper_get_screenshot_surface ( void )
{
return cairo_xcb_surface_create ( xcb->connection,
xcb_stuff_get_root_window (), root_visual,
xcb->screen->width_in_pixels, xcb->screen->height_in_pixels );
xcb_stuff_get_root_window (), root_visual,
xcb->screen->width_in_pixels, xcb->screen->height_in_pixels );
}
static xcb_pixmap_t get_root_pixmap ( xcb_connection_t *c,
xcb_screen_t *screen,
xcb_atom_t atom )
xcb_screen_t *screen,
xcb_atom_t atom )
{
xcb_get_property_cookie_t cookie;
xcb_get_property_reply_t *reply;
xcb_pixmap_t rootpixmap = XCB_NONE;
cookie = xcb_get_property ( c,
0,
screen->root,
atom,
XCB_ATOM_PIXMAP,
0,
1 );
0,
screen->root,
atom,
XCB_ATOM_PIXMAP,
0,
1 );
reply = xcb_get_property_reply ( c, cookie, NULL );
@ -138,7 +143,7 @@ cairo_surface_t * x11_helper_get_bg_surface ( void )
return NULL;
}
return cairo_xcb_surface_create ( xcb->connection, pm, root_visual,
xcb->screen->width_in_pixels, xcb->screen->height_in_pixels );
xcb->screen->width_in_pixels, xcb->screen->height_in_pixels );
}
// retrieve a text property from a window
@ -234,6 +239,51 @@ static workarea * x11_get_monitor_from_output ( xcb_randr_output_t out )
return retv;
}
#if ( ( (XCB_RANDR_MAJOR_VERSION >= RANDR_PREF_MAJOR_VERSION ) && (XCB_RANDR_MINOR_VERSION >= RANDR_PREF_MINOR_VERSION ) ) \
|| XCB_RANDR_MAJOR_VERSION > RANDR_PREF_MAJOR_VERSION )
/**
* @param mon The randr monitor to parse.
*
* Create monitor based on xrandr monitor id.
*
* @returns A workarea representing the monitor mon
*/
static workarea *x11_get_monitor_from_randr_monitor ( xcb_randr_monitor_info_t *mon )
{
// Query to the name of the monitor.
xcb_generic_error_t *err;
xcb_get_atom_name_cookie_t anc = xcb_get_atom_name(xcb->connection, mon->name);
xcb_get_atom_name_reply_t *atom_reply = xcb_get_atom_name_reply( xcb->connection, anc, &err);
if (err != NULL) {
g_warning ("Could not get RandR monitor name: X11 error code %d\n", err->error_code);
free(err);
return NULL;
}
workarea *retv = g_malloc0 ( sizeof ( workarea ) );
// Is primary monitor.
retv->primary = mon->primary;
// Position and size.
retv->x = mon->x;
retv->y = mon->y;
retv->w = mon->width;
retv->h = mon->height;
// Physical
retv->mw = mon->width_in_millimeters;
retv->mh = mon->height_in_millimeters;
// Name
retv->name = g_strdup_printf("%.*s", xcb_get_atom_name_name_length(atom_reply), xcb_get_atom_name_name(atom_reply));
// Free name atom.
free ( atom_reply );
return retv;
}
#endif
static int x11_is_extension_present ( const char *extension )
{
xcb_query_extension_cookie_t randr_cookie = xcb_query_extension ( xcb->connection, strlen ( extension ), extension );
@ -250,18 +300,18 @@ static int x11_is_extension_present ( const char *extension )
static void x11_build_monitor_layout_xinerama ()
{
xcb_xinerama_query_screens_cookie_t screens_cookie = xcb_xinerama_query_screens_unchecked (
xcb->connection
);
xcb->connection
);
xcb_xinerama_query_screens_reply_t *screens_reply = xcb_xinerama_query_screens_reply (
xcb->connection,
screens_cookie,
NULL
);
xcb->connection,
screens_cookie,
NULL
);
xcb_xinerama_screen_info_iterator_t screens_iterator = xcb_xinerama_query_screens_screen_info_iterator (
screens_reply
);
screens_reply
);
for (; screens_iterator.rem > 0; xcb_xinerama_screen_info_next ( &screens_iterator ) ) {
workarea *w = g_malloc0 ( sizeof ( workarea ) );
@ -301,40 +351,75 @@ static void x11_build_monitor_layout ()
}
g_debug ( "Query RANDR for monitor layout." );
xcb_randr_get_screen_resources_current_reply_t *res_reply;
xcb_randr_get_screen_resources_current_cookie_t src;
src = xcb_randr_get_screen_resources_current ( xcb->connection, xcb->screen->root );
res_reply = xcb_randr_get_screen_resources_current_reply ( xcb->connection, src, NULL );
if ( !res_reply ) {
return; //just report error
}
int mon_num = xcb_randr_get_screen_resources_current_outputs_length ( res_reply );
xcb_randr_output_t *ops = xcb_randr_get_screen_resources_current_outputs ( res_reply );
// Get primary.
xcb_randr_get_output_primary_cookie_t pc = xcb_randr_get_output_primary ( xcb->connection, xcb->screen->root );
xcb_randr_get_output_primary_reply_t *pc_rep = xcb_randr_get_output_primary_reply ( xcb->connection, pc, NULL );
for ( int i = mon_num - 1; i >= 0; i-- ) {
workarea *w = x11_get_monitor_from_output ( ops[i] );
if ( w ) {
w->next = xcb->monitors;
xcb->monitors = w;
if ( pc_rep && pc_rep->output == ops[i] ) {
w->primary = TRUE;
g_debug ( "Randr XCB api version: %d.%d.", XCB_RANDR_MAJOR_VERSION, XCB_RANDR_MINOR_VERSION );
#if ( ( ( XCB_RANDR_MAJOR_VERSION == RANDR_PREF_MAJOR_VERSION ) && (XCB_RANDR_MINOR_VERSION >= RANDR_PREF_MINOR_VERSION ) ) \
|| XCB_RANDR_MAJOR_VERSION > RANDR_PREF_MAJOR_VERSION )
xcb_randr_query_version_cookie_t cversion = xcb_randr_query_version(xcb->connection,
RANDR_PREF_MAJOR_VERSION, RANDR_PREF_MINOR_VERSION);
xcb_randr_query_version_reply_t *rversion = xcb_randr_query_version_reply( xcb->connection, cversion, NULL );
if ( rversion ) {
g_debug ( "Found randr version: %d.%d", rversion->major_version, rversion->minor_version );
// Check if we are 1.5 and up.
if ( ( ( rversion->major_version == XCB_RANDR_MAJOR_VERSION ) && (rversion->minor_version >= XCB_RANDR_MINOR_VERSION ) ) ||
( rversion->major_version > XCB_RANDR_MAJOR_VERSION ) ){
xcb_randr_get_monitors_cookie_t t = xcb_randr_get_monitors( xcb->connection, xcb->screen->root, 1 );
xcb_randr_get_monitors_reply_t *mreply = xcb_randr_get_monitors_reply ( xcb->connection, t, NULL );
if( mreply ) {
xcb_randr_monitor_info_iterator_t iter = xcb_randr_get_monitors_monitors_iterator ( mreply );
while ( iter.rem > 0 ) {
workarea *w = x11_get_monitor_from_randr_monitor ( iter.data );
if ( w ) {
w->next = xcb->monitors;
xcb->monitors = w;
}
xcb_randr_monitor_info_next (&iter);
}
free ( mreply );
}
}
free ( rversion );
}
#endif
// If no monitors found.
if ( xcb->monitors == NULL ) {
xcb_randr_get_screen_resources_current_reply_t *res_reply;
xcb_randr_get_screen_resources_current_cookie_t src;
src = xcb_randr_get_screen_resources_current ( xcb->connection, xcb->screen->root );
res_reply = xcb_randr_get_screen_resources_current_reply ( xcb->connection, src, NULL );
if ( !res_reply ) {
return; //just report error
}
int mon_num = xcb_randr_get_screen_resources_current_outputs_length ( res_reply );
xcb_randr_output_t *ops = xcb_randr_get_screen_resources_current_outputs ( res_reply );
// Get primary.
xcb_randr_get_output_primary_cookie_t pc = xcb_randr_get_output_primary ( xcb->connection, xcb->screen->root );
xcb_randr_get_output_primary_reply_t *pc_rep = xcb_randr_get_output_primary_reply ( xcb->connection, pc, NULL );
for ( int i = mon_num - 1; i >= 0; i-- ) {
workarea *w = x11_get_monitor_from_output ( ops[i] );
if ( w ) {
w->next = xcb->monitors;
xcb->monitors = w;
if ( pc_rep && pc_rep->output == ops[i] ) {
w->primary = TRUE;
}
}
}
// If exists, free primary output reply.
if ( pc_rep ) {
free ( pc_rep );
}
free ( res_reply );
}
// Number monitor
int index = 0;
for ( workarea *iter = xcb->monitors; iter; iter = iter->next ) {
iter->monitor_id = index++;
}
// If exists, free primary output reply.
if ( pc_rep ) {
free ( pc_rep );
}
free ( res_reply );
}
void display_dump_monitor_layout ( void )
@ -352,13 +437,13 @@ void display_dump_monitor_layout ( void )
printf ( "%s size%s: %d,%d\n", ( is_term ) ? color_bold : "", is_term ? color_reset : "", iter->w, iter->h );
if ( iter->mw > 0 && iter->mh > 0 ) {
printf ( "%s size%s: %dmm,%dmm dpi: %.0f,%.0f\n",
( is_term ) ? color_bold : "",
is_term ? color_reset : "",
iter->mw,
iter->mh,
iter->w * 25.4 / (double) iter->mw,
iter->h * 25.4 / (double) iter->mh
);
( is_term ) ? color_bold : "",
is_term ? color_reset : "",
iter->mw,
iter->mh,
iter->w * 25.4 / (double) iter->mw,
iter->h * 25.4 / (double) iter->mh
);
}
printf ( "\n" );
}
@ -556,7 +641,7 @@ static int monitor_active_from_id ( int mon_id, workarea *mon )
if ( xcb_ewmh_get_desktop_viewport_reply ( &xcb->ewmh, c, &vp, NULL ) ) {
if ( current_desktop < vp.desktop_viewport_len ) {
monitor_dimensions ( vp.desktop_viewport[current_desktop].x,
vp.desktop_viewport[current_desktop].y, mon );
vp.desktop_viewport[current_desktop].y, mon );
xcb_ewmh_get_desktop_viewport_reply_wipe ( &vp );
return TRUE;
}
@ -675,28 +760,28 @@ static gboolean x11_button_to_nk_bindings_button ( guint32 x11_button, NkBinding
{
switch ( x11_button )
{
case 1:
*button = NK_BINDINGS_MOUSE_BUTTON_PRIMARY;
break;
case 3:
*button = NK_BINDINGS_MOUSE_BUTTON_SECONDARY;
break;
case 2:
*button = NK_BINDINGS_MOUSE_BUTTON_MIDDLE;
break;
case 8:
*button = NK_BINDINGS_MOUSE_BUTTON_BACK;
break;
case 9:
*button = NK_BINDINGS_MOUSE_BUTTON_FORWARD;
break;
case 4:
case 5:
case 6:
case 7:
return FALSE;
default:
*button = NK_BINDINGS_MOUSE_BUTTON_EXTRA + x11_button;
case 1:
*button = NK_BINDINGS_MOUSE_BUTTON_PRIMARY;
break;
case 3:
*button = NK_BINDINGS_MOUSE_BUTTON_SECONDARY;
break;
case 2:
*button = NK_BINDINGS_MOUSE_BUTTON_MIDDLE;
break;
case 8:
*button = NK_BINDINGS_MOUSE_BUTTON_BACK;
break;
case 9:
*button = NK_BINDINGS_MOUSE_BUTTON_FORWARD;
break;
case 4:
case 5:
case 6:
case 7:
return FALSE;
default:
*button = NK_BINDINGS_MOUSE_BUTTON_EXTRA + x11_button;
}
return TRUE;
}
@ -706,20 +791,20 @@ static gboolean x11_button_to_nk_bindings_scroll ( guint32 x11_button, NkBinding
*steps = 1;
switch ( x11_button )
{
case 4:
*steps = -1;
/* fallthrough */
case 5:
*axis = NK_BINDINGS_SCROLL_AXIS_VERTICAL;
break;
case 6:
*steps = -1;
/* fallthrough */
case 7:
*axis = NK_BINDINGS_SCROLL_AXIS_HORIZONTAL;
break;
default:
return FALSE;
case 4:
*steps = -1;
/* fallthrough */
case 5:
*axis = NK_BINDINGS_SCROLL_AXIS_VERTICAL;
break;
case 6:
*steps = -1;
/* fallthrough */
case 7:
*axis = NK_BINDINGS_SCROLL_AXIS_HORIZONTAL;
break;
default:
return FALSE;
}
return TRUE;
}
@ -736,93 +821,93 @@ static void main_loop_x11_event_handler_view ( xcb_generic_event_t *event )
switch ( event->response_type & ~0x80 )
{
case XCB_EXPOSE:
rofi_view_frame_callback ();
break;
case XCB_CONFIGURE_NOTIFY:
{
xcb_configure_notify_event_t *xce = (xcb_configure_notify_event_t *) event;
rofi_view_temp_configure_notify ( state, xce );
break;
}
case XCB_MOTION_NOTIFY:
{
if ( config.click_to_exit == TRUE ) {
xcb->mouse_seen = TRUE;
}
xcb_motion_notify_event_t *xme = (xcb_motion_notify_event_t *) event;
rofi_view_handle_mouse_motion ( state, xme->event_x, xme->event_y );
break;
}
case XCB_BUTTON_PRESS:
{
xcb_button_press_event_t *bpe = (xcb_button_press_event_t *) event;
NkBindingsMouseButton button;
NkBindingsScrollAxis axis;
gint32 steps;
xcb->last_timestamp = bpe->time;
rofi_view_handle_mouse_motion ( state, bpe->event_x, bpe->event_y );
if ( x11_button_to_nk_bindings_button ( bpe->detail, &button ) )
nk_bindings_seat_handle_button ( xcb->bindings_seat, NULL, button, NK_BINDINGS_BUTTON_STATE_PRESS, bpe->time );
else if ( x11_button_to_nk_bindings_scroll ( bpe->detail, &axis, &steps) )
nk_bindings_seat_handle_scroll ( xcb->bindings_seat, NULL, axis, steps );
break;
}
case XCB_BUTTON_RELEASE:
{
xcb_button_release_event_t *bre = (xcb_button_release_event_t *) event;
NkBindingsMouseButton button;
xcb->last_timestamp = bre->time;
if ( x11_button_to_nk_bindings_button ( bre->detail, &button ) )
nk_bindings_seat_handle_button ( xcb->bindings_seat, NULL, button, NK_BINDINGS_BUTTON_STATE_RELEASE, bre->time );
if ( config.click_to_exit == TRUE ) {
if ( !xcb->mouse_seen ) {
rofi_view_temp_click_to_exit ( state, bre->event );
case XCB_EXPOSE:
rofi_view_frame_callback ();
break;
case XCB_CONFIGURE_NOTIFY:
{
xcb_configure_notify_event_t *xce = (xcb_configure_notify_event_t *) event;
rofi_view_temp_configure_notify ( state, xce );
break;
}
xcb->mouse_seen = FALSE;
}
break;
}
// Paste event.
case XCB_SELECTION_NOTIFY:
rofi_view_paste ( state, (xcb_selection_notify_event_t *) event );
break;
case XCB_KEYMAP_NOTIFY:
{
xcb_keymap_notify_event_t *kne = (xcb_keymap_notify_event_t *) event;
for ( gint32 by = 0; by < 31; ++by ) {
for ( gint8 bi = 0; bi < 7; ++bi ) {
if ( kne->keys[by] & ( 1 << bi ) ) {
// X11 keycodes starts at 8
nk_bindings_seat_handle_key ( xcb->bindings_seat, NULL, ( 8 * by + bi ) + 8, NK_BINDINGS_KEY_STATE_PRESSED );
case XCB_MOTION_NOTIFY:
{
if ( config.click_to_exit == TRUE ) {
xcb->mouse_seen = TRUE;
}
xcb_motion_notify_event_t *xme = (xcb_motion_notify_event_t *) event;
rofi_view_handle_mouse_motion ( state, xme->event_x, xme->event_y );
break;
}
}
break;
}
case XCB_KEY_PRESS:
{
xcb_key_press_event_t *xkpe = (xcb_key_press_event_t *) event;
gchar *text;
case XCB_BUTTON_PRESS:
{
xcb_button_press_event_t *bpe = (xcb_button_press_event_t *) event;
NkBindingsMouseButton button;
NkBindingsScrollAxis axis;
gint32 steps;
xcb->last_timestamp = xkpe->time;
text = nk_bindings_seat_handle_key_with_modmask ( xcb->bindings_seat, NULL, xkpe->state, xkpe->detail, NK_BINDINGS_KEY_STATE_PRESS );
if ( text != NULL ) {
rofi_view_handle_text ( state, text );
}
break;
}
case XCB_KEY_RELEASE:
{
xcb_key_release_event_t *xkre = (xcb_key_release_event_t *) event;
xcb->last_timestamp = xkre->time;
nk_bindings_seat_handle_key ( xcb->bindings_seat, NULL, xkre->detail, NK_BINDINGS_KEY_STATE_RELEASE );
break;
}
default:
break;
xcb->last_timestamp = bpe->time;
rofi_view_handle_mouse_motion ( state, bpe->event_x, bpe->event_y );
if ( x11_button_to_nk_bindings_button ( bpe->detail, &button ) )
nk_bindings_seat_handle_button ( xcb->bindings_seat, NULL, button, NK_BINDINGS_BUTTON_STATE_PRESS, bpe->time );
else if ( x11_button_to_nk_bindings_scroll ( bpe->detail, &axis, &steps) )
nk_bindings_seat_handle_scroll ( xcb->bindings_seat, NULL, axis, steps );
break;
}
case XCB_BUTTON_RELEASE:
{
xcb_button_release_event_t *bre = (xcb_button_release_event_t *) event;
NkBindingsMouseButton button;
xcb->last_timestamp = bre->time;
if ( x11_button_to_nk_bindings_button ( bre->detail, &button ) )
nk_bindings_seat_handle_button ( xcb->bindings_seat, NULL, button, NK_BINDINGS_BUTTON_STATE_RELEASE, bre->time );
if ( config.click_to_exit == TRUE ) {
if ( !xcb->mouse_seen ) {
rofi_view_temp_click_to_exit ( state, bre->event );
}
xcb->mouse_seen = FALSE;
}
break;
}
// Paste event.
case XCB_SELECTION_NOTIFY:
rofi_view_paste ( state, (xcb_selection_notify_event_t *) event );
break;
case XCB_KEYMAP_NOTIFY:
{
xcb_keymap_notify_event_t *kne = (xcb_keymap_notify_event_t *) event;
for ( gint32 by = 0; by < 31; ++by ) {
for ( gint8 bi = 0; bi < 7; ++bi ) {
if ( kne->keys[by] & ( 1 << bi ) ) {
// X11 keycodes starts at 8
nk_bindings_seat_handle_key ( xcb->bindings_seat, NULL, ( 8 * by + bi ) + 8, NK_BINDINGS_KEY_STATE_PRESSED );
}
}
}
break;
}
case XCB_KEY_PRESS:
{
xcb_key_press_event_t *xkpe = (xcb_key_press_event_t *) event;
gchar *text;
xcb->last_timestamp = xkpe->time;
text = nk_bindings_seat_handle_key_with_modmask ( xcb->bindings_seat, NULL, xkpe->state, xkpe->detail, NK_BINDINGS_KEY_STATE_PRESS );
if ( text != NULL ) {
rofi_view_handle_text ( state, text );
}
break;
}
case XCB_KEY_RELEASE:
{
xcb_key_release_event_t *xkre = (xcb_key_release_event_t *) event;
xcb->last_timestamp = xkre->time;
nk_bindings_seat_handle_key ( xcb->bindings_seat, NULL, xkre->detail, NK_BINDINGS_KEY_STATE_RELEASE );
break;
}
default:
break;
}
rofi_view_maybe_update ( state );
}
@ -845,28 +930,28 @@ static gboolean main_loop_x11_event_handler ( xcb_generic_event_t *ev, G_GNUC_UN
if ( type == xcb->xkb.first_event ) {
switch ( ev->pad0 )
{
case XCB_XKB_MAP_NOTIFY:
{
struct xkb_keymap *keymap = xkb_x11_keymap_new_from_device ( nk_bindings_seat_get_context ( xcb->bindings_seat ), xcb->connection, xcb->xkb.device_id, 0 );
struct xkb_state *state = xkb_x11_state_new_from_device ( keymap, xcb->connection, xcb->xkb.device_id );
nk_bindings_seat_update_keymap ( xcb->bindings_seat, keymap, state );
xkb_keymap_unref ( keymap );
xkb_state_unref ( state );
break;
}
case XCB_XKB_STATE_NOTIFY:
{
xcb_xkb_state_notify_event_t *ksne = (xcb_xkb_state_notify_event_t *) ev;
nk_bindings_seat_update_mask ( xcb->bindings_seat, NULL,
ksne->baseMods,
ksne->latchedMods,
ksne->lockedMods,
ksne->baseGroup,
ksne->latchedGroup,
ksne->lockedGroup );
rofi_view_maybe_update ( rofi_view_get_active () );
break;
}
case XCB_XKB_MAP_NOTIFY:
{
struct xkb_keymap *keymap = xkb_x11_keymap_new_from_device ( nk_bindings_seat_get_context ( xcb->bindings_seat ), xcb->connection, xcb->xkb.device_id, 0 );
struct xkb_state *state = xkb_x11_state_new_from_device ( keymap, xcb->connection, xcb->xkb.device_id );
nk_bindings_seat_update_keymap ( xcb->bindings_seat, keymap, state );
xkb_keymap_unref ( keymap );
xkb_state_unref ( state );
break;
}
case XCB_XKB_STATE_NOTIFY:
{
xcb_xkb_state_notify_event_t *ksne = (xcb_xkb_state_notify_event_t *) ev;
nk_bindings_seat_update_mask ( xcb->bindings_seat, NULL,
ksne->baseMods,
ksne->latchedMods,
ksne->lockedMods,
ksne->baseGroup,
ksne->latchedGroup,
ksne->lockedGroup );
rofi_view_maybe_update ( rofi_view_get_active () );
break;
}
}
return G_SOURCE_CONTINUE;
}
@ -886,7 +971,7 @@ static int take_pointer ( xcb_window_t w, int iters )
exit ( EXIT_FAILURE );
}
xcb_grab_pointer_cookie_t cc = xcb_grab_pointer ( xcb->connection, 1, w, XCB_EVENT_MASK_BUTTON_RELEASE,
XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC, w, XCB_NONE, XCB_CURRENT_TIME );
XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC, w, XCB_NONE, XCB_CURRENT_TIME );
xcb_grab_pointer_reply_t *r = xcb_grab_pointer_reply ( xcb->connection, cc, NULL );
if ( r ) {
if ( r->status == XCB_GRAB_STATUS_SUCCESS ) {
@ -912,8 +997,8 @@ static int take_keyboard ( xcb_window_t w, int iters )
exit ( EXIT_FAILURE );
}
xcb_grab_keyboard_cookie_t cc = xcb_grab_keyboard ( xcb->connection,
1, w, XCB_CURRENT_TIME, XCB_GRAB_MODE_ASYNC,
XCB_GRAB_MODE_ASYNC );
1, w, XCB_CURRENT_TIME, XCB_GRAB_MODE_ASYNC,
XCB_GRAB_MODE_ASYNC );
xcb_grab_keyboard_reply_t *r = xcb_grab_keyboard_reply ( xcb->connection, cc, NULL );
if ( r ) {
if ( r->status == XCB_GRAB_STATUS_SUCCESS ) {
@ -977,7 +1062,7 @@ static void x11_helper_discover_window_manager ( void )
{
xcb_window_t wm_win = 0;
xcb_get_property_cookie_t cc = xcb_ewmh_get_supporting_wm_check_unchecked ( &xcb->ewmh,
xcb_stuff_get_root_window () );
xcb_stuff_get_root_window () );
if ( xcb_ewmh_get_supporting_wm_check_reply ( &xcb->ewmh, cc, &wm_win, NULL ) ) {
xcb_ewmh_get_utf8_strings_reply_t wtitle;
@ -1027,7 +1112,7 @@ gboolean display_setup ( GMainLoop *main_loop, NkBindings *bindings )
TICK_N ( "Setup XCB" );
if ( xkb_x11_setup_xkb_extension ( xcb->connection, XKB_X11_MIN_MAJOR_XKB_VERSION, XKB_X11_MIN_MINOR_XKB_VERSION,
XKB_X11_SETUP_XKB_EXTENSION_NO_FLAGS, NULL, NULL, &xcb->xkb.first_event, NULL ) < 0 ) {
XKB_X11_SETUP_XKB_EXTENSION_NO_FLAGS, NULL, NULL, &xcb->xkb.first_event, NULL ) < 0 ) {
g_warning ( "cannot setup XKB extension!" );
return FALSE;
}
@ -1069,11 +1154,11 @@ gboolean display_setup ( GMainLoop *main_loop, NkBindings *bindings )
.stateDetails = required_state_details,
};
xcb_xkb_select_events ( xcb->connection, xcb->xkb.device_id, required_events, /* affectWhich */
0, /* clear */
required_events, /* selectAll */
required_map_parts, /* affectMap */
required_map_parts, /* map */
&details );
0, /* clear */
required_events, /* selectAll */
required_map_parts, /* affectMap */
required_map_parts, /* map */
&details );
xcb->bindings_seat = nk_bindings_seat_new ( bindings, XKB_CONTEXT_NO_FLAGS );
struct xkb_keymap *keymap = xkb_x11_keymap_new_from_device ( nk_bindings_seat_get_context ( xcb->bindings_seat ), xcb->connection, xcb->xkb.device_id, XKB_KEYMAP_COMPILE_NO_FLAGS );

@ -1 +1 @@
Subproject commit 1f0e3b3d12aa39d9f01c4b0bc9a2de34e79184c5
Subproject commit 463b7e19a569d748a49a65ab16b0b95009e12ba1

View file

@ -132,3 +132,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

146
themes/Arc-Dark.rasi Normal file
View file

@ -0,0 +1,146 @@
/************************************************
* ROFI Color theme
* User: leofa
* Copyright: 2017 leofa
***********************************************/
* {
selected-normal-foreground: rgba ( 249, 249, 249, 100 % );
foreground: rgba ( 196, 203, 212, 100 % );
normal-foreground: @foreground;
alternate-normal-background: rgba ( 64, 69, 82, 59 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 249, 249, 249, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 204, 102, 102, 100 % );
alternate-urgent-background: rgba ( 75, 81, 96, 90 % );
active-foreground: rgba ( 101, 172, 255, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 249, 249, 249, 100 % );
alternate-active-background: rgba ( 75, 81, 96, 89 % );
background: rgba ( 45, 48, 59, 95 % );
alternate-normal-foreground: @foreground;
normal-background: @background;
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 64, 132, 214, 100 % );
border-color: rgba ( 124, 131, 137, 100 % );
spacing: 2;
separatorcolor: rgba ( 29, 31, 33, 100 % );
urgent-background: rgba ( 29, 31, 33, 17 % );
selected-urgent-background: rgba ( 165, 66, 66, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
alternate-active-foreground: @active-foreground;
active-background: rgba ( 29, 31, 33, 17 % );
selected-active-background: rgba ( 68, 145, 237, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 2px 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-color: @normal-foreground;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px 0px 0px ;
border-color: @separatorcolor;
}
#button {
spacing: 0;
text-color: @normal-foreground;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -131,3 +131,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

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,83 @@ listview {
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;
}
sidebar {
#sidebar {
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 ;
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
}
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;
}
textbox-prompt-sep {
expand: false;
str: ":";
text-color: @normal-foreground;
margin: 0px 0.3000em 0.0000em 0.0000em ;
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -131,3 +131,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -131,3 +131,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -130,3 +130,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -111,3 +111,12 @@
text-color: @foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -131,3 +131,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -66,7 +66,7 @@ configuration {
highlight: underline bold #ffffff;
transparent: rgba(0,0,0,0);
font: "Sauce Code Powerline Medium 10";
font: "Source Code Pro 10";
}
#window {
location: center;
@ -95,7 +95,7 @@ configuration {
background-color: @tcyan;
}
#message {
font: "Sauce Code Powerline ExtraLight 8";
font: "Source Code Pro 8";
color: @black;
}
@ -106,12 +106,15 @@ configuration {
border: 2px 2px 2px 2px;
border-radius: 15px 15px 0px 0px;
border-color: @foreground;
font: "Sauce Code Pro 18";
font: "Source Code Pro 18";
}
#entry,prompt,case-indicator {
text-font: inherit;
text-color:inherit;
}
#prompt {
margin: 0px 0.3em 0em 0em ;
}
#listview {
padding: 8px;
border-radius: 0px 0px 15px 15px;

View file

@ -131,3 +131,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

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,83 @@ listview {
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;
}
sidebar {
#sidebar {
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 {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
textbox-prompt-colon {
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

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,87 @@ listview {
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;
}
sidebar {
#sidebar {
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 {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
textbox-prompt-colon {
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

127
themes/gruvbox-common.rasi Normal file
View file

@ -0,0 +1,127 @@
/* ==========================================================================
File: gruvbox-common.rasi
Desc: Shared rules between all gruvbox themes
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:06:47 PST -0800
========================================================================== */
window {
background-color: @background;
border: 2;
padding: 2;
}
mainbox {
border: 0;
padding: 0;
}
message {
border: 2px 0 0;
border-color: @separatorcolor;
padding: 1px;
}
textbox {
highlight: @highlight;
text-color: @foreground;
}
listview {
border: 2px solid 0 0;
padding: 2px 0 0;
border-color: @separatorcolor;
spacing: 2px;
scrollbar: @scrollbar;
}
element {
border: 0;
padding: 2px;
}
element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
scrollbar {
width: 4px;
border: 0;
handle-color: @scrollbar-handle;
handle-width: 8px;
padding: 0;
}
sidebar {
border: 2px 0 0;
border-color: @separatorcolor;
}
inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 2px;
children: [ prompt, textbox-prompt-sep, entry, case-indicator ];
}
case-indicator,
entry,
prompt,
button {
spacing: 0;
text-color: @normal-foreground;
}
button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
textbox-prompt-sep {
expand: false;
str: ":";
text-color: @normal-foreground;
margin: 0 0.3em 0 0;
}

View file

@ -1,140 +1,62 @@
/*********************************************************
* Rofi color theme
*
* Based on the Gruvbox color scheme for Vim by morhetz
* https://github.com/morhetz/gruvbox
*
* File: gruvbox*dark*hard.theme
* Desc: Gruvbox dark (hard contrast) color theme for Rofi
* Author: bardisty <b@bah.im>
* Source: https://github.com/bardisty/gruvbox*rofi
* Modified: Sat Oct 22 2016 03:12:10 PDT *0700
**********************************************************/
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-dark-hard.rasi
Desc: Gruvbox dark (hard contrast) color theme for Rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:04:26 PST -0800
========================================================================== */
* {
selected-normal-foreground: rgba ( 251, 241, 199, 100 % );
foreground: rgba ( 235, 219, 178, 100 % );
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox dark colors */
gruvbox-dark-bg0-hard: #1d2021;
gruvbox-dark-bg0: #282828;
gruvbox-dark-bg2: #504945;
gruvbox-dark-fg0: #fbf1c7;
gruvbox-dark-fg1: #ebdbb2;
gruvbox-dark-red-dark: #cc241d;
gruvbox-dark-red-light: #fb4934;
gruvbox-dark-yellow-dark: #d79921;
gruvbox-dark-yellow-light: #fabd2f;
gruvbox-dark-gray: #a89984;
/* Theme colors */
background: @gruvbox-dark-bg0-hard;
background-color: @background;
foreground: @gruvbox-dark-fg1;
border-color: @gruvbox-dark-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: rgba ( 40, 40, 40, 100 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 29, 32, 33, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 29, 32, 33, 100 % );
alternate-urgent-background: rgba ( 204, 36, 29, 100 % );
active-foreground: rgba ( 29, 32, 33, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 29, 32, 33, 100 % );
alternate-active-background: rgba ( 215, 153, 33, 100 % );
background: rgba ( 29, 32, 33, 100 % );
bordercolor: rgba ( 168, 153, 132, 100 % );
alternate-normal-background: @gruvbox-dark-bg0;
alternate-normal-foreground: @foreground;
normal-background: rgba ( 29, 32, 33, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 80, 73, 69, 100 % );
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 168, 153, 132, 100 % );
urgent-background: rgba ( 204, 36, 29, 100 % );
selected-urgent-background: rgba ( 251, 73, 52, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
selected-normal-background: @gruvbox-dark-bg2;
selected-normal-foreground: @gruvbox-dark-fg0;
active-background: @gruvbox-dark-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
active-background: rgba ( 215, 153, 33, 100 % );
selected-active-background: rgba ( 250, 189, 47, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
selected-active-background: @gruvbox-dark-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-dark-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-dark-red-light;
selected-urgent-foreground: @urgent-foreground;
}
@import "gruvbox-common.rasi"

View file

@ -1,139 +1,62 @@
/*********************************************************
* Rofi color theme
*
* Based on the Gruvbox color scheme for Vim by morhetz
* https://github.com/morhetz/gruvbox
*
* File: gruvbox*dark*soft.theme
* Desc: Gruvbox dark (soft contrast) color theme for Rofi
* Author: bardisty <b@bah.im>
* Source: https://github.com/bardisty/gruvbox*rofi
* Modified: Sat Oct 22 2016 03:12:10 PDT *0700
**********************************************************/
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-dark-soft.rasi
Desc: Gruvbox dark (soft contrast) color theme for Rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:04:37 PST -0800
========================================================================== */
* {
selected-normal-foreground: rgba ( 251, 241, 199, 100 % );
foreground: rgba ( 235, 219, 178, 100 % );
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox dark colors */
gruvbox-dark-bg0-soft: #32302f;
gruvbox-dark-bg1: #3c3836;
gruvbox-dark-bg3: #665c54;
gruvbox-dark-fg0: #fbf1c7;
gruvbox-dark-fg1: #ebdbb2;
gruvbox-dark-red-dark: #cc241d;
gruvbox-dark-red-light: #fb4934;
gruvbox-dark-yellow-dark: #d79921;
gruvbox-dark-yellow-light: #fabd2f;
gruvbox-dark-gray: #a89984;
/* Theme colors */
background: @gruvbox-dark-bg0-soft;
background-color: @background;
foreground: @gruvbox-dark-fg1;
border-color: @gruvbox-dark-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: rgba ( 60, 56, 54, 100 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 50, 48, 47, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 50, 48, 47, 100 % );
alternate-urgent-background: rgba ( 204, 36, 29, 100 % );
active-foreground: rgba ( 50, 48, 47, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 50, 48, 47, 100 % );
alternate-active-background: rgba ( 215, 153, 33, 100 % );
background: rgba ( 50, 48, 47, 100 % );
bordercolor: rgba ( 168, 153, 132, 100 % );
alternate-normal-background: @gruvbox-dark-bg1;
alternate-normal-foreground: @foreground;
normal-background: rgba ( 50, 48, 47, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 102, 92, 84, 100 % );
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 168, 153, 132, 100 % );
urgent-background: rgba ( 204, 36, 29, 100 % );
selected-urgent-background: rgba ( 251, 73, 52, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
selected-normal-background: @gruvbox-dark-bg3;
selected-normal-foreground: @gruvbox-dark-fg0;
active-background: @gruvbox-dark-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
active-background: rgba ( 215, 153, 33, 100 % );
selected-active-background: rgba ( 250, 189, 47, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
selected-active-background: @gruvbox-dark-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-dark-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-dark-red-light;
selected-urgent-foreground: @urgent-foreground;
}
@import "gruvbox-common.rasi"

View file

@ -1,139 +1,62 @@
/*********************************************************
* Rofi color theme
*
* Based on the Gruvbox color scheme for Vim by morhetz
* https://github.com/morhetz/gruvbox
*
* File: gruvbox*dark.theme
* Desc: Gruvbox dark color theme for Rofi
* Author: bardisty <b@bah.im>
* Source: https://github.com/bardisty/gruvbox*rofi
* Modified: Sat Oct 22 2016 03:12:10 PDT *0700
**********************************************************/
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-dark.rasi
Desc: Gruvbox dark color theme for Rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 04:08:43 PST -0800
========================================================================== */
* {
selected-normal-foreground: rgba ( 251, 241, 199, 100 % );
foreground: rgba ( 235, 219, 178, 100 % );
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox dark colors */
gruvbox-dark-bg0: #282828;
gruvbox-dark-bg0-soft: #32302f;
gruvbox-dark-bg3: #665c54;
gruvbox-dark-fg0: #fbf1c7;
gruvbox-dark-fg1: #ebdbb2;
gruvbox-dark-red-dark: #cc241d;
gruvbox-dark-red-light: #fb4934;
gruvbox-dark-yellow-dark: #d79921;
gruvbox-dark-yellow-light: #fabd2f;
gruvbox-dark-gray: #a89984;
/* Theme colors */
background: @gruvbox-dark-bg0;
background-color: @background;
foreground: @gruvbox-dark-fg1;
border-color: @gruvbox-dark-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: rgba ( 50, 48, 47, 100 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 40, 40, 40, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 40, 40, 40, 100 % );
alternate-urgent-background: rgba ( 204, 36, 29, 100 % );
active-foreground: rgba ( 40, 40, 40, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 40, 40, 40, 100 % );
alternate-active-background: rgba ( 215, 153, 33, 100 % );
background: rgba ( 40, 40, 40, 100 % );
bordercolor: rgba ( 168, 153, 132, 100 % );
alternate-normal-background: @gruvbox-dark-bg0-soft;
alternate-normal-foreground: @foreground;
normal-background: rgba ( 40, 40, 40, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 102, 92, 84, 100 % );
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 168, 153, 132, 100 % );
urgent-background: rgba ( 204, 36, 29, 100 % );
selected-urgent-background: rgba ( 251, 73, 52, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
selected-normal-background: @gruvbox-dark-bg3;
selected-normal-foreground: @gruvbox-dark-fg0;
active-background: @gruvbox-dark-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
active-background: rgba ( 215, 153, 33, 100 % );
selected-active-background: rgba ( 250, 189, 47, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
selected-active-background: @gruvbox-dark-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-dark-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-dark-red-light;
selected-urgent-foreground: @urgent-foreground;
}
@import "gruvbox-common.rasi"

View file

@ -1,140 +1,62 @@
/*******************
* Rofi color theme
*
* Based on the Gruvbox color scheme for Vim by morhetz
* https://github.com/morhetz/gruvbox
*
* File: gruvbox-light-hard.theme
* Desc: Gruvbox light (hard contrast) color theme for Rofi
* Author: bardisty <b@bah.im>
* Source: https://github.com/bardisty/gruvbox-rofi
* Modified: Sat Oct 22 2016 03:11:32 PDT -0700
*/
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-light-hard.rasi
Desc: Gruvbox light (hard contrast) color theme for Rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:04:48 PST -0800
========================================================================== */
* {
selected-normal-foreground: rgba ( 40, 40, 40, 100 % );
foreground: rgba ( 60, 56, 54, 100 % );
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox light colors */
gruvbox-light-bg0-hard: #f9f5d7;
gruvbox-light-bg0: #fbf1c7;
gruvbox-light-bg1: #ebdbb2;
gruvbox-light-fg0: #282828;
gruvbox-light-fg1: #3c3836;
gruvbox-light-red-dark: #9d0006;
gruvbox-light-red-light: #cc241d;
gruvbox-light-yellow-dark: #b57614;
gruvbox-light-yellow-light: #d79921;
gruvbox-light-gray: #7c6f64;
/* Theme colors */
background: @gruvbox-light-bg0-hard;
background-color: @background;
foreground: @gruvbox-light-fg1;
border-color: @gruvbox-light-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: rgba ( 251, 241, 199, 100 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 253, 244, 193, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 253, 244, 193, 100 % );
alternate-urgent-background: rgba ( 204, 36, 29, 100 % );
active-foreground: rgba ( 253, 244, 193, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 253, 244, 193, 100 % );
alternate-active-background: rgba ( 181, 118, 20, 100 % );
background: rgba ( 249, 245, 215, 100 % );
bordercolor: rgba ( 124, 111, 100, 100 % );
alternate-normal-background: @gruvbox-light-bg0;
alternate-normal-foreground: @foreground;
normal-background: rgba ( 249, 245, 215, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 235, 219, 178, 100 % );
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 124, 111, 100, 100 % );
urgent-background: rgba ( 204, 36, 29, 100 % );
selected-urgent-background: rgba ( 251, 73, 52, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
selected-normal-background: @gruvbox-light-bg1;
selected-normal-foreground: @gruvbox-light-fg0;
active-background: @gruvbox-light-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
active-background: rgba ( 181, 118, 20, 100 % );
selected-active-background: rgba ( 215, 153, 33, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
selected-active-background: @gruvbox-light-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-light-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-light-red-light;
selected-urgent-foreground: @urgent-foreground;
}
@import "gruvbox-common.rasi"

View file

@ -1,139 +1,62 @@
/*******************
* Rofi color theme
*
* Based on the Gruvbox color scheme for Vim by morhetz
* https://github.com/morhetz/gruvbox
*
* File: gruvbox-light-soft.theme
* Desc: Gruvbox light (soft contrast) color theme for Rofi
* Author: bardisty <b@bah.im>
* Source: https://github.com/bardisty/gruvbox-rofi
* Modified: Sat Oct 22 2016 03:11:32 PDT -0700
*/
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-light-soft.rasi
Desc: Gruvbox light (soft contrast) color theme for Rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:05:38 PST -0800
========================================================================== */
* {
selected-normal-foreground: rgba ( 40, 40, 40, 100 % );
foreground: rgba ( 60, 56, 54, 100 % );
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox light colors */
gruvbox-light-bg0-soft: #f2e5bc;
gruvbox-light-bg1: #ebdbb2;
gruvbox-light-bg2: #d5c4a1;
gruvbox-light-fg0: #282828;
gruvbox-light-fg1: #3c3836;
gruvbox-light-red-dark: #9d0006;
gruvbox-light-red-light: #cc241d;
gruvbox-light-yellow-dark: #b57614;
gruvbox-light-yellow-light: #d79921;
gruvbox-light-gray: #7c6f64;
/* Theme colors */
background: @gruvbox-light-bg0-soft;
background-color: @background;
foreground: @gruvbox-light-fg1;
border-color: @gruvbox-light-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: rgba ( 235, 219, 178, 100 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 242, 229, 188, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 242, 229, 188, 100 % );
alternate-urgent-background: rgba ( 204, 36, 29, 100 % );
active-foreground: rgba ( 242, 229, 188, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 242, 229, 188, 100 % );
alternate-active-background: rgba ( 181, 118, 20, 100 % );
background: rgba ( 242, 229, 188, 100 % );
bordercolor: rgba ( 124, 111, 100, 100 % );
alternate-normal-background: @gruvbox-light-bg1;
alternate-normal-foreground: @foreground;
normal-background: rgba ( 242, 229, 188, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 213, 196, 161, 100 % );
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 124, 111, 100, 100 % );
urgent-background: rgba ( 204, 36, 29, 100 % );
selected-urgent-background: rgba ( 251, 73, 52, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
selected-normal-background: @gruvbox-light-bg2;
selected-normal-foreground: @gruvbox-light-fg0;
active-background: @gruvbox-light-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
active-background: rgba ( 181, 118, 20, 100 % );
selected-active-background: rgba ( 215, 153, 33, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
selected-active-background: @gruvbox-light-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-light-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-light-red-light;
selected-urgent-foreground: @urgent-foreground;
}
@import "gruvbox-common.rasi"

View file

@ -1,139 +1,62 @@
/*******************
* Rofi color theme
*
* Based on the Gruvbox color scheme for Vim by morhetz
* https://github.com/morhetz/gruvbox
*
* File: gruvbox-light.theme
* Desc: Gruvbox light color theme for Rofi
* Author: bardisty <b@bah.im>
* Source: https://github.com/bardisty/gruvbox-rofi
* Modified: Sat Oct 22 2016 03:11:32 PDT -0700
*/
/* ==========================================================================
Rofi color theme
Based on the Gruvbox color scheme for Vim by morhetz
https://github.com/morhetz/gruvbox
File: gruvbox-light.rasi
Desc: Gruvbox light color theme for rofi
Author: bardisty <b@bah.im>
Source: https://github.com/bardisty/gruvbox-rofi
Modified: Mon Feb 12 2018 06:06:06 PST -0800
========================================================================== */
* {
selected-normal-foreground: rgba ( 40, 40, 40, 100 % );
foreground: rgba ( 60, 56, 54, 100 % );
/* Theme settings */
highlight: bold italic;
scrollbar: true;
/* Gruvbox light colors */
gruvbox-light-bg0: #fbf1c7;
gruvbox-light-bg0-soft: #f2e5bc;
gruvbox-light-bg2: #d5c4a1;
gruvbox-light-fg0: #282828;
gruvbox-light-fg1: #3c3836;
gruvbox-light-gray: #7c6f64;
gruvbox-light-red-dark: #9d0006;
gruvbox-light-red-light: #cc241d;
gruvbox-light-yellow-dark: #b57614;
gruvbox-light-yellow-light: #d79921;
/* Theme colors */
background: @gruvbox-light-bg0;
background-color: @background;
foreground: @gruvbox-light-fg1;
border-color: @gruvbox-light-gray;
separatorcolor: @border-color;
scrollbar-handle: @border-color;
normal-background: @background;
normal-foreground: @foreground;
alternate-normal-background: rgba ( 242, 229, 188, 100 % );
red: rgba ( 220, 50, 47, 100 % );
selected-urgent-foreground: rgba ( 251, 241, 199, 100 % );
blue: rgba ( 38, 139, 210, 100 % );
urgent-foreground: rgba ( 251, 241, 199, 100 % );
alternate-urgent-background: rgba ( 204, 36, 29, 100 % );
active-foreground: rgba ( 251, 241, 199, 100 % );
lightbg: rgba ( 238, 232, 213, 100 % );
selected-active-foreground: rgba ( 251, 241, 199, 100 % );
alternate-active-background: rgba ( 181, 118, 20, 100 % );
background: rgba ( 251, 241, 199, 100 % );
bordercolor: rgba ( 124, 111, 100, 100 % );
alternate-normal-background: @gruvbox-light-bg0-soft;
alternate-normal-foreground: @foreground;
normal-background: rgba ( 251, 241, 199, 100 % );
lightfg: rgba ( 88, 104, 117, 100 % );
selected-normal-background: rgba ( 213, 196, 161, 100 % );
border-color: @foreground;
spacing: 2;
separatorcolor: rgba ( 124, 111, 100, 100 % );
urgent-background: rgba ( 204, 36, 29, 100 % );
selected-urgent-background: rgba ( 251, 73, 52, 100 % );
alternate-urgent-foreground: @urgent-foreground;
background-color: rgba ( 0, 0, 0, 0 % );
selected-normal-background: @gruvbox-light-bg2;
selected-normal-foreground: @gruvbox-light-fg0;
active-background: @gruvbox-light-yellow-dark;
active-foreground: @background;
alternate-active-background: @active-background;
alternate-active-foreground: @active-foreground;
active-background: rgba ( 181, 118, 20, 100 % );
selected-active-background: rgba ( 215, 153, 33, 100 % );
}
#window {
background-color: @background;
border: 1;
padding: 5;
}
#mainbox {
border: 0;
padding: 0;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
spacing: 2px ;
scrollbar: true;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @normal-background;
text-color: @normal-foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @active-foreground;
}
#element.selected.normal {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @selected-urgent-foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @selected-active-foreground;
}
#element.alternate.normal {
background-color: @alternate-normal-background;
text-color: @alternate-normal-foreground;
}
#element.alternate.urgent {
background-color: @alternate-urgent-background;
text-color: @alternate-urgent-foreground;
}
#element.alternate.active {
background-color: @alternate-active-background;
text-color: @alternate-active-foreground;
}
#scrollbar {
width: 4px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-normal-background;
text-color: @selected-normal-foreground;
}
#inputbar {
spacing: 0;
text-color: @normal-foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
selected-active-background: @gruvbox-light-yellow-light;
selected-active-foreground: @active-foreground;
urgent-background: @gruvbox-light-red-dark;
urgent-foreground: @background;
alternate-urgent-background: @urgent-background;
alternate-urgent-foreground: @urgent-foreground;
selected-urgent-background: @gruvbox-light-red-light;
selected-urgent-foreground: @urgent-foreground;
}
@import "gruvbox-common.rasi"

View file

@ -131,3 +131,12 @@
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -115,3 +115,12 @@
#button selected {
text-color: #4271AEFF;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

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,83 @@ listview {
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;
}
sidebar {
#sidebar {
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 {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
textbox-prompt-colon {
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

View file

@ -42,23 +42,32 @@
highlight: bold #ffffff;
}
#window {
height: 100%;
width: 30em;
fullscreen: true;
location: west;
anchor: west;
border: 0px 2px 0px 0px;
text-color: @lightwhite;
orientation: horizontal;
children: [mainbox, dummy];
}
#dummy {
expand: true;
}
#sidebar {
border: 2px 0px 0px 0px;
background-color: @lightblack;
padding: 4px;
padding: 10px;
}
#button selected {
border-color: @lightgreen;
text-color: @lightgreen;
}
#entry {
width: 20em;
}
#inputbar {
background-color: @lightblack;
text-color: @lightgreen;
@ -66,7 +75,7 @@
border: 0px 0px 2px 0px;
}
#mainbox {
expand: true;
expand: false;
background-color: #1c1c1cee;
spacing: 1em;
}
@ -100,3 +109,12 @@
background-color: @lightred;
text-color: @dark;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

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,83 @@ listview {
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;
}
sidebar {
#sidebar {
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 {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
textbox-prompt-colon {
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}

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,83 @@ listview {
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;
}
sidebar {
#sidebar {
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 {
spacing: 0;
text-color: @normal-foreground;
}
#entry {
spacing: 0;
text-color: @normal-foreground;
}
#prompt {
spacing: 0;
text-color: @normal-foreground;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
case-indicator {
spacing: 0;
text-color: @normal-foreground;
}
entry {
spacing: 0;
text-color: @normal-foreground;
}
prompt {
spacing: 0;
text-color: @normal-foreground;
}
textbox-prompt-colon {
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3000em 0.0000em 0.0000em ;
text-color: inherit;
margin: 0px 0.3em 0em 0em ;
text-color: @normal-foreground;
}