From 191eb70e588fe4b7e3129d815eb97e9d7fc52465 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sun, 18 Oct 2026 12:00:09 +0200 Subject: feat(rofi): fullscreen icon-grid launcher launcher.rasi becomes a fullscreen layer: the wallpaper dimmed by the scrim, an 800px search bar, a tab row for the Apps, Run and Folders modes, and a 10x5 grid of 64px icons with the name below, in a centred 1500px column. Co-Authored-By: Claude Opus 5.5 --- rofi/udt/launcher.rasi | 109 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 77 insertions(+), 32 deletions(-) (limited to 'rofi') diff --git a/rofi/udt/launcher.rasi b/rofi/udt/launcher.rasi index 0317be5..6bd2bc8 100644 --- a/rofi/udt/launcher.rasi +++ b/rofi/udt/launcher.rasi @@ -1,53 +1,98 @@ /* - * udt launcher layout: a searchable application list, anchored top-center. - * The input area carries the current horizontal wallpaper as its background. + * udt launcher layout: a fullscreen grid of app icons over the wallpaper. * Copyright (C) 2026 Danilo M. * Licensed under the GNU General Public License v2 only. + * + * Opened by udt-launcher.sh (rofi-scripts) with three modes, Apps, Run and + * Folders, as tabs under the search bar. Each cell is an icon with its name + * below. */ @import "common.rasi" +/* The wallpaper fills the screen and the scrim on mainbox dims it, so the + * grid reads as a layer over the desktop. + * + * The path is a placeholder: rofi does not expand `~` inside a url(), and a + * real absolute path would bake a home directory into a committed file. The + * installer rewrites it to ~/.cache/udt/wpaper, which wallp keeps pointed at + * the current horizontal wallpaper. */ window { - width: 600px; - anchor: north; - location: north; - padding: 0; + fullscreen: true; + background-image: url("@WPAPER@", width); + background-color: @base; + border: 0; + border-radius: 0; + padding: 0; } +/* A fixed 1500px column, centred, as in powermenu.rasi: a full-width grid + * on a 2560px monitor scatters the icons. */ mainbox { - children: [ inputbar, listview ]; - spacing: 0; + background-color: @scrim; + children: [ inputbar, mode-switcher, listview ]; + spacing: 24px; + padding: 90px calc(50% - 750px) 60px; } -/* The wallpaper banner. `width` scales the image to the element's width and - * keeps its aspect ratio, so the banner height follows the padding below. - * - * The path is a placeholder: rofi does not expand `~` inside a url(), and a - * real absolute path would bake a home directory into a committed file. The - * installer rewrites this line with the concrete path to ~/.cache/udt/wpaper, - * which is a symlink that wallp keeps pointed at the current horizontal - * wallpaper. */ inputbar { - background-image: url("@WPAPER@", width); - background-color: @mantle; - border-radius: 0; - padding: 4em 2em; + background-color: @base; + border: 2px; + border-color: @accent; + border-radius: 14px; + padding: 14px 20px; + margin: 0 350px; } -/* The entry sits on a translucent plate so it stays legible over any - * wallpaper, rather than depending on the image behind it being dark. */ entry { - background-color: @base; - border: 1px; - border-color: @accent; - border-radius: 6px; - padding: 10px 12px; - text-color: @text; + font: "Noto Sans 15"; + placeholder: "Search"; +} + +mode-switcher { + expand: false; + spacing: 12px; + margin: 0 450px; +} + +button { + padding: 8px 0; + border-radius: 10px; + background-color: @surface0; + text-color: @subtext0; + font: "Noto Sans Bold 11"; + horizontal-align: 0.5; + cursor: pointer; +} + +button selected { + background-color: @accent; + text-color: @base; } listview { - columns: 1; - lines: 8; - padding: 12px; - fixed-height: false; + columns: 10; + lines: 5; + fixed-height: true; + flow: horizontal; + spacing: 16px; + padding: 12px 0 0; +} + +element { + orientation: vertical; + children: [ element-icon, element-text ]; + padding: 18px 8px 14px; + spacing: 12px; + border-radius: 16px; +} + +element-icon { + size: 64px; + horizontal-align: 0.5; +} + +element-text { + font: "Noto Sans 11"; + horizontal-align: 0.5; } -- cgit v1.2.3