/* ---- 💫 https://github.com/JaKooLit 💫 ---- */
/* Master Config */

/* ---- Configuration ---- */

configuration {
	font:						"Fira Code SemiBold 12";
	modi:                       "drun,run,filebrowser";
    show-icons:                 true;
    display-drun:               "Apps";
    display-run:                "Run";
    display-filebrowser:        "Files";
    display-window:             "Windows";
	drun-display-format:        "{name}";
	hover-select:               true;
	me-select-entry:            "MouseSecondary";
    me-accept-entry:            "MousePrimary";
	window-format:              "{w} · {c} · {t}";
	dpi:						1;
}

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

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

    background-alt:              @selected-active-background; // Buttons background
    selected:                    @selected-urgent-background; // Button selected
    active:                      @selected-normal-background; // Window activated
    urgent:                      @selected; // When hovering the activated window (maybe more?)

    text-selected:               @background;
    text-color:                  @foreground;
    border-color:                @selected;
}

/* ---- Window ---- */
window {
    // Default
    enabled:                    true;
    fullscreen:                 false;
    transparency:               "real";
    cursor:                     "default";
    spacing:                    0px;
    border:                     2px;
    border-radius:              30px;
    location:                   center;
    anchor:                     center;

    // Style Values
    width:                      50%;
    background-color:           @background;
}

/* ----- Main Box ----- */
mainbox {
	padding:					 15px;
    enabled:                     true;
    orientation:                 vertical;
    children:                    [ "inputbar", "listbox" ];
    background-color:            transparent;
}


/* ---- Inputbar ---- */
inputbar {
    enabled:                     true;
    padding:                     10px 10px 100px 10px;
    margin:                      10px;
    background-color:            transparent;
    border-radius:               25px;
    orientation:                 horizontal;
    children:                    ["entry", "dummy", "mode-switcher" ];
    background-image:            url("~/.config/rofi/.current_wallpaper", width);
}

/* ---- Entry input ---- */
entry {
    enabled:                     true;
    expand:                      false;
    width:                       20%;
    padding:                     10px;
    border-radius:               12px;
    background-color:            @selected;
    text-color:                  @text-selected;
    cursor:                      text;
    placeholder:                 "🖥️ Search "; // << Search symbol
    placeholder-color:           inherit;
}

/* ---- Listbox ---- */
listbox {
    spacing:                     10px;
    padding:                     10px;
    background-color:            transparent;
    orientation:                 vertical;
    children:                    [ "message", "listview" ];
}

/* ---- Listview ---- */
listview {
    enabled:                     true;
    columns:                     2;
    lines:                       6;
    cycle:                       true;
    dynamic:                     true;
    scrollbar:                   true;
    layout:                      vertical;
    reverse:                     false;
    fixed-height:                false;
    fixed-columns:               true;    
    spacing:                     10px;
    background-color:            transparent;

//  Adapt rofi theme
    border:                      0px;
}

/* ---- Dummy ---- */
dummy {
    expand:                      true;
    background-color:            transparent;
}

/* ---- Mode Switcher ---- */
mode-switcher{
    enabled:                     true;
    spacing:                     10px;
    background-color:            transparent;
}
button {
    width:                       5%;
    padding:                     12px;
    border-radius:               12px;
    background-color:            @text-selected;
    text-color:                  @text-color;
    cursor:                      pointer;
}
button selected {
    background-color:            @selected;
    text-color:                  @text-selected;
}

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

/* ---- Elements ---- */
element {
    enabled:                     true;
    spacing:                     10px;
    padding:                     10px;
    border-radius:               12px;
    background-color:            transparent;
    cursor:                      pointer;
}

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

element selected.normal {
    border:                      0px 5px 0px 5px;
    border-radius:               16px;
    border-color:                @selected;
    background-color:            transparent;
    text-color:                  @selected;
}

element selected.urgent {
    background-color:            @urgent;
    text-color:                  @text-selected;
}
element selected.active {
    background-color:            @urgent;
    text-color:                  @text-selected;
}
// Adapt rofi theme
element alternate.normal {
    background-color:            transparent;
    text-color:                  inherit;
}
element alternate.urgent {
    background-color:            transparent;
    text-color:                  inherit;
}
element alternate.active {
    background-color:            transparent;
    text-color:                  inherit;
}
element-icon {
    background-color:            transparent;
    text-color:                  inherit;
    cursor:                      inherit;
}
element-text {
    font:						"Fira Code SemiBold 12";
    background-color:            transparent;
    text-color:                  inherit;
    cursor:                      inherit;
    vertical-align:              0.5;
    horizontal-align:            0.0;
}

/* ---- Message ---- */
message {
    background-color:            transparent;
    border:                      0px;
}
textbox {
    padding:                     12px;
    border-radius:               10px;
    background-color:            @background-alt;
    text-color:                  @background;
    vertical-align:              0.5;
    horizontal-align:            0.0;
}
error-message {
    padding:                     12px;
    border-radius:               20px;
    background-color:            @background-alt;
    text-color:                  @background;
}
