mirror of
https://github.com/davatorium/rofi.git
synced 2025-07-31 21:59:25 -04:00
Millimeter support for distance (#1144)
This commit is contained in:
parent
2da2a1f4dc
commit
fb2ba8ada3
4 changed files with 14 additions and 1 deletions
|
@ -80,6 +80,8 @@ typedef enum
|
||||||
{
|
{
|
||||||
/** PixelWidth in pixels. */
|
/** PixelWidth in pixels. */
|
||||||
ROFI_PU_PX,
|
ROFI_PU_PX,
|
||||||
|
/** PixelWidth in millimeters. */
|
||||||
|
ROFI_PU_MM,
|
||||||
/** PixelWidth in EM. */
|
/** PixelWidth in EM. */
|
||||||
ROFI_PU_EM,
|
ROFI_PU_EM,
|
||||||
/** PixelWidget in percentage */
|
/** PixelWidget in percentage */
|
||||||
|
|
|
@ -174,6 +174,7 @@ HEX [[:xdigit:]]
|
||||||
NUMBER [[:digit:]]
|
NUMBER [[:digit:]]
|
||||||
PNNUMBER [-+]?[[:digit:]]+
|
PNNUMBER [-+]?[[:digit:]]+
|
||||||
PX (px)
|
PX (px)
|
||||||
|
MM (mm)
|
||||||
EM (em)
|
EM (em)
|
||||||
CH (ch)
|
CH (ch)
|
||||||
PERCENT (\%)
|
PERCENT (\%)
|
||||||
|
@ -452,6 +453,7 @@ if ( queue == NULL ){
|
||||||
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{EM} { return T_UNIT_EM; }
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{EM} { return T_UNIT_EM; }
|
||||||
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{CH} { return T_UNIT_CH; }
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{CH} { return T_UNIT_CH; }
|
||||||
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT,MEDIA_CONTENT>{PX} { return T_UNIT_PX; }
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT,MEDIA_CONTENT>{PX} { return T_UNIT_PX; }
|
||||||
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT,MEDIA_CONTENT>{MM} { return T_UNIT_MM; }
|
||||||
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{PERCENT} { return T_PERCENT; }
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{PERCENT} { return T_PERCENT; }
|
||||||
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{LS_SOLID} { return T_SOLID; }
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{LS_SOLID} { return T_SOLID; }
|
||||||
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{LS_DASH} { return T_DASH; }
|
<PROPERTIES,PROPERTIES_ENV,PROPERTIES_VAR_DEFAULT>{LS_DASH} { return T_DASH; }
|
||||||
|
|
|
@ -187,6 +187,7 @@ static ThemeColor hwb_to_rgb ( double h, double w, double b)
|
||||||
%token T_SOLID "Solid"
|
%token T_SOLID "Solid"
|
||||||
|
|
||||||
%token T_UNIT_PX "pixels"
|
%token T_UNIT_PX "pixels"
|
||||||
|
%token T_UNIT_MM "mm"
|
||||||
%token T_UNIT_EM "em"
|
%token T_UNIT_EM "em"
|
||||||
%token T_UNIT_CH "ch"
|
%token T_UNIT_CH "ch"
|
||||||
%token T_UNIT_PERCENT "%"
|
%token T_UNIT_PERCENT "%"
|
||||||
|
@ -738,9 +739,10 @@ t_property_distance
|
||||||
/** distance unit. px, em, % */
|
/** distance unit. px, em, % */
|
||||||
t_property_unit
|
t_property_unit
|
||||||
: T_UNIT_PX { $$ = ROFI_PU_PX; }
|
: T_UNIT_PX { $$ = ROFI_PU_PX; }
|
||||||
|
| T_UNIT_MM { $$ = ROFI_PU_MM; }
|
||||||
| T_UNIT_EM { $$ = ROFI_PU_EM; }
|
| T_UNIT_EM { $$ = ROFI_PU_EM; }
|
||||||
| T_UNIT_CH { $$ = ROFI_PU_CH; }
|
| T_UNIT_CH { $$ = ROFI_PU_CH; }
|
||||||
| T_PERCENT { $$ = ROFI_PU_PERCENT; }
|
| T_PERCENT { $$ = ROFI_PU_PERCENT; }
|
||||||
;
|
;
|
||||||
/******
|
/******
|
||||||
* Line style
|
* Line style
|
||||||
|
|
|
@ -301,6 +301,10 @@ static void rofi_theme_print_distance_unit ( RofiDistanceUnit *unit )
|
||||||
if ( unit->type == ROFI_PU_PX ) {
|
if ( unit->type == ROFI_PU_PX ) {
|
||||||
printf ( "%upx ", (unsigned int) unit->distance );
|
printf ( "%upx ", (unsigned int) unit->distance );
|
||||||
}
|
}
|
||||||
|
else if ( unit->type == ROFI_PU_MM ) {
|
||||||
|
printf_double ( unit->distance );
|
||||||
|
fputs ( "mm ", stdout );
|
||||||
|
}
|
||||||
else if ( unit->type == ROFI_PU_PERCENT ) {
|
else if ( unit->type == ROFI_PU_PERCENT ) {
|
||||||
printf_double ( unit->distance );
|
printf_double ( unit->distance );
|
||||||
fputs ( "% ", stdout );
|
fputs ( "% ", stdout );
|
||||||
|
@ -942,6 +946,9 @@ static int get_pixels ( RofiDistanceUnit *unit, RofiOrientation ori )
|
||||||
val = ( unit->distance * width ) / ( 100.0 );
|
val = ( unit->distance * width ) / ( 100.0 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if ( unit->type == ROFI_PU_MM ) {
|
||||||
|
val = unit->distance * config.dpi / 25.4;
|
||||||
|
}
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue