aboutsummaryrefslogtreecommitdiffstats
path: root/rofi
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-18 11:24:25 +0200
committerDanilo M. <danix@danix.xyz>2026-10-18 11:24:25 +0200
commitc29767aeccc1e6d9b36a9340142bae999f0d1c00 (patch)
tree8a71d9d759b76ba78556c1e9e7d4f6dbb54d4d12 /rofi
parent4519646c1bc0f348ed99b7f2b0f0e9956bfae9e4 (diff)
downloadunified-desktop-theme-c29767aeccc1e6d9b36a9340142bae999f0d1c00.tar.gz
unified-desktop-theme-c29767aeccc1e6d9b36a9340142bae999f0d1c00.zip
feat(rofi): ssh menu as a grid of host cards
rofi's ssh mode shows the alias only. blackpearl-sshmenu.sh now reads ~/.ssh/config itself and feeds dmenu two-line cards: the alias, then "user · address" with the user only where the config sets one. ssh.rasi lays them out 4x3 under an "SSH:" header lifted out of the inputbar. The script moves into bin/ under the name hypr-theme's keybinding calls, and install.sh links it and the theme like the other menus. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'rofi')
-rw-r--r--rofi/udt/ssh.rasi52
1 files changed, 52 insertions, 0 deletions
diff --git a/rofi/udt/ssh.rasi b/rofi/udt/ssh.rasi
new file mode 100644
index 0000000..4c8a88e
--- /dev/null
+++ b/rofi/udt/ssh.rasi
@@ -0,0 +1,52 @@
+/*
+ * udt ssh layout: the hosts as a searchable 4x3 grid of cards.
+ * Copyright (C) 2026 Danilo M. <danix@danix.xyz>
+ * Licensed under the GNU General Public License v2 only.
+ *
+ * Fed by blackpearl-sshmenu.sh, two lines a card: the alias in bold, then
+ * "user · address" dimmed with fgalpha rather than a colour, so it still
+ * reads on the accent when selected.
+ */
+
+@import "common.rasi"
+
+window {
+ width: 1100px;
+ anchor: center;
+ location: center;
+ padding: 20px;
+}
+
+/* The prompt is lifted out of the inputbar to sit above it as a header. */
+mainbox {
+ children: [ prompt, inputbar, listview ];
+ spacing: 16px;
+}
+
+prompt {
+ font: "Noto Sans Bold 15";
+ text-color: @text;
+ padding: 0 4px;
+}
+
+listview {
+ columns: 4;
+ lines: 3;
+ fixed-height: true;
+ spacing: 12px;
+ flow: horizontal;
+}
+
+/* Text only: the element spacing otherwise reserves a gap for the icon. */
+element {
+ children: [ element-text ];
+ padding: 20px 12px;
+ border-radius: 12px;
+ background-color: @surface0;
+}
+
+element-text {
+ font: "Noto Sans 13";
+ horizontal-align: 0.5;
+ vertical-align: 0.5;
+}