/* ---- Configuration ---- */
configuration {
    modi:                       "drun,filebrowser,window,run";
    show-icons:                 true;
    display-drun:               "  apps";
    display-run:                "  term";
    display-filebrowser:        "  files";
    display-window:             "  window";
	drun-display-format:        "{name}";
    window-format:              "{w} · {c} · {t}";
    hover-select:               true;
    me-select-entry:            "MouseSecondary";
    me-accept-entry:            "MousePrimary";    
}

/* ---- Load wallust colors ---- */
@theme "~/.config/rofi/wallust/colors-rofi.rasi"

/* ---- Global Properties ---- */
* {

    border-width: 2px;
    border-radius: 12px;
}

/*****-- Elements Font Size -----*****/
element-text {
  font: "JetBrainsMono Nerd Font SemiBold 13";
}

/* ---- Window ---- */
window {
    width:                       50%;
    transparency:                "real";
    fullscreen:                  false;
    enabled:                     true;
    cursor:                      "default";
    spacing:                     0em;
    padding:                     0em;
    border:                      @border-width;
    border-color:                @color12;
    border-radius:               @border-radius;
    background-color:            @background;
}

mainbox {
    enabled:                     true;
    spacing:                     0em;
    padding:                     0em;
    orientation:                 vertical;
    children:                    [ "inputbar" , "mode-switcher", "message", "listbox" ];
    background-color:            transparent;
}


/* ---- Inputbar ---- */
inputbar {
    enabled:                     true;
    spacing:                     0em;
    padding:                     4em;
    children:                    [ "textbox-prompt-colon", "entry" ];
    background-color:            transparent;
    background-image:            url("~/.config/rofi/.current_wallpaper", width);
}

textbox-prompt-colon {
    enabled:                     true;
    expand:                      false;
    str:                         "  ➡️";
    padding:                     1em 0.2em 0em 0em;
    text-color:                  @foreground;
    border-radius:               2em 0em 0em 2em;
    background-color:            @background;
}

entry {
    enabled:                     true;
    border-radius:               0em 2em 2em 0em;
    spacing:                     1em;
    padding:                     1em;
    background-color:            @background;
    text-color:                  @foreground;
    cursor:                      text;
    placeholder:                 "  Search";
    placeholder-color:           inherit;
}

/* ---- Listbox ---- */
listbox {
    padding:                     0em;
    spacing:                     0em;
    orientation:                 horizontal;
    children:                    [ "listview" ];
    background-color:            @background;
}

/* ---- Listview ---- */
listview {
    padding:                     0.5em;
    spacing:                     0.5em;
    enabled:                     true;
    columns:                     2;
    lines:                       4;
    cycle:                       true;
    dynamic:                     true;
    scrollbar:                   true;
    layout:                      vertical;
    reverse:                     false;
    fixed-height:                true;
    fixed-columns:               true;
    cursor:                      "default";
    background-color:            transparent;
}


/* ---- Mode Switcher ---- */
mode-switcher {
    orientation:                 horizontal;
    width:                       2em;
    enabled:                     true;
    padding:                     0.7em;
    spacing:                     1em;
    background-color:            transparent;
}

button {
    cursor:                      pointer;
    border-radius:               2em;
    background-color:            @background;
    text-color:                  @foreground;
	padding: 0.4em;
}

button selected {
    background-color:            @color12;
    text-color:                  @foreground;
}

/* ---- Scrollbar ---- */
scrollbar {
    border:       				0px;
    handle-color: 				@color11;
    handle-width: 				2px ;
    padding:      				0;
}


/* ---- Elements ---- */
element {
    enabled:                     true;
    spacing:                     0em;
    padding:                     0.8em;
    cursor:                      pointer;
    background-color:            transparent;
    text-color:                  @foreground;
}

element-text selected,
element selected.normal {
    background-color:            @color11;
    text-color:                  @foreground;
    border-radius:               1.5em;
}

element normal.normal {
    background-color:            inherit;
    text-color:                  @foreground;
}

element normal.urgent {
    background-color:            inherit;
    text-color:                  @foreground;
}

element normal.active {
    background-color:            inherit;
    text-color:                  @foreground;
}

element selected.urgent {
    background-color:            inherit;
    text-color:                  @foreground;
}

element selected.active {
    background-color:            inherit;
    text-color:                  @foreground;
}

element alternate.normal {
    background-color:            inherit;
    text-color:                  @foreground;
}

element alternate.urgent {
    background-color:            inherit;
    text-color:                  @foreground;
}

element alternate.active {
    background-color:            inherit;
    text-color:                  @foreground;
}

element-icon {
    size:                        2em;
    cursor:                      inherit;
    background-color:            transparent;
    text-color:                  inherit;
}

element-text {
    vertical-align:              0.5;
    horizontal-align:            0.0;
    cursor:                      inherit;
    background-color:            transparent;
    text-color:                  inherit;
}

/* ---- Message ---- */
message {
    background-color:            transparent;
    border:                      0px;
}
textbox {
	margin:						 12px;
    padding:                     12px;
    border-radius:               @border-radius;
    background-color:            @color12;
    text-color:                  @foreground;
    vertical-align:              0.5;
    horizontal-align:            0.5;
}
error-message {
    padding:                     0px;
    border-radius:               @border-radius;
    background-color:            @background;
    text-color:                  @foreground;
}
