Add rofi theme
Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
@@ -6,7 +6,7 @@ library_tabs = [ "albums", "artists", "playlists", "browse" ]
|
|||||||
[theme]
|
[theme]
|
||||||
background = "{{colors.surface.default.hex}}"
|
background = "{{colors.surface.default.hex}}"
|
||||||
primary = "{{colors.on_surface.default.hex}}"
|
primary = "{{colors.on_surface.default.hex}}"
|
||||||
secondary = "{{colors.surface.default.hex}}"
|
secondary = "{{colors.inverse_surface.default.hex}}"
|
||||||
title = "{{colors.primary.default.hex}}"
|
title = "{{colors.primary.default.hex}}"
|
||||||
playing = "{{colors.primary.default.hex}}"
|
playing = "{{colors.primary.default.hex}}"
|
||||||
playing_bg = "{{colors.surface.default.hex}}"
|
playing_bg = "{{colors.surface.default.hex}}"
|
||||||
|
@@ -5,7 +5,7 @@ export default () => (
|
|||||||
className="launcher"
|
className="launcher"
|
||||||
onClickRelease={() =>
|
onClickRelease={() =>
|
||||||
execAsync(
|
execAsync(
|
||||||
'bash -c "rofi -cache-dir $XDG_CACHE_HOME/rofi -show drun -run-command \"uwsm app -- {cmd}\""',
|
'rofi -modes drun -show drun -run-command \"uwsm app -- {cmd}\"',
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
>
|
>
|
||||||
|
@@ -21,5 +21,5 @@ in
|
|||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "clipbook-rofi";
|
name = "clipbook-rofi";
|
||||||
runtimeInputs = [ rofi ];
|
runtimeInputs = [ rofi ];
|
||||||
text = "rofi -modi \"copy:${copy}\" -show copy";
|
text = "rofi -modes \"clipbook-copy:${copy}\" -show clipbook-copy";
|
||||||
}
|
}
|
||||||
|
@@ -27,5 +27,5 @@ in
|
|||||||
pkgs.writeShellApplication {
|
pkgs.writeShellApplication {
|
||||||
name = "cliphist-rofi";
|
name = "cliphist-rofi";
|
||||||
runtimeInputs = [ rofi ];
|
runtimeInputs = [ rofi ];
|
||||||
text = "rofi -modi \"copy:${copy},delete:${delete}\" -show copy";
|
text = "rofi -modes \"cliphist-copy:${copy},cliphist-delete:${delete}\" -show cliphist-copy";
|
||||||
}
|
}
|
||||||
|
@@ -17,7 +17,7 @@ in
|
|||||||
|
|
||||||
wayland.windowManager.hyprland.settings.bind = [
|
wayland.windowManager.hyprland.settings.bind = [
|
||||||
# Super + Shift + :
|
# Super + Shift + :
|
||||||
"$mod_Shift, code:47, exec, ${lib.meta.getExe hmConfig.programs.rofi.finalPackage} -cache-dir ${home}/.cache/rofi -modi emoji -show emoji"
|
"$mod_Shift, code:47, exec, ${lib.meta.getExe hmConfig.programs.rofi.finalPackage} -cache-dir ${home}/.cache/rofi -modes emoji -show emoji"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@@ -18,11 +18,14 @@ in
|
|||||||
programs.rofi = {
|
programs.rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.rofi-wayland;
|
package = pkgs.rofi-wayland;
|
||||||
font = builtins.head hmConfig.theme.font.monospace.names;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.file.${hmConfig.programs.rofi.configPath}.enable = false;
|
||||||
|
theme.template.".config/rofi/config.rasi".source = ./theme.rasi;
|
||||||
|
|
||||||
wayland.windowManager.hyprland.settings.bind = [
|
wayland.windowManager.hyprland.settings.bind = [
|
||||||
"$mod, r, exec, ${lib.meta.getExe hmConfig.programs.rofi.finalPackage} -cache-dir ${home}/.cache/rofi -modi drun,window -show drun -run-command \"uwsm app -- {cmd}\""
|
"$mod, r, exec, ${lib.meta.getExe hmConfig.programs.rofi.finalPackage} -modes drun -show drun -run-command \"uwsm app -- {cmd}\""
|
||||||
|
"Alt, Tab, exec, ${lib.meta.getExe hmConfig.programs.rofi.finalPackage} -modes window -show window"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
288
hosts/common/configs/user/gui/rofi/theme.rasi
Normal file
288
hosts/common/configs/user/gui/rofi/theme.rasi
Normal file
@@ -0,0 +1,288 @@
|
|||||||
|
configuration {
|
||||||
|
cache-dir: "~/.cache/rofi";
|
||||||
|
|
||||||
|
show-icons: false;
|
||||||
|
display-drun: "";
|
||||||
|
display-run: "";
|
||||||
|
display-window: "";
|
||||||
|
display-cliphist-copy: "";
|
||||||
|
display-cliphist-delete: "";
|
||||||
|
display-clipbook-copy: "";
|
||||||
|
display-emoji: "";
|
||||||
|
|
||||||
|
drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: {{colors.surface.default.hex}};
|
||||||
|
background-alt: {{colors.surface_container.default.hex}};
|
||||||
|
foreground: {{colors.on_surface.default.hex}};
|
||||||
|
foreground-inactive: {{colors.outline_variant.default.hex}};
|
||||||
|
selected: {{colors.primary.default.hex}};
|
||||||
|
active: {{colors.secondary.default.hex}};
|
||||||
|
urgent: {{colors.tertiary.default.hex}};
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
font: "{{custom.font_monospace}} Mono {{custom.font_size}}";
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
border-color: var(selected);
|
||||||
|
handle-color: var(selected);
|
||||||
|
background-color: var(background);
|
||||||
|
foreground-color: var(foreground);
|
||||||
|
alternate-background: var(background-alt);
|
||||||
|
normal-background: var(background);
|
||||||
|
normal-foreground: var(foreground);
|
||||||
|
urgent-background: var(urgent);
|
||||||
|
urgent-foreground: var(background);
|
||||||
|
active-background: var(active);
|
||||||
|
active-foreground: var(background);
|
||||||
|
selected-normal-background: var(selected);
|
||||||
|
selected-normal-foreground: var(background);
|
||||||
|
selected-urgent-background: var(active);
|
||||||
|
selected-urgent-foreground: var(background);
|
||||||
|
selected-active-background: var(urgent);
|
||||||
|
selected-active-foreground: var(background);
|
||||||
|
alternate-normal-background: var(background);
|
||||||
|
alternate-normal-foreground: var(foreground);
|
||||||
|
alternate-urgent-background: var(urgent);
|
||||||
|
alternate-urgent-foreground: var(background);
|
||||||
|
alternate-active-background: var(active);
|
||||||
|
alternate-active-foreground: var(background);
|
||||||
|
}
|
||||||
|
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
width: 600px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
|
||||||
|
enabled: true;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 1px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: @background-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 5px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 5px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px 0px 0px 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: transparent;
|
||||||
|
children: [ "inputbar", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 5px;
|
||||||
|
border: 0px 0px 1px dash 0px;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: @background-color;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
children: [ "prompt", "entry" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
enabled: true;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "::";
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search...";
|
||||||
|
placeholder-color: @foreground-inactive;
|
||||||
|
}
|
||||||
|
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 12;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
|
||||||
|
spacing: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
cursor: "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
scrollbar {
|
||||||
|
handle-width: 5px ;
|
||||||
|
handle-color: @handle-color;
|
||||||
|
border-radius: 0px;
|
||||||
|
background-color: @alternate-background;
|
||||||
|
}
|
||||||
|
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 5px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.normal {
|
||||||
|
background-color: var(normal-background);
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: var(urgent-background);
|
||||||
|
text-color: var(urgent-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element normal.active {
|
||||||
|
background-color: var(active-background);
|
||||||
|
text-color: var(active-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(selected-normal-background);
|
||||||
|
text-color: var(selected-normal-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: var(selected-urgent-background);
|
||||||
|
text-color: var(selected-urgent-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element selected.active {
|
||||||
|
background-color: var(selected-active-background);
|
||||||
|
text-color: var(selected-active-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: var(alternate-normal-background);
|
||||||
|
text-color: var(alternate-normal-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: var(alternate-urgent-background);
|
||||||
|
text-color: var(alternate-urgent-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element alternate.active {
|
||||||
|
background-color: var(alternate-active-background);
|
||||||
|
text-color: var(alternate-active-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 24px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
highlight: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
mode-switcher {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
button {
|
||||||
|
padding: 10px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: @alternate-background;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
button selected {
|
||||||
|
background-color: var(selected-normal-background);
|
||||||
|
text-color: var(selected-normal-foreground);
|
||||||
|
}
|
||||||
|
|
||||||
|
message {
|
||||||
|
enabled: true;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px 0px 0px 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
textbox {
|
||||||
|
padding: 5px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: @alternate-background;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
highlight: none;
|
||||||
|
placeholder-color: @foreground-color;
|
||||||
|
blink: true;
|
||||||
|
markup: true;
|
||||||
|
}
|
||||||
|
|
||||||
|
error-message {
|
||||||
|
padding: 5px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 0px;
|
||||||
|
border-color: @border-color;
|
||||||
|
background-color: @background-color;
|
||||||
|
text-color: @foreground-color;
|
||||||
|
}
|
Reference in New Issue
Block a user