aboutsummaryrefslogtreecommitdiffstats
path: root/rofi
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-18 11:44:56 +0200
committerDanilo M. <danix@danix.xyz>2026-10-18 11:44:56 +0200
commit97a5fc27e011c024393c3b1610f044f3c751bd91 (patch)
treeb4167224de53db10c2d44abcffbc48c303e42171 /rofi
parent140e0f906a9e8566b26267d84eb0aa1a7e2f0d94 (diff)
downloadunified-desktop-theme-97a5fc27e011c024393c3b1610f044f3c751bd91.tar.gz
unified-desktop-theme-97a5fc27e011c024393c3b1610f044f3c751bd91.zip
feat(rofi): shared wallpaper header for the searchable layouts
The ssh menu's banner, title plate and plated search bar move into header.rasi, which ssh.rasi, list.rasi and grid.rasi import, so every searchable menu gets the same header with its -p as the title. The banner's @WPAPER@ now lives in header.rasi, so that file is generated and ssh.rasi is linked again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'rofi')
-rw-r--r--rofi/udt/grid.rasi11
-rw-r--r--rofi/udt/header.rasi52
-rw-r--r--rofi/udt/list.rasi11
-rw-r--r--rofi/udt/ssh.rasi41
4 files changed, 73 insertions, 42 deletions
diff --git a/rofi/udt/grid.rasi b/rofi/udt/grid.rasi
index b610a16..931aae7 100644
--- a/rofi/udt/grid.rasi
+++ b/rofi/udt/grid.rasi
@@ -6,15 +6,23 @@
*/
@import "common.rasi"
+@import "header.rasi"
window {
width: 1500px;
anchor: center;
location: center;
+ padding: 0;
}
mainbox {
- children: [ inputbar, message, listview ];
+ children: [ header, message, listview ];
+ spacing: 0;
+}
+
+/* The window has no padding, for the banner, so the body is inset here. */
+message {
+ margin: 12px 16px 0;
}
listview {
@@ -22,6 +30,7 @@ listview {
lines: 10;
spacing: 6px;
fixed-height: false;
+ padding: 12px 16px 16px;
}
/* Three wide columns rather than five narrow ones: each row is a glyph plus
diff --git a/rofi/udt/header.rasi b/rofi/udt/header.rasi
new file mode 100644
index 0000000..921e104
--- /dev/null
+++ b/rofi/udt/header.rasi
@@ -0,0 +1,52 @@
+/*
+ * udt header: the wallpaper banner over the searchable layouts.
+ * Copyright (C) 2026 Danilo M. <danix@danix.xyz>
+ * Licensed under the GNU General Public License v2 only.
+ *
+ * A layout lists `header` in mainbox and sets window padding to 0, so the
+ * banner runs to the window's edges. The script's -p is the title, an icon
+ * glyph and a name, lifted out of the inputbar to sit above it.
+ *
+ * @WPAPER@ is rewritten by the installer, which is why this file is
+ * generated rather than linked. rofi does not expand `~` inside a url().
+ */
+
+header {
+ expand: false;
+ orientation: vertical;
+ children: [ headrow, inputbar ];
+ spacing: 12px;
+ padding: 2.5em 2em;
+ background-image: url("@WPAPER@", width);
+ background-color: @mantle;
+}
+
+/* The spacer keeps the title's plate to its own width. */
+headrow {
+ expand: false;
+ orientation: horizontal;
+ children: [ prompt, dummy ];
+}
+
+dummy {
+ expand: true;
+}
+
+/* Both sit on plates so they stay legible over any wallpaper. */
+prompt {
+ font: "Noto Sans Bold 15";
+ text-color: @text;
+ background-color: @base;
+ border-radius: 6px;
+ padding: 6px 12px;
+}
+
+inputbar {
+ background-color: @base;
+ border: 1px;
+ border-color: @accent;
+}
+
+entry {
+ placeholder: "Search";
+}
diff --git a/rofi/udt/list.rasi b/rofi/udt/list.rasi
index 6812571..f9d3173 100644
--- a/rofi/udt/list.rasi
+++ b/rofi/udt/list.rasi
@@ -6,11 +6,13 @@
*/
@import "common.rasi"
+@import "header.rasi"
window {
width: 680px;
anchor: center;
location: center;
+ padding: 0;
}
/* `message` must be listed, or a `-mesg` passed by a script is silently
@@ -18,11 +20,18 @@ window {
* costs nothing when unused. rofipass relies on this for its keybinding
* cheatsheet. */
mainbox {
- children: [ inputbar, message, listview ];
+ children: [ header, message, listview ];
+ spacing: 0;
+}
+
+/* The window has no padding, for the banner, so the body is inset here. */
+message {
+ margin: 12px 16px 0;
}
listview {
columns: 1;
lines: 12;
fixed-height: false;
+ padding: 12px 16px 16px;
}
diff --git a/rofi/udt/ssh.rasi b/rofi/udt/ssh.rasi
index c40ac05..52899f1 100644
--- a/rofi/udt/ssh.rasi
+++ b/rofi/udt/ssh.rasi
@@ -9,6 +9,7 @@
*/
@import "common.rasi"
+@import "header.rasi"
window {
width: 1100px;
@@ -22,46 +23,6 @@ mainbox {
spacing: 0;
}
-/* The wallpaper banner, as in launcher.rasi: the header and the search bar
- * share it. @WPAPER@ is rewritten by the installer, which is why this file
- * is generated rather than linked. */
-header {
- expand: false;
- orientation: vertical;
- children: [ headrow, inputbar ];
- spacing: 12px;
- padding: 2.5em 2em;
- background-image: url("@WPAPER@", width);
- background-color: @mantle;
-}
-
-/* The prompt is lifted out of the inputbar to sit above it, and kept to its
- * own width by the spacer so its plate does not span the banner. */
-headrow {
- expand: false;
- orientation: horizontal;
- children: [ prompt, dummy ];
-}
-
-dummy {
- expand: true;
-}
-
-/* Both sit on plates so they stay legible over any wallpaper. */
-prompt {
- font: "Noto Sans Bold 15";
- text-color: @text;
- background-color: @base;
- border-radius: 6px;
- padding: 6px 12px;
-}
-
-inputbar {
- background-color: @base;
- border: 1px;
- border-color: @accent;
-}
-
entry {
placeholder: "Search hosts, users, addresses";
}