working on copy script
|
@ -0,0 +1,30 @@
|
|||
"use strict";
|
||||
import GLib from 'gi://GLib';
|
||||
import App from 'resource:///com/github/Aylur/ags/app.js'
|
||||
import userOptions from './modules/.configuration/user_options.js';
|
||||
import Overview from './modules/overview/main.js';
|
||||
|
||||
const COMPILED_STYLE_DIR = `${GLib.get_user_config_dir()}/ags/user/`
|
||||
|
||||
async function applyStyle() {
|
||||
|
||||
App.resetCss();
|
||||
App.applyCss(`${COMPILED_STYLE_DIR}/style.css`);
|
||||
console.log('[LOG] Styles loaded')
|
||||
}
|
||||
applyStyle().catch(print);
|
||||
|
||||
const Windows = () => [
|
||||
Overview()
|
||||
];
|
||||
const CLOSE_ANIM_TIME = 210;
|
||||
App.config({
|
||||
css: `${COMPILED_STYLE_DIR}/style.css`,
|
||||
stackTraceOnError: true,
|
||||
closeWindowDelay: {
|
||||
'sideright': CLOSE_ANIM_TIME,
|
||||
'sideleft': CLOSE_ANIM_TIME,
|
||||
'osk': CLOSE_ANIM_TIME,
|
||||
},
|
||||
windows: Windows().flat(1),
|
||||
});
|
|
@ -0,0 +1,127 @@
|
|||
|
||||
import userOverrides from '../../user_options.js';
|
||||
|
||||
// Defaults
|
||||
let configOptions = {
|
||||
// General stuff
|
||||
'ai': {
|
||||
'defaultGPTProvider': "openai",
|
||||
'defaultTemperature': 0.9,
|
||||
'enhancements': true,
|
||||
'useHistory': true,
|
||||
'writingCursor': " ...", // Warning: Using weird characters can mess up Markdown rendering
|
||||
},
|
||||
'animations': {
|
||||
'choreographyDelay': 35,
|
||||
'durationSmall': 110,
|
||||
'durationLarge': 180,
|
||||
},
|
||||
'appearance': {
|
||||
'keyboardUseFlag': false, // Use flag emoji instead of abbreviation letters
|
||||
},
|
||||
'apps': {
|
||||
'imageViewer': "loupe",
|
||||
'terminal': "foot", // This is only for shell actions
|
||||
},
|
||||
'battery': {
|
||||
'low': 20,
|
||||
'critical': 10,
|
||||
},
|
||||
'music': {
|
||||
'preferredPlayer': "plasma-browser-integration",
|
||||
},
|
||||
'onScreenKeyboard': {
|
||||
'layout': "qwerty_full", // See modules/onscreenkeyboard/onscreenkeyboard.js for available layouts
|
||||
},
|
||||
'overview': {
|
||||
'scale': 0.18, // Relative to screen size
|
||||
'numOfRows': 2,
|
||||
'numOfCols': 5,
|
||||
'wsNumScale': 0.09,
|
||||
'wsNumMarginScale': 0.07,
|
||||
},
|
||||
'sidebar': {
|
||||
'imageColumns': 2,
|
||||
'imageBooruCount': 20,
|
||||
'imageAllowNsfw': false,
|
||||
},
|
||||
'search': {
|
||||
'engineBaseUrl': "https://www.google.com/search?q=",
|
||||
'excludedSites': [], //add site to exclude from result. eg: "quora.com"
|
||||
},
|
||||
'time': {
|
||||
// See https://docs.gtk.org/glib/method.DateTime.format.html
|
||||
// Here's the 12h format: "%I:%M%P"
|
||||
// For seconds, add "%S" and set interval to 1000
|
||||
'format': "%H:%M",
|
||||
'interval': 5000,
|
||||
'dateFormatLong': "%A, %d/%m", // On bar
|
||||
'dateInterval': 5000,
|
||||
'dateFormat': "%d/%m", // On notif time
|
||||
},
|
||||
'weather': {
|
||||
'city': "",
|
||||
},
|
||||
'workspaces': {
|
||||
'shown': 10,
|
||||
},
|
||||
// Longer stuff
|
||||
'icons': {
|
||||
substitutions: {
|
||||
'codium-url-handler': "vscodium",
|
||||
'codium': "vscodium",
|
||||
'code-url-handler': "visual-studio-code",
|
||||
'Code': "visual-studio-code",
|
||||
'GitHub Desktop': "github-desktop",
|
||||
'Minecraft* 1.20.1': "minecraft",
|
||||
'gnome-tweaks': "org.gnome.tweaks",
|
||||
'pavucontrol-qt': "pavucontrol",
|
||||
'eu.betterbird.Betterbird' : "thunderbird",
|
||||
'thunderbird-esr': "thunderbird",
|
||||
'wps': "wps-office2019-kprometheus",
|
||||
'wpsoffice': "wps-office2019-kprometheus",
|
||||
'firefox-esr': "firefox",
|
||||
'soffice' : "libreoffice",
|
||||
'': "image-missing",
|
||||
}
|
||||
},
|
||||
'keybinds': {
|
||||
// Format: Mod1+Mod2+key. CaSe SeNsItIvE!
|
||||
// Modifiers: Shift Ctrl Alt Hyper Meta
|
||||
// See https://docs.gtk.org/gdk3/index.html#constants for the other keys (they are listed as KEY_key)
|
||||
'overview': {
|
||||
'altMoveLeft': "Ctrl+b",
|
||||
'altMoveRight': "Ctrl+f",
|
||||
'deleteToEnd': "Ctrl+k",
|
||||
},
|
||||
'sidebar': {
|
||||
'apis': {
|
||||
'nextTab': "Page_Down",
|
||||
'prevTab': "Page_Up",
|
||||
},
|
||||
'options': { // Right sidebar
|
||||
'nextTab': "Page_Down",
|
||||
'prevTab': "Page_Up",
|
||||
},
|
||||
'pin': "Ctrl+p",
|
||||
'cycleTab': "Ctrl+Tab",
|
||||
'nextTab': "Ctrl+Page_Down",
|
||||
'prevTab': "Ctrl+Page_Up",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// Override defaults with user's options
|
||||
function overrideConfigRecursive(userOverrides, configOptions = {}) {
|
||||
for (const [key, value] of Object.entries(userOverrides)) {
|
||||
if (typeof value === 'object') {
|
||||
overrideConfigRecursive(value, configOptions[key]);
|
||||
} else {
|
||||
configOptions[key] = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
overrideConfigRecursive(userOverrides, configOptions);
|
||||
|
||||
globalThis['userOptions'] = configOptions;
|
||||
export default configOptions;
|
|
@ -0,0 +1,13 @@
|
|||
const { Gtk } = imports.gi;
|
||||
|
||||
export function iconExists(iconName) {
|
||||
let iconTheme = Gtk.IconTheme.get_default();
|
||||
return iconTheme.has_icon(iconName);
|
||||
}
|
||||
|
||||
export function substitute(str) {
|
||||
if(userOptions.icons.substitutions[str]) return userOptions.icons.substitutions[str];
|
||||
|
||||
if (!iconExists(str)) str = str.toLowerCase().replace(/\s+/g, '-'); // Turn into kebab-case
|
||||
return str;
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
|
||||
export function clamp(x, min, max) {
|
||||
return Math.min(Math.max(x, min), max);
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
const { GLib } = imports.gi;
|
||||
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
|
||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
const { execAsync, exec } = Utils;
|
||||
|
||||
export const distroID = exec(`bash -c 'cat /etc/os-release | grep "^ID=" | cut -d "=" -f 2 | sed "s/\\"//g"'`).trim();
|
||||
export const isDebianDistro = (distroID == 'linuxmint' || distroID == 'ubuntu' || distroID == 'debian' || distroID == 'zorin' || distroID == 'popos' || distroID == 'raspbian' || distroID == 'kali');
|
||||
export const isArchDistro = (distroID == 'arch' || distroID == 'endeavouros' || distroID == 'cachyos');
|
||||
export const hasFlatpak = !!exec(`bash -c 'command -v flatpak'`);
|
||||
|
||||
const LIGHTDARK_FILE_LOCATION = `${GLib.get_user_cache_dir()}/ags/user/colormode.txt`;
|
||||
const colorMode = Utils.exec('bash -c "sed -n \'1p\' $HOME/.cache/ags/user/colormode.txt"');
|
||||
export let darkMode = Variable(!(Utils.readFile(LIGHTDARK_FILE_LOCATION).split('\n')[0].trim() == 'light'));
|
||||
export const hasPlasmaIntegration = !!Utils.exec('bash -c "command -v plasma-browser-integration-host"');
|
||||
|
||||
export const getDistroIcon = () => {
|
||||
// Arches
|
||||
if(distroID == 'arch') return 'arch-symbolic';
|
||||
if(distroID == 'endeavouros') return 'endeavouros-symbolic';
|
||||
if(distroID == 'cachyos') return 'cachyos-symbolic';
|
||||
// Funny flake
|
||||
if(distroID == 'nixos') return 'nixos-symbolic';
|
||||
// Cool thing
|
||||
if(distroID == 'fedora') return 'fedora-symbolic';
|
||||
// Debians
|
||||
if(distroID == 'linuxmint') return 'ubuntu-symbolic';
|
||||
if(distroID == 'ubuntu') return 'ubuntu-symbolic';
|
||||
if(distroID == 'debian') return 'debian-symbolic';
|
||||
if(distroID == 'zorin') return 'ubuntu-symbolic';
|
||||
if(distroID == 'popos') return 'ubuntu-symbolic';
|
||||
if(distroID == 'raspbian') return 'debian-symbolic';
|
||||
if(distroID == 'kali') return 'debian-symbolic';
|
||||
return 'linux-symbolic';
|
||||
}
|
||||
|
||||
export const getDistroName = () => {
|
||||
// Arches
|
||||
if(distroID == 'arch') return 'Arch Linux';
|
||||
if(distroID == 'endeavouros') return 'EndeavourOS';
|
||||
if(distroID == 'cachyos') return 'CachyOS';
|
||||
// Funny flake
|
||||
if(distroID == 'nixos') return 'NixOS';
|
||||
// Cool thing
|
||||
if(distroID == 'fedora') return 'Fedora';
|
||||
// Debians
|
||||
if(distroID == 'linuxmint') return 'Linux Mint';
|
||||
if(distroID == 'ubuntu') return 'Ubuntu';
|
||||
if(distroID == 'debian') return 'Debian';
|
||||
if(distroID == 'zorin') return 'Zorin';
|
||||
if(distroID == 'popos') return 'Pop!_OS';
|
||||
if(distroID == 'raspbian') return 'Raspbian';
|
||||
if(distroID == 'kali') return 'Kali Linux';
|
||||
return 'Linux';
|
||||
}
|
|
@ -0,0 +1,86 @@
|
|||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
|
||||
const { Revealer, Scrollable } = Widget;
|
||||
|
||||
export const MarginRevealer = ({
|
||||
transition = 'slide_down',
|
||||
child,
|
||||
revealChild,
|
||||
showClass = 'element-show', // These are for animation curve, they don't really hide
|
||||
hideClass = 'element-hide', // Don't put margins in these classes!
|
||||
extraSetup = () => { },
|
||||
...rest
|
||||
}) => {
|
||||
const widget = Scrollable({
|
||||
...rest,
|
||||
attribute: {
|
||||
'revealChild': true, // It'll be set to false after init if it's supposed to hide
|
||||
'transition': transition,
|
||||
'show': () => {
|
||||
if (widget.attribute.revealChild) return;
|
||||
widget.hscroll = 'never';
|
||||
widget.vscroll = 'never';
|
||||
child.toggleClassName(hideClass, false);
|
||||
child.toggleClassName(showClass, true);
|
||||
widget.attribute.revealChild = true;
|
||||
child.css = 'margin: 0px;';
|
||||
},
|
||||
'hide': () => {
|
||||
if (!widget.attribute.revealChild) return;
|
||||
child.toggleClassName(hideClass, true);
|
||||
child.toggleClassName(showClass, false);
|
||||
widget.attribute.revealChild = false;
|
||||
if (widget.attribute.transition == 'slide_left')
|
||||
child.css = `margin-right: -${child.get_allocated_width()}px;`;
|
||||
else if (widget.attribute.transition == 'slide_right')
|
||||
child.css = `margin-left: -${child.get_allocated_width()}px;`;
|
||||
else if (widget.attribute.transition == 'slide_up')
|
||||
child.css = `margin-bottom: -${child.get_allocated_height()}px;`;
|
||||
else if (widget.attribute.transition == 'slide_down')
|
||||
child.css = `margin-top: -${child.get_allocated_height()}px;`;
|
||||
},
|
||||
'toggle': () => {
|
||||
if (widget.attribute.revealChild) widget.attribute.hide();
|
||||
else widget.attribute.show();
|
||||
},
|
||||
},
|
||||
child: child,
|
||||
hscroll: `${revealChild ? 'never' : 'always'}`,
|
||||
vscroll: `${revealChild ? 'never' : 'always'}`,
|
||||
setup: (self) => {
|
||||
extraSetup(self);
|
||||
}
|
||||
});
|
||||
child.toggleClassName(`${revealChild ? showClass : hideClass}`, true);
|
||||
return widget;
|
||||
}
|
||||
|
||||
// TODO: Allow reveal update. Currently this just helps at declaration
|
||||
export const DoubleRevealer = ({
|
||||
transition1 = 'slide_right',
|
||||
transition2 = 'slide_left',
|
||||
duration1 = 150,
|
||||
duration2 = 150,
|
||||
child,
|
||||
revealChild,
|
||||
...rest
|
||||
}) => {
|
||||
const r2 = Revealer({
|
||||
transition: transition2,
|
||||
transitionDuration: duration2,
|
||||
revealChild: revealChild,
|
||||
child: child,
|
||||
});
|
||||
const r1 = Revealer({
|
||||
transition: transition1,
|
||||
transitionDuration: duration1,
|
||||
revealChild: revealChild,
|
||||
child: r2,
|
||||
...rest,
|
||||
})
|
||||
r1.toggleRevealChild = (value) => {
|
||||
r1.revealChild = value;
|
||||
r2.revealChild = value;
|
||||
}
|
||||
return r1;
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
import App from 'resource:///com/github/Aylur/ags/app.js';
|
||||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
const { Box, Window } = Widget;
|
||||
|
||||
|
||||
export default ({
|
||||
name,
|
||||
child,
|
||||
showClassName = "",
|
||||
hideClassName = "",
|
||||
...props
|
||||
}) => {
|
||||
return Window({
|
||||
name,
|
||||
visible: false,
|
||||
layer: 'overlay',
|
||||
...props,
|
||||
|
||||
child: Box({
|
||||
setup: (self) => {
|
||||
self.hook(App, (self, currentName, visible) => {
|
||||
if (currentName === name) {
|
||||
self.toggleClassName(hideClassName, !visible);
|
||||
}
|
||||
}).keybind("Escape", () => App.closeWindow(name))
|
||||
if (showClassName !== "" && hideClassName !== "")
|
||||
self.className = `${showClassName} ${hideClassName}`;
|
||||
},
|
||||
child: child,
|
||||
}),
|
||||
});
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
import Cairo from 'gi://cairo?version=1.0';
|
||||
|
||||
export const dummyRegion = new Cairo.Region();
|
||||
export const enableClickthrough = (self) => self.input_shape_combine_region(dummyRegion);
|
|
@ -0,0 +1,56 @@
|
|||
const { Gdk } = imports.gi;
|
||||
|
||||
export function setupCursorHover(button) { // Hand pointing cursor on hover
|
||||
const display = Gdk.Display.get_default();
|
||||
button.connect('enter-notify-event', () => {
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'pointer');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
|
||||
button.connect('leave-notify-event', () => {
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'default');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
export function setupCursorHoverAim(button) { // Crosshair cursor on hover
|
||||
button.connect('enter-notify-event', () => {
|
||||
const display = Gdk.Display.get_default();
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'crosshair');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
|
||||
button.connect('leave-notify-event', () => {
|
||||
const display = Gdk.Display.get_default();
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'default');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
}
|
||||
|
||||
export function setupCursorHoverGrab(button) { // Hand ready to grab on hover
|
||||
button.connect('enter-notify-event', () => {
|
||||
const display = Gdk.Display.get_default();
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'grab');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
|
||||
button.connect('leave-notify-event', () => {
|
||||
const display = Gdk.Display.get_default();
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'default');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
}
|
||||
|
||||
export function setupCursorHoverInfo(button) { // "?" mark cursor on hover
|
||||
const display = Gdk.Display.get_default();
|
||||
button.connect('enter-notify-event', () => {
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'help');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
|
||||
button.connect('leave-notify-event', () => {
|
||||
const cursor = Gdk.Cursor.new_from_name(display, 'default');
|
||||
button.get_window().set_cursor(cursor);
|
||||
});
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
const { Gdk } = imports.gi;
|
||||
|
||||
const MODS = {
|
||||
'Shift': Gdk.ModifierType.SHIFT_MASK,
|
||||
'Ctrl': Gdk.ModifierType.CONTROL_MASK,
|
||||
'Alt': Gdk.ModifierType.ALT_MASK,
|
||||
'Hyper': Gdk.ModifierType.HYPER_MASK,
|
||||
'Meta': Gdk.ModifierType.META_MASK
|
||||
}
|
||||
|
||||
export const checkKeybind = (event, keybind) => {
|
||||
const pressedModMask = event.get_state()[1];
|
||||
const pressedKey = event.get_keyval()[1];
|
||||
const keys = keybind.split('+');
|
||||
for (let i = 0; i < keys.length; i++) {
|
||||
if (keys[i] in MODS) {
|
||||
if (!(pressedModMask & MODS[keys[i]])) {
|
||||
return false;
|
||||
}
|
||||
} else if (pressedKey !== Gdk[`KEY_${keys[i]}`]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
|
||||
|
||||
function moveClientToWorkspace(address, workspace) {
|
||||
Utils.execAsync(['bash', '-c', `hyprctl dispatch movetoworkspacesilent ${workspace},address:${address} &`]);
|
||||
}
|
||||
|
||||
export function dumpToWorkspace(from, to) {
|
||||
if (from == to) return;
|
||||
Hyprland.clients.forEach(client => {
|
||||
if (client.workspace.id == from) {
|
||||
moveClientToWorkspace(client.address, to);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function swapWorkspace(workspaceA, workspaceB) {
|
||||
if (workspaceA == workspaceB) return;
|
||||
const clientsA = [];
|
||||
const clientsB = [];
|
||||
Hyprland.clients.forEach(client => {
|
||||
if (client.workspace.id == workspaceA) clientsA.push(client.address);
|
||||
if (client.workspace.id == workspaceB) clientsB.push(client.address);
|
||||
});
|
||||
|
||||
clientsA.forEach((address) => moveClientToWorkspace(address, workspaceB));
|
||||
clientsB.forEach((address) => moveClientToWorkspace(address, workspaceA));
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
import { SearchAndWindows } from "./windowcontent.js";
|
||||
import PopupWindow from '../.widgethacks/popupwindow.js';
|
||||
|
||||
export default (id = '') => PopupWindow({
|
||||
name: `overview${id}`,
|
||||
exclusivity: 'ignore',
|
||||
keymode: 'exclusive',
|
||||
visible: false,
|
||||
// anchor: ['middle'],
|
||||
layer: 'overlay',
|
||||
child: Widget.Box({
|
||||
vertical: true,
|
||||
children: [
|
||||
SearchAndWindows(),
|
||||
]
|
||||
}),
|
||||
})
|
|
@ -0,0 +1,155 @@
|
|||
const { Gio, GLib } = imports.gi;
|
||||
import App from 'resource:///com/github/Aylur/ags/app.js';
|
||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
const { execAsync, exec } = Utils;
|
||||
// import Todo from "../../services/todo.js";
|
||||
import { darkMode } from '../.miscutils/system.js';
|
||||
|
||||
export function hasUnterminatedBackslash(inputString) {
|
||||
// Use a regular expression to match a trailing odd number of backslashes
|
||||
const regex = /\\+$/;
|
||||
return regex.test(inputString);
|
||||
}
|
||||
|
||||
export function launchCustomCommand(command) {
|
||||
const args = command.toLowerCase().split(' ');
|
||||
if (args[0] == '>raw') { // Mouse raw input
|
||||
Utils.execAsync('hyprctl -j getoption input:accel_profile')
|
||||
.then((output) => {
|
||||
const value = JSON.parse(output)["str"].trim();
|
||||
if (value != "[[EMPTY]]" && value != "") {
|
||||
execAsync(['bash', '-c', `hyprctl keyword input:accel_profile '[[EMPTY]]'`]).catch(print);
|
||||
}
|
||||
else {
|
||||
execAsync(['bash', '-c', `hyprctl keyword input:accel_profile flat`]).catch(print);
|
||||
}
|
||||
})
|
||||
}
|
||||
else if (args[0] == '>img') { // Change wallpaper
|
||||
execAsync([`bash`, `-c`, `${App.configDir}/scripts/color_generation/switchwall.sh`, `&`]).catch(print);
|
||||
}
|
||||
else if (args[0] == '>color') { // Generate colorscheme from color picker
|
||||
execAsync([`bash`, `-c`, `${App.configDir}/scripts/color_generation/switchcolor.sh --pick`, `&`]).catch(print);
|
||||
}
|
||||
else if (args[0] == '>light') { // Light mode
|
||||
darkMode.value = false;
|
||||
execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "1s/.*/light/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`])
|
||||
.then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`]))
|
||||
.catch(print);
|
||||
}
|
||||
else if (args[0] == '>dark') { // Dark mode
|
||||
darkMode.value = true;
|
||||
execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "1s/.*/dark/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`])
|
||||
.then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`]))
|
||||
.catch(print);
|
||||
}
|
||||
else if (args[0] == '>badapple') { // Black and white
|
||||
execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && sed -i "3s/.*/monochrome/" ${GLib.get_user_cache_dir()}/ags/user/colormode.txt`])
|
||||
.then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchcolor.sh`]))
|
||||
.catch(print);
|
||||
}
|
||||
else if (args[0] == '>material') { // Use material colors
|
||||
execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && echo "material" > ${GLib.get_user_cache_dir()}/ags/user/colorbackend.txt`]).catch(print)
|
||||
.then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchwall.sh --noswitch`]).catch(print))
|
||||
.catch(print);
|
||||
}
|
||||
else if (args[0] == '>pywal') { // Use Pywal (ik it looks shit but I'm not removing)
|
||||
execAsync([`bash`, `-c`, `mkdir -p ${GLib.get_user_cache_dir()}/ags/user && echo "pywal" > ${GLib.get_user_cache_dir()}/ags/user/colorbackend.txt`]).catch(print)
|
||||
.then(execAsync(['bash', '-c', `${App.configDir}/scripts/color_generation/switchwall.sh --noswitch`]).catch(print))
|
||||
.catch(print);
|
||||
}
|
||||
else if (args[0] == '>todo') { // Todo
|
||||
Todo.add(args.slice(1).join(' '));
|
||||
}
|
||||
else if (args[0] == '>shutdown') { // Shut down
|
||||
execAsync([`bash`, `-c`, `systemctl poweroff || loginctl poweroff`]).catch(print);
|
||||
}
|
||||
else if (args[0] == '>reboot') { // Reboot
|
||||
execAsync([`bash`, `-c`, `systemctl reboot || loginctl reboot`]).catch(print);
|
||||
}
|
||||
else if (args[0] == '>sleep') { // Sleep
|
||||
execAsync([`bash`, `-c`, `systemctl suspend || loginctl suspend`]).catch(print);
|
||||
}
|
||||
else if (args[0] == '>logout') { // Log out
|
||||
execAsync([`bash`, `-c`, `pkill Hyprland || pkill sway`]).catch(print);
|
||||
}
|
||||
}
|
||||
|
||||
export function execAndClose(command, terminal) {
|
||||
App.closeWindow('overview');
|
||||
if (terminal) {
|
||||
execAsync([`bash`, `-c`, `${userOptions.apps.terminal} fish -C "${command}"`, `&`]).catch(print);
|
||||
}
|
||||
else
|
||||
execAsync(command).catch(print);
|
||||
}
|
||||
|
||||
export function couldBeMath(str) {
|
||||
const regex = /^[0-9.+*/-]/;
|
||||
return regex.test(str);
|
||||
}
|
||||
|
||||
export function expandTilde(path) {
|
||||
if (path.startsWith('~')) {
|
||||
return GLib.get_home_dir() + path.slice(1);
|
||||
} else {
|
||||
return path;
|
||||
}
|
||||
}
|
||||
|
||||
function getFileIcon(fileInfo) {
|
||||
let icon = fileInfo.get_icon();
|
||||
if (icon) {
|
||||
// Get the icon's name
|
||||
return icon.get_names()[0];
|
||||
} else {
|
||||
// Default icon for files
|
||||
return 'text-x-generic';
|
||||
}
|
||||
}
|
||||
|
||||
export function ls({ path = '~', silent = false }) {
|
||||
let contents = [];
|
||||
try {
|
||||
let expandedPath = expandTilde(path);
|
||||
if (expandedPath.endsWith('/'))
|
||||
expandedPath = expandedPath.slice(0, -1);
|
||||
let folder = Gio.File.new_for_path(expandedPath);
|
||||
|
||||
let enumerator = folder.enumerate_children('standard::*', Gio.FileQueryInfoFlags.NONE, null);
|
||||
let fileInfo;
|
||||
while ((fileInfo = enumerator.next_file(null)) !== null) {
|
||||
let fileName = fileInfo.get_display_name();
|
||||
let fileType = fileInfo.get_file_type();
|
||||
|
||||
let item = {
|
||||
parentPath: expandedPath,
|
||||
name: fileName,
|
||||
type: fileType === Gio.FileType.DIRECTORY ? 'folder' : 'file',
|
||||
icon: getFileIcon(fileInfo),
|
||||
};
|
||||
|
||||
// Add file extension for files
|
||||
if (fileType === Gio.FileType.REGULAR) {
|
||||
let fileExtension = fileName.split('.').pop();
|
||||
item.type = `${fileExtension}`;
|
||||
}
|
||||
|
||||
contents.push(item);
|
||||
contents.sort((a, b) => {
|
||||
const aIsFolder = a.type.startsWith('folder');
|
||||
const bIsFolder = b.type.startsWith('folder');
|
||||
if (aIsFolder && !bIsFolder) {
|
||||
return -1;
|
||||
} else if (!aIsFolder && bIsFolder) {
|
||||
return 1;
|
||||
} else {
|
||||
return a.name.localeCompare(b.name); // Sort alphabetically within folders and files
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (e) {
|
||||
if (!silent) console.log(e);
|
||||
}
|
||||
return contents;
|
||||
}
|
|
@ -0,0 +1,423 @@
|
|||
// TODO
|
||||
// - Make client destroy/create not destroy and recreate the whole thing
|
||||
// - Active ws hook optimization: only update when moving to next group
|
||||
//
|
||||
const { Gdk, Gtk } = imports.gi;
|
||||
const { Gravity } = imports.gi.Gdk;
|
||||
import { SCREEN_HEIGHT, SCREEN_WIDTH } from '../../variables.js';
|
||||
import App from 'resource:///com/github/Aylur/ags/app.js';
|
||||
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
|
||||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
|
||||
import Hyprland from 'resource:///com/github/Aylur/ags/service/hyprland.js';
|
||||
const { execAsync, exec } = Utils;
|
||||
import { setupCursorHoverGrab } from '../.widgetutils/cursorhover.js';
|
||||
import { dumpToWorkspace, swapWorkspace } from "./actions.js";
|
||||
import { substitute } from "../.miscutils/icons.js";
|
||||
|
||||
const NUM_OF_WORKSPACES_SHOWN = userOptions.overview.numOfCols * userOptions.overview.numOfRows;
|
||||
const TARGET = [Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags.SAME_APP, 0)];
|
||||
const POPUP_CLOSE_TIME = 100; // ms
|
||||
|
||||
const overviewTick = Variable(false);
|
||||
|
||||
export default () => {
|
||||
const clientMap = new Map();
|
||||
let workspaceGroup = 0;
|
||||
const ContextMenuWorkspaceArray = ({ label, actionFunc, thisWorkspace }) => Widget.MenuItem({
|
||||
label: `${label}`,
|
||||
setup: (menuItem) => {
|
||||
let submenu = new Gtk.Menu();
|
||||
submenu.className = 'menu';
|
||||
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
const startWorkspace = offset + 1;
|
||||
const endWorkspace = startWorkspace + NUM_OF_WORKSPACES_SHOWN - 1;
|
||||
for (let i = startWorkspace; i <= endWorkspace; i++) {
|
||||
let button = new Gtk.MenuItem({
|
||||
label: `Workspace ${i}`
|
||||
});
|
||||
button.connect("activate", () => {
|
||||
// execAsync([`${onClickBinary}`, `${thisWorkspace}`, `${i}`]).catch(print);
|
||||
actionFunc(thisWorkspace, i);
|
||||
overviewTick.setValue(!overviewTick.value);
|
||||
});
|
||||
submenu.append(button);
|
||||
}
|
||||
menuItem.set_reserve_indicator(true);
|
||||
menuItem.set_submenu(submenu);
|
||||
}
|
||||
})
|
||||
|
||||
const Window = ({ address, at: [x, y], size: [w, h], workspace: { id, name }, class: c, title, xwayland }, screenCoords) => {
|
||||
const revealInfoCondition = (Math.min(w, h) * userOptions.overview.scale > 70);
|
||||
if (w <= 0 || h <= 0 || (c === '' && title === '') || c.endsWith('-dropterm')) return null;
|
||||
// Non-primary monitors
|
||||
if (screenCoords.x != 0) x -= screenCoords.x;
|
||||
if (screenCoords.y != 0) y -= screenCoords.y;
|
||||
// Other offscreen adjustments
|
||||
if (x + w <= 0) x += (Math.floor(x / SCREEN_WIDTH) * SCREEN_WIDTH);
|
||||
else if (x < 0) { w = x + w; x = 0; }
|
||||
if (y + h <= 0) x += (Math.floor(y / SCREEN_HEIGHT) * SCREEN_HEIGHT);
|
||||
else if (y < 0) { h = y + h; y = 0; }
|
||||
// Truncate if offscreen
|
||||
if (x + w > SCREEN_WIDTH) w = SCREEN_WIDTH - x;
|
||||
if (y + h > SCREEN_HEIGHT) h = SCREEN_HEIGHT - y;
|
||||
|
||||
const appIcon = Widget.Icon({
|
||||
icon: substitute(c),
|
||||
size: Math.min(w, h) * userOptions.overview.scale / 2.5,
|
||||
});
|
||||
return Widget.Button({
|
||||
attribute: {
|
||||
address, x, y, w, h, ws: id,
|
||||
updateIconSize: (self) => {
|
||||
appIcon.size = Math.min(self.attribute.w, self.attribute.h) * userOptions.overview.scale / 2.5;
|
||||
},
|
||||
},
|
||||
className: 'overview-tasks-window',
|
||||
hpack: 'start',
|
||||
vpack: 'start',
|
||||
css: `
|
||||
margin-left: ${Math.round(x * userOptions.overview.scale)}px;
|
||||
margin-top: ${Math.round(y * userOptions.overview.scale)}px;
|
||||
margin-right: -${Math.round((x + w) * userOptions.overview.scale)}px;
|
||||
margin-bottom: -${Math.round((y + h) * userOptions.overview.scale)}px;
|
||||
`,
|
||||
onClicked: (self) => {
|
||||
App.closeWindow('overview');
|
||||
Utils.timeout(POPUP_CLOSE_TIME, () => Hyprland.messageAsync(`dispatch focuswindow address:${address}`));
|
||||
},
|
||||
onMiddleClickRelease: () => Hyprland.messageAsync(`dispatch closewindow address:${address}`),
|
||||
onSecondaryClick: (button) => {
|
||||
button.toggleClassName('overview-tasks-window-selected', true);
|
||||
const menu = Widget.Menu({
|
||||
className: 'menu',
|
||||
children: [
|
||||
Widget.MenuItem({
|
||||
child: Widget.Label({
|
||||
xalign: 0,
|
||||
label: "Close (Middle-click)",
|
||||
}),
|
||||
onActivate: () => Hyprland.messageAsync(`dispatch closewindow address:${address}`),
|
||||
}),
|
||||
ContextMenuWorkspaceArray({
|
||||
label: "Dump windows to workspace",
|
||||
actionFunc: dumpToWorkspace,
|
||||
thisWorkspace: Number(id)
|
||||
}),
|
||||
ContextMenuWorkspaceArray({
|
||||
label: "Swap windows with workspace",
|
||||
actionFunc: swapWorkspace,
|
||||
thisWorkspace: Number(id)
|
||||
}),
|
||||
],
|
||||
});
|
||||
menu.connect("deactivate", () => {
|
||||
button.toggleClassName('overview-tasks-window-selected', false);
|
||||
})
|
||||
menu.connect("selection-done", () => {
|
||||
button.toggleClassName('overview-tasks-window-selected', false);
|
||||
})
|
||||
menu.popup_at_widget(button.get_parent(), Gravity.SOUTH, Gravity.NORTH, null); // Show menu below the button
|
||||
button.connect("destroy", () => menu.destroy());
|
||||
},
|
||||
child: Widget.Box({
|
||||
homogeneous: true,
|
||||
child: Widget.Box({
|
||||
vertical: true,
|
||||
vpack: 'center',
|
||||
className: 'spacing-v-5',
|
||||
children: [
|
||||
appIcon,
|
||||
// TODO: Add xwayland tag instead of just having italics
|
||||
Widget.Revealer({
|
||||
transition: 'slide_down',
|
||||
revealChild: revealInfoCondition,
|
||||
child: Widget.Label({
|
||||
maxWidthChars: 10, // Doesn't matter what number
|
||||
truncate: 'end',
|
||||
className: `${xwayland ? 'txt txt-italic' : 'txt'}`,
|
||||
css: `
|
||||
font-size: ${Math.min(SCREEN_WIDTH, SCREEN_HEIGHT) * userOptions.overview.scale / 14.6}px;
|
||||
margin: 0px ${Math.min(SCREEN_WIDTH, SCREEN_HEIGHT) * userOptions.overview.scale / 10}px;
|
||||
`,
|
||||
// If the title is too short, include the class
|
||||
label: (title.length <= 1 ? `${c}: ${title}` : title),
|
||||
})
|
||||
})
|
||||
]
|
||||
})
|
||||
}),
|
||||
tooltipText: `${c}: ${title}`,
|
||||
setup: (button) => {
|
||||
setupCursorHoverGrab(button);
|
||||
|
||||
button.drag_source_set(Gdk.ModifierType.BUTTON1_MASK, TARGET, Gdk.DragAction.MOVE);
|
||||
button.drag_source_set_icon_name(substitute(c));
|
||||
// button.drag_source_set_icon_gicon(icon);
|
||||
|
||||
button.connect('drag-begin', (button) => { // On drag start, add the dragging class
|
||||
button.toggleClassName('overview-tasks-window-dragging', true);
|
||||
});
|
||||
button.connect('drag-data-get', (_w, _c, data) => { // On drag finish, give address
|
||||
data.set_text(address, address.length);
|
||||
button.toggleClassName('overview-tasks-window-dragging', false);
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
const Workspace = (index) => {
|
||||
// const fixed = Widget.Fixed({
|
||||
// attribute: {
|
||||
// put: (widget, x, y) => {
|
||||
// fixed.put(widget, x, y);
|
||||
// },
|
||||
// move: (widget, x, y) => {
|
||||
// fixed.move(widget, x, y);
|
||||
// },
|
||||
// }
|
||||
// });
|
||||
const fixed = Widget.Box({
|
||||
attribute: {
|
||||
put: (widget, x, y) => {
|
||||
if (!widget.attribute) return;
|
||||
// Note: x and y are already multiplied by userOptions.overview.scale
|
||||
const newCss = `
|
||||
margin-left: ${Math.round(x)}px;
|
||||
margin-top: ${Math.round(y)}px;
|
||||
margin-right: -${Math.round(x + (widget.attribute.w * userOptions.overview.scale))}px;
|
||||
margin-bottom: -${Math.round(y + (widget.attribute.h * userOptions.overview.scale))}px;
|
||||
`;
|
||||
widget.css = newCss;
|
||||
fixed.pack_start(widget, false, false, 0);
|
||||
},
|
||||
move: (widget, x, y) => {
|
||||
if (!widget) return;
|
||||
if (!widget.attribute) return;
|
||||
// Note: x and y are already multiplied by userOptions.overview.scale
|
||||
const newCss = `
|
||||
margin-left: ${Math.round(x)}px;
|
||||
margin-top: ${Math.round(y)}px;
|
||||
margin-right: -${Math.round(x + (widget.attribute.w * userOptions.overview.scale))}px;
|
||||
margin-bottom: -${Math.round(y + (widget.attribute.h * userOptions.overview.scale))}px;
|
||||
`;
|
||||
widget.css = newCss;
|
||||
},
|
||||
}
|
||||
})
|
||||
const WorkspaceNumber = ({ index, ...rest }) => Widget.Label({
|
||||
className: 'overview-tasks-workspace-number',
|
||||
label: `${index}`,
|
||||
css: `
|
||||
margin: ${Math.min(SCREEN_WIDTH, SCREEN_HEIGHT) * userOptions.overview.scale * userOptions.overview.wsNumMarginScale}px;
|
||||
font-size: ${SCREEN_HEIGHT * userOptions.overview.scale * userOptions.overview.wsNumScale}px;
|
||||
`,
|
||||
setup: (self) => self.hook(Hyprland.active.workspace, (self) => {
|
||||
// Update when going to new ws group
|
||||
const currentGroup = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN);
|
||||
self.label = `${currentGroup * NUM_OF_WORKSPACES_SHOWN + index}`;
|
||||
}),
|
||||
...rest,
|
||||
})
|
||||
const widget = Widget.Box({
|
||||
className: 'overview-tasks-workspace',
|
||||
vpack: 'center',
|
||||
css: `
|
||||
min-width: ${SCREEN_WIDTH * userOptions.overview.scale}px;
|
||||
min-height: ${SCREEN_HEIGHT * userOptions.overview.scale}px;
|
||||
`,
|
||||
children: [Widget.EventBox({
|
||||
hexpand: true,
|
||||
vexpand: true,
|
||||
onPrimaryClick: () => {
|
||||
App.closeWindow('overview');
|
||||
Utils.timeout(POPUP_CLOSE_TIME, () => Hyprland.messageAsync(`dispatch workspace ${index}`));
|
||||
},
|
||||
setup: (eventbox) => {
|
||||
eventbox.drag_dest_set(Gtk.DestDefaults.ALL, TARGET, Gdk.DragAction.COPY);
|
||||
eventbox.connect('drag-data-received', (_w, _c, _x, _y, data) => {
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
Hyprland.messageAsync(`dispatch movetoworkspacesilent ${index + offset},address:${data.get_text()}`)
|
||||
overviewTick.setValue(!overviewTick.value);
|
||||
});
|
||||
},
|
||||
child: Widget.Overlay({
|
||||
child: Widget.Box({}),
|
||||
overlays: [
|
||||
WorkspaceNumber({ index: index, hpack: 'start', vpack: 'start' }),
|
||||
fixed
|
||||
]
|
||||
}),
|
||||
})],
|
||||
});
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
fixed.attribute.put(WorkspaceNumber(offset + index), 0, 0);
|
||||
widget.clear = () => {
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
clientMap.forEach((client, address) => {
|
||||
if (!client) return;
|
||||
if ((client.attribute.ws <= offset || client.attribute.ws > offset + NUM_OF_WORKSPACES_SHOWN) ||
|
||||
(client.attribute.ws == offset + index)) {
|
||||
client.destroy();
|
||||
client = null;
|
||||
clientMap.delete(address);
|
||||
}
|
||||
});
|
||||
}
|
||||
widget.set = (clientJson, screenCoords) => {
|
||||
let c = clientMap.get(clientJson.address);
|
||||
if (c) {
|
||||
if (c.attribute?.ws !== clientJson.workspace.id) {
|
||||
c.destroy();
|
||||
c = null;
|
||||
clientMap.delete(clientJson.address);
|
||||
}
|
||||
else if (c) {
|
||||
c.attribute.w = clientJson.size[0];
|
||||
c.attribute.h = clientJson.size[1];
|
||||
c.attribute.updateIconSize(c);
|
||||
fixed.attribute.move(c,
|
||||
Math.max(0, clientJson.at[0] * userOptions.overview.scale),
|
||||
Math.max(0, clientJson.at[1] * userOptions.overview.scale)
|
||||
);
|
||||
return;
|
||||
}
|
||||
}
|
||||
const newWindow = Window(clientJson, screenCoords);
|
||||
if (newWindow === null) return;
|
||||
// clientMap.set(clientJson.address, newWindow);
|
||||
fixed.attribute.put(newWindow,
|
||||
Math.max(0, newWindow.attribute.x * userOptions.overview.scale),
|
||||
Math.max(0, newWindow.attribute.y * userOptions.overview.scale)
|
||||
);
|
||||
clientMap.set(clientJson.address, newWindow);
|
||||
};
|
||||
widget.unset = (clientAddress) => {
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
let c = clientMap.get(clientAddress);
|
||||
if (!c) return;
|
||||
c.destroy();
|
||||
c = null;
|
||||
clientMap.delete(clientAddress);
|
||||
};
|
||||
widget.show = () => {
|
||||
fixed.show_all();
|
||||
}
|
||||
return widget;
|
||||
};
|
||||
|
||||
const arr = (s, n) => {
|
||||
const array = [];
|
||||
for (let i = 0; i < n; i++)
|
||||
array.push(s + i);
|
||||
|
||||
return array;
|
||||
};
|
||||
|
||||
const OverviewRow = ({ startWorkspace, workspaces, windowName = 'overview' }) => Widget.Box({
|
||||
children: arr(startWorkspace, workspaces).map(Workspace),
|
||||
attribute: {
|
||||
monitorMap: [],
|
||||
getMonitorMap: (box) => {
|
||||
execAsync('hyprctl -j monitors').then(monitors => {
|
||||
box.attribute.monitorMap = JSON.parse(monitors).reduce((acc, item) => {
|
||||
acc[item.id] = { x: item.x, y: item.y };
|
||||
return acc;
|
||||
}, {});
|
||||
});
|
||||
},
|
||||
update: (box) => {
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
if (!App.getWindow(windowName).visible) return;
|
||||
Hyprland.messageAsync('j/clients').then(clients => {
|
||||
const allClients = JSON.parse(clients);
|
||||
const kids = box.get_children();
|
||||
kids.forEach(kid => kid.clear());
|
||||
for (let i = 0; i < allClients.length; i++) {
|
||||
const client = allClients[i];
|
||||
const childID = client.workspace.id - (offset + startWorkspace);
|
||||
if (offset + startWorkspace <= client.workspace.id &&
|
||||
client.workspace.id <= offset + startWorkspace + workspaces) {
|
||||
const screenCoords = box.attribute.monitorMap[client.monitor];
|
||||
if (kids[childID]) {
|
||||
kids[childID].set(client, screenCoords);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
kids.forEach(kid => kid.show());
|
||||
}).catch(print);
|
||||
},
|
||||
updateWorkspace: (box, id) => {
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
if (!( // Not in range, ignore
|
||||
offset + startWorkspace <= id &&
|
||||
id <= offset + startWorkspace + workspaces
|
||||
)) return;
|
||||
// if (!App.getWindow(windowName).visible) return;
|
||||
Hyprland.messageAsync('j/clients').then(clients => {
|
||||
const allClients = JSON.parse(clients);
|
||||
const kids = box.get_children();
|
||||
for (let i = 0; i < allClients.length; i++) {
|
||||
const client = allClients[i];
|
||||
if (client.workspace.id != id) continue;
|
||||
const screenCoords = box.attribute.monitorMap[client.monitor];
|
||||
kids[id - (offset + startWorkspace)]?.set(client, screenCoords);
|
||||
}
|
||||
kids[id - (offset + startWorkspace)]?.show();
|
||||
}).catch(print);
|
||||
},
|
||||
},
|
||||
setup: (box) => {
|
||||
box.attribute.getMonitorMap(box);
|
||||
box
|
||||
.hook(overviewTick, (box) => box.attribute.update(box))
|
||||
.hook(Hyprland, (box, clientAddress) => {
|
||||
const offset = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN) * NUM_OF_WORKSPACES_SHOWN;
|
||||
const kids = box.get_children();
|
||||
const client = Hyprland.getClient(clientAddress);
|
||||
if (!client) return;
|
||||
const id = client.workspace.id;
|
||||
|
||||
box.attribute.updateWorkspace(box, id);
|
||||
kids[id - (offset + startWorkspace)]?.unset(clientAddress);
|
||||
}, 'client-removed')
|
||||
.hook(Hyprland, (box, clientAddress) => {
|
||||
const client = Hyprland.getClient(clientAddress);
|
||||
if (!client) return;
|
||||
box.attribute.updateWorkspace(box, client.workspace.id);
|
||||
}, 'client-added')
|
||||
.hook(Hyprland.active.workspace, (box) => {
|
||||
// Full update when going to new ws group
|
||||
const previousGroup = box.attribute.workspaceGroup;
|
||||
const currentGroup = Math.floor((Hyprland.active.workspace.id - 1) / NUM_OF_WORKSPACES_SHOWN);
|
||||
if (currentGroup !== previousGroup) {
|
||||
box.attribute.update(box);
|
||||
box.attribute.workspaceGroup = currentGroup;
|
||||
}
|
||||
})
|
||||
.hook(App, (box, name, visible) => { // Update on open
|
||||
if (name == 'overview' && visible) box.attribute.update(box);
|
||||
})
|
||||
},
|
||||
});
|
||||
|
||||
return Widget.Revealer({
|
||||
revealChild: true,
|
||||
transition: 'slide_down',
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
child: Widget.Box({
|
||||
vertical: true,
|
||||
className: 'overview-tasks',
|
||||
children: Array.from({ length: userOptions.overview.numOfRows }, (_, index) =>
|
||||
OverviewRow({
|
||||
startWorkspace: 1 + index * userOptions.overview.numOfCols,
|
||||
workspaces: userOptions.overview.numOfCols,
|
||||
})
|
||||
)
|
||||
}),
|
||||
});
|
||||
}
|
|
@ -0,0 +1,163 @@
|
|||
const { Gtk } = imports.gi;
|
||||
import App from 'resource:///com/github/Aylur/ags/app.js';
|
||||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
const { execAsync, exec } = Utils;
|
||||
import { searchItem } from './searchitem.js';
|
||||
import { execAndClose, couldBeMath, launchCustomCommand } from './miscfunctions.js';
|
||||
|
||||
export const DirectoryButton = ({ parentPath, name, type, icon }) => {
|
||||
const actionText = Widget.Revealer({
|
||||
revealChild: false,
|
||||
transition: "crossfade",
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
child: Widget.Label({
|
||||
className: 'overview-search-results-txt txt txt-small txt-action',
|
||||
label: 'Open',
|
||||
})
|
||||
});
|
||||
const actionTextRevealer = Widget.Revealer({
|
||||
revealChild: false,
|
||||
transition: "slide_left",
|
||||
transitionDuration: userOptions.animations.durationSmall,
|
||||
child: actionText,
|
||||
});
|
||||
return Widget.Button({
|
||||
className: 'overview-search-result-btn',
|
||||
onClicked: () => {
|
||||
App.closeWindow('overview');
|
||||
execAsync(['bash', '-c', `xdg-open '${parentPath}/${name}'`, `&`]).catch(print);
|
||||
},
|
||||
child: Widget.Box({
|
||||
children: [
|
||||
Widget.Box({
|
||||
vertical: false,
|
||||
children: [
|
||||
Widget.Box({
|
||||
className: 'overview-search-results-icon',
|
||||
homogeneous: true,
|
||||
child: Widget.Icon({
|
||||
icon: icon,
|
||||
}),
|
||||
}),
|
||||
Widget.Label({
|
||||
className: 'overview-search-results-txt txt txt-norm',
|
||||
label: name,
|
||||
}),
|
||||
Widget.Box({ hexpand: true }),
|
||||
actionTextRevealer,
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
setup: (self) => self
|
||||
.on('focus-in-event', (button) => {
|
||||
actionText.revealChild = true;
|
||||
actionTextRevealer.revealChild = true;
|
||||
})
|
||||
.on('focus-out-event', (button) => {
|
||||
actionText.revealChild = false;
|
||||
actionTextRevealer.revealChild = false;
|
||||
})
|
||||
,
|
||||
})
|
||||
}
|
||||
|
||||
export const CalculationResultButton = ({ result, text }) => searchItem({
|
||||
materialIconName: ' ',
|
||||
name: `Math result`,
|
||||
actionName: "Copy",
|
||||
content: `${result}`,
|
||||
onActivate: () => {
|
||||
App.closeWindow('overview');
|
||||
execAsync(['wl-copy', `${result}`]).catch(print);
|
||||
},
|
||||
});
|
||||
|
||||
export const DesktopEntryButton = (app) => {
|
||||
const actionText = Widget.Revealer({
|
||||
revealChild: false,
|
||||
transition: "crossfade",
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
child: Widget.Label({
|
||||
className: 'overview-search-results-txt txt txt-small txt-action',
|
||||
label: 'Launch',
|
||||
})
|
||||
});
|
||||
const actionTextRevealer = Widget.Revealer({
|
||||
revealChild: false,
|
||||
transition: "slide_left",
|
||||
transitionDuration: userOptions.animations.durationSmall,
|
||||
child: actionText,
|
||||
});
|
||||
return Widget.Button({
|
||||
className: 'overview-search-result-btn',
|
||||
onClicked: () => {
|
||||
App.closeWindow('overview');
|
||||
app.launch();
|
||||
},
|
||||
child: Widget.Box({
|
||||
children: [
|
||||
Widget.Box({
|
||||
vertical: false,
|
||||
children: [
|
||||
Widget.Box({
|
||||
className: 'overview-search-results-icon',
|
||||
homogeneous: true,
|
||||
child: Widget.Icon({
|
||||
icon: app.iconName,
|
||||
}),
|
||||
}),
|
||||
Widget.Label({
|
||||
className: 'overview-search-results-txt txt txt-norm',
|
||||
label: app.name,
|
||||
}),
|
||||
Widget.Box({ hexpand: true }),
|
||||
actionTextRevealer,
|
||||
]
|
||||
})
|
||||
]
|
||||
}),
|
||||
setup: (self) => self
|
||||
.on('focus-in-event', (button) => {
|
||||
actionText.revealChild = true;
|
||||
actionTextRevealer.revealChild = true;
|
||||
})
|
||||
.on('focus-out-event', (button) => {
|
||||
actionText.revealChild = false;
|
||||
actionTextRevealer.revealChild = false;
|
||||
})
|
||||
,
|
||||
})
|
||||
}
|
||||
|
||||
export const ExecuteCommandButton = ({ command, terminal = false }) => searchItem({
|
||||
materialIconName: `${terminal ? 'terminal' : ' '}`,
|
||||
name: `Run command`,
|
||||
actionName: `Execute ${terminal ? 'in terminal' : ''}`,
|
||||
content: `${command}`,
|
||||
onActivate: () => execAndClose(command, terminal),
|
||||
extraClassName: 'techfont',
|
||||
})
|
||||
|
||||
export const CustomCommandButton = ({ text = '' }) => searchItem({
|
||||
materialIconName: ' ',
|
||||
name: 'Action',
|
||||
actionName: 'Run',
|
||||
content: `${text}`,
|
||||
onActivate: () => {
|
||||
App.closeWindow('overview');
|
||||
launchCustomCommand(text);
|
||||
},
|
||||
});
|
||||
|
||||
export const SearchButton = ({ text = '' }) => searchItem({
|
||||
materialIconName: ' ',
|
||||
name: 'Search the web',
|
||||
actionName: 'Go',
|
||||
content: `${text}`,
|
||||
onActivate: () => {
|
||||
App.closeWindow('overview');
|
||||
execAsync(['bash', '-c', `xdg-open '${userOptions.search.engineBaseUrl}${text} ${['', ...userOptions.search.excludedSites].join(' -site:')}' &`]).catch(print);
|
||||
},
|
||||
});
|
|
@ -0,0 +1,65 @@
|
|||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
|
||||
export const searchItem = ({ materialIconName, name, actionName, content, onActivate, extraClassName = '', ...rest }) => {
|
||||
const actionText = Widget.Revealer({
|
||||
revealChild: false,
|
||||
transition: "crossfade",
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
child: Widget.Label({
|
||||
className: 'overview-search-results-txt txt txt-small txt-action',
|
||||
label: `${actionName}`,
|
||||
})
|
||||
});
|
||||
const actionTextRevealer = Widget.Revealer({
|
||||
revealChild: false,
|
||||
transition: "slide_left",
|
||||
transitionDuration: userOptions.animations.durationSmall,
|
||||
child: actionText,
|
||||
})
|
||||
return Widget.Button({
|
||||
className: `overview-search-result-btn txt ${extraClassName}`,
|
||||
onClicked: onActivate,
|
||||
child: Widget.Box({
|
||||
children: [
|
||||
Widget.Box({
|
||||
vertical: false,
|
||||
children: [
|
||||
Widget.Label({
|
||||
className: `icon-material overview-search-results-icon`,
|
||||
label: `${materialIconName}`,
|
||||
}),
|
||||
Widget.Box({
|
||||
vertical: true,
|
||||
children: [
|
||||
Widget.Label({
|
||||
hpack: 'start',
|
||||
className: 'overview-search-results-txt txt-smallie txt-subtext',
|
||||
label: `${name}`,
|
||||
truncate: "end",
|
||||
}),
|
||||
Widget.Label({
|
||||
hpack: 'start',
|
||||
className: 'overview-search-results-txt txt-norm',
|
||||
label: `${content}`,
|
||||
truncate: "end",
|
||||
}),
|
||||
]
|
||||
}),
|
||||
Widget.Box({ hexpand: true }),
|
||||
actionTextRevealer,
|
||||
],
|
||||
})
|
||||
]
|
||||
}),
|
||||
setup: (self) => self
|
||||
.on('focus-in-event', (button) => {
|
||||
actionText.revealChild = true;
|
||||
actionTextRevealer.revealChild = true;
|
||||
})
|
||||
.on('focus-out-event', (button) => {
|
||||
actionText.revealChild = false;
|
||||
actionTextRevealer.revealChild = false;
|
||||
})
|
||||
,
|
||||
});
|
||||
}
|
|
@ -0,0 +1,262 @@
|
|||
const { Gdk, Gtk } = imports.gi;
|
||||
import App from 'resource:///com/github/Aylur/ags/app.js';
|
||||
import Widget from 'resource:///com/github/Aylur/ags/widget.js';
|
||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
|
||||
import Applications from 'resource:///com/github/Aylur/ags/service/applications.js';
|
||||
const { execAsync, exec } = Utils;
|
||||
import { execAndClose, expandTilde, hasUnterminatedBackslash, couldBeMath, launchCustomCommand, ls } from './miscfunctions.js';
|
||||
import {
|
||||
CalculationResultButton, CustomCommandButton, DirectoryButton,
|
||||
DesktopEntryButton, ExecuteCommandButton, SearchButton
|
||||
} from './searchbuttons.js';
|
||||
import { checkKeybind } from '../.widgetutils/keybind.js';
|
||||
|
||||
// Add math funcs
|
||||
const { abs, sin, cos, tan, cot, asin, acos, atan, acot } = Math;
|
||||
const pi = Math.PI;
|
||||
// trigonometric funcs for deg
|
||||
const sind = x => sin(x * pi / 180);
|
||||
const cosd = x => cos(x * pi / 180);
|
||||
const tand = x => tan(x * pi / 180);
|
||||
const cotd = x => cot(x * pi / 180);
|
||||
const asind = x => asin(x) * 180 / pi;
|
||||
const acosd = x => acos(x) * 180 / pi;
|
||||
const atand = x => atan(x) * 180 / pi;
|
||||
const acotd = x => acot(x) * 180 / pi;
|
||||
|
||||
const MAX_RESULTS = 10;
|
||||
const OVERVIEW_SCALE = 0.18; // = overview workspace box / screen size
|
||||
const OVERVIEW_WS_NUM_SCALE = 0.0;
|
||||
const OVERVIEW_WS_NUM_MARGIN_SCALE = 0.07;
|
||||
const TARGET = [Gtk.TargetEntry.new('text/plain', Gtk.TargetFlags.SAME_APP, 0)];
|
||||
|
||||
function iconExists(iconName) {
|
||||
let iconTheme = Gtk.IconTheme.get_default();
|
||||
return iconTheme.has_icon(iconName);
|
||||
}
|
||||
|
||||
const OptionalOverview = async () => {
|
||||
try {
|
||||
return (await import('./overview_hyprland.js')).default();
|
||||
} catch {
|
||||
return Widget.Box({});
|
||||
// return (await import('./overview_hyprland.js')).default();
|
||||
}
|
||||
};
|
||||
|
||||
const overviewContent = await OptionalOverview();
|
||||
|
||||
export const SearchAndWindows = () => {
|
||||
var _appSearchResults = [];
|
||||
|
||||
const ClickToClose = ({ ...props }) => Widget.EventBox({
|
||||
...props,
|
||||
onPrimaryClick: () => App.closeWindow('overview'),
|
||||
onSecondaryClick: () => App.closeWindow('overview'),
|
||||
onMiddleClick: () => App.closeWindow('overview'),
|
||||
});
|
||||
const resultsBox = Widget.Box({
|
||||
className: 'overview-search-results',
|
||||
vertical: true,
|
||||
vexpand: true,
|
||||
});
|
||||
const resultsRevealer = Widget.Revealer({
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
revealChild: false,
|
||||
transition: 'slide_down',
|
||||
// duration: 200,
|
||||
hpack: 'center',
|
||||
child: resultsBox,
|
||||
});
|
||||
const entryPromptRevealer = Widget.Revealer({
|
||||
transition: 'crossfade',
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
revealChild: true,
|
||||
hpack: 'center',
|
||||
child: Widget.Label({
|
||||
className: 'overview-search-prompt txt-small txt',
|
||||
label: 'Type to search'
|
||||
}),
|
||||
});
|
||||
|
||||
const entryIconRevealer = Widget.Revealer({
|
||||
transition: 'crossfade',
|
||||
transitionDuration: userOptions.animations.durationLarge,
|
||||
revealChild: false,
|
||||
hpack: 'end',
|
||||
child: Widget.Label({
|
||||
className: 'txt txt-large icon-material overview-search-icon',
|
||||
label: ' ',
|
||||
}),
|
||||
});
|
||||
|
||||
const entryIcon = Widget.Box({
|
||||
className: 'overview-search-prompt-box',
|
||||
setup: box => box.pack_start(entryIconRevealer, true, true, 0),
|
||||
});
|
||||
|
||||
const entry = Widget.Entry({
|
||||
className: 'overview-search-box txt-small txt',
|
||||
hpack: 'center',
|
||||
onAccept: (self) => { // This is when you hit Enter
|
||||
const text = self.text;
|
||||
if (text.length == 0) return;
|
||||
const isAction = text.startsWith('>');
|
||||
const isDir = (['/', '~'].includes(entry.text[0]));
|
||||
|
||||
if (couldBeMath(text)) { // Eval on typing is dangerous, this is a workaround
|
||||
try {
|
||||
const fullResult = eval(text.replace(/\^/g, "**"));
|
||||
// copy
|
||||
execAsync(['wl-copy', `${fullResult}`]).catch(print);
|
||||
App.closeWindow('overview');
|
||||
return;
|
||||
} catch (e) {
|
||||
// console.log(e);
|
||||
}
|
||||
}
|
||||
if (isDir) {
|
||||
App.closeWindow('overview');
|
||||
execAsync(['bash', '-c', `xdg-open "${expandTilde(text)}"`, `&`]).catch(print);
|
||||
return;
|
||||
}
|
||||
if (_appSearchResults.length > 0) {
|
||||
App.closeWindow('overview');
|
||||
_appSearchResults[0].launch();
|
||||
return;
|
||||
}
|
||||
else if (text[0] == '>') { // Custom commands
|
||||
App.closeWindow('overview');
|
||||
launchCustomCommand(text);
|
||||
return;
|
||||
}
|
||||
// Fallback: Execute command
|
||||
if (!isAction && exec(`bash -c "command -v ${text.split(' ')[0]}"`) != '') {
|
||||
if (text.startsWith('sudo'))
|
||||
execAndClose(text, true);
|
||||
else
|
||||
execAndClose(text, false);
|
||||
}
|
||||
|
||||
else {
|
||||
App.closeWindow('overview');
|
||||
execAsync(['bash', '-c', `xdg-open '${userOptions.search.engineBaseUrl}${text} ${['', ...userOptions.search.excludedSites].join(' -site:')}' &`]).catch(print);
|
||||
}
|
||||
},
|
||||
onChange: (entry) => { // this is when you type
|
||||
const isAction = entry.text[0] == '>';
|
||||
const isDir = (['/', '~'].includes(entry.text[0]));
|
||||
resultsBox.get_children().forEach(ch => ch.destroy());
|
||||
|
||||
// check empty if so then dont do stuff
|
||||
if (entry.text == '') {
|
||||
resultsRevealer.revealChild = false;
|
||||
overviewContent.revealChild = true;
|
||||
entryPromptRevealer.revealChild = true;
|
||||
entryIconRevealer.revealChild = false;
|
||||
entry.toggleClassName('overview-search-box-extended', false);
|
||||
return;
|
||||
}
|
||||
const text = entry.text;
|
||||
resultsRevealer.revealChild = true;
|
||||
overviewContent.revealChild = false;
|
||||
entryPromptRevealer.revealChild = false;
|
||||
entryIconRevealer.revealChild = true;
|
||||
entry.toggleClassName('overview-search-box-extended', true);
|
||||
_appSearchResults = Applications.query(text);
|
||||
|
||||
// Calculate
|
||||
if (couldBeMath(text)) { // Eval on typing is dangerous; this is a small workaround.
|
||||
try {
|
||||
const fullResult = eval(text.replace(/\^/g, "**"));
|
||||
resultsBox.add(CalculationResultButton({ result: fullResult, text: text }));
|
||||
} catch (e) {
|
||||
// console.log(e);
|
||||
}
|
||||
}
|
||||
if (isDir) {
|
||||
var contents = [];
|
||||
contents = ls({ path: text, silent: true });
|
||||
contents.forEach((item) => {
|
||||
resultsBox.add(DirectoryButton(item));
|
||||
})
|
||||
}
|
||||
if (isAction) { // Eval on typing is dangerous, this is a workaround.
|
||||
resultsBox.add(CustomCommandButton({ text: entry.text }));
|
||||
}
|
||||
// Add application entries
|
||||
let appsToAdd = MAX_RESULTS;
|
||||
_appSearchResults.forEach(app => {
|
||||
if (appsToAdd == 0) return;
|
||||
resultsBox.add(DesktopEntryButton(app));
|
||||
appsToAdd--;
|
||||
});
|
||||
|
||||
// Fallbacks
|
||||
// if the first word is an actual command
|
||||
if (!isAction && !hasUnterminatedBackslash(text) && exec(`bash -c "command -v ${text.split(' ')[0]}"`) != '') {
|
||||
resultsBox.add(ExecuteCommandButton({ command: entry.text, terminal: entry.text.startsWith('sudo') }));
|
||||
}
|
||||
|
||||
// Add fallback: search
|
||||
resultsBox.add(SearchButton({ text: entry.text }));
|
||||
resultsBox.show_all();
|
||||
},
|
||||
});
|
||||
return Widget.Box({
|
||||
vertical: true,
|
||||
children: [
|
||||
ClickToClose({ // Top margin. Also works as a click-outside-to-close thing
|
||||
child: Widget.Box({
|
||||
className: 'bar-height',
|
||||
})
|
||||
}),
|
||||
Widget.Box({
|
||||
hpack: 'center',
|
||||
children: [
|
||||
entry,
|
||||
Widget.Box({
|
||||
className: 'overview-search-icon-box',
|
||||
setup: (box) => {
|
||||
box.pack_start(entryPromptRevealer, true, true, 0)
|
||||
},
|
||||
}),
|
||||
entryIcon,
|
||||
]
|
||||
}),
|
||||
overviewContent,
|
||||
resultsRevealer,
|
||||
],
|
||||
setup: (self) => self
|
||||
.hook(App, (_b, name, visible) => {
|
||||
if (name == 'overview' && !visible) {
|
||||
resultsBox.children = [];
|
||||
entry.set_text('');
|
||||
}
|
||||
})
|
||||
.on('key-press-event', (widget, event) => { // Typing
|
||||
const keyval = event.get_keyval()[1];
|
||||
const modstate = event.get_state()[1];
|
||||
if (checkKeybind(event, userOptions.keybinds.overview.altMoveLeft))
|
||||
entry.set_position(Math.max(entry.get_position() - 1, 0));
|
||||
else if (checkKeybind(event, userOptions.keybinds.overview.altMoveRight))
|
||||
entry.set_position(Math.min(entry.get_position() + 1, entry.get_text().length));
|
||||
else if (checkKeybind(event, userOptions.keybinds.overview.deleteToEnd)) {
|
||||
const text = entry.get_text();
|
||||
const pos = entry.get_position();
|
||||
const newText = text.slice(0, pos);
|
||||
entry.set_text(newText);
|
||||
entry.set_position(newText.length);
|
||||
}
|
||||
else if (!(modstate & Gdk.ModifierType.CONTROL_MASK)) { // Ctrl not held
|
||||
if (keyval >= 32 && keyval <= 126 && widget != entry) {
|
||||
Utils.timeout(1, () => entry.grab_focus());
|
||||
entry.set_text(entry.text + String.fromCharCode(keyval));
|
||||
entry.set_position(-1);
|
||||
}
|
||||
}
|
||||
})
|
||||
,
|
||||
});
|
||||
};
|
|
@ -0,0 +1,197 @@
|
|||
*:not(popover) {
|
||||
all: unset;
|
||||
}
|
||||
|
||||
@import '../../../.config/waybar/wallust/colors-waybar.css';
|
||||
|
||||
/* define some colors */
|
||||
@define-color border-color @color12;
|
||||
@define-color border-color-alt @color9;
|
||||
@define-color text-color rgba(255, 255, 255, 0.7);
|
||||
@define-color noti-bg rgba(0, 0, 0, 0.4);
|
||||
@define-color noti-bg-alt #111111;
|
||||
|
||||
widget {
|
||||
border-radius: 0.818rem;
|
||||
-gtk-outline-radius: 0.818rem;
|
||||
}
|
||||
|
||||
.overview-window {
|
||||
margin-top: 2.727rem;
|
||||
}
|
||||
|
||||
.overview-search-box {
|
||||
transition: 300ms cubic-bezier(0, 0.55, 0.45, 1);
|
||||
border-radius: 1.705rem;
|
||||
-gtk-outline-radius: 1.705rem;
|
||||
border-top: 4px solid @border-color;
|
||||
border-left: 1px solid @border-color-alt;
|
||||
border-right: 1px solid @border-color-alt;
|
||||
border-bottom: 4px solid @border-color;
|
||||
box-shadow: 0px 2px 3px alpha(@color12, 0.45);
|
||||
margin: 0.476rem;
|
||||
min-width: 13.636rem;
|
||||
min-height: 3.409rem;
|
||||
padding: 0rem 1.364rem;
|
||||
padding-right: 2.864rem;
|
||||
background-color: @noti-bg;
|
||||
color: @text-color;
|
||||
caret-color: inherit;
|
||||
font-weight: bolder;
|
||||
}
|
||||
.overview-search-box selection {
|
||||
background-color: @noti-bg;
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.overview-search-box-extended {
|
||||
min-width: 25.909rem;
|
||||
caret-color: #FDD9FD;
|
||||
}
|
||||
|
||||
.overview-search-prompt {
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.overview-search-icon {
|
||||
margin: 0rem 1.023rem;
|
||||
}
|
||||
|
||||
.overview-search-prompt-box {
|
||||
margin-left: -18.545rem;
|
||||
margin-right: 0.544rem;
|
||||
}
|
||||
|
||||
.overview-search-icon-box {
|
||||
margin-left: -18.545rem;
|
||||
margin-right: 0.544rem;
|
||||
}
|
||||
|
||||
.overview-search-results {
|
||||
border-radius: 1.705rem;
|
||||
-gtk-outline-radius: 1.705rem;
|
||||
border-top: 4px solid @border-color;
|
||||
border-left: 1px solid @border-color-alt;
|
||||
border-right: 1px solid @border-color-alt;
|
||||
border-bottom: 4px solid @border-color;
|
||||
box-shadow: 0px 2px 3px @color9;
|
||||
margin: 0.476rem;
|
||||
min-width: 28.773rem;
|
||||
padding: 0.682rem;
|
||||
background-color: @noti-bg;
|
||||
color: @text-color;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.overview-search-results-icon {
|
||||
margin: 0rem 0.682rem;
|
||||
font-size: 2.386rem;
|
||||
min-width: 2.386rem;
|
||||
min-height: 2.386rem;
|
||||
}
|
||||
|
||||
.overview-search-results-txt {
|
||||
margin-right: 0.682rem;
|
||||
}
|
||||
|
||||
.overview-search-results-txt-cmd {
|
||||
margin-right: 0.682rem;
|
||||
font-family: "JetBrains Mono NF", "JetBrains Mono Nerd Font", "JetBrains Mono NL", "SpaceMono NF", "SpaceMono Nerd Font", monospace;
|
||||
font-size: 1.227rem;
|
||||
}
|
||||
|
||||
.overview-search-result-btn {
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
padding: 0.341rem;
|
||||
min-width: 2.386rem;
|
||||
min-height: 2.386rem;
|
||||
caret-color: transparent;
|
||||
}
|
||||
|
||||
.overview-search-result-btn:hover,
|
||||
.overview-search-result-btn:focus {
|
||||
background-color: alpha(@color7, 0.9);
|
||||
color: alpha(@color0, 0.7);
|
||||
}
|
||||
|
||||
.overview-search-result-btn:active {
|
||||
background-color: alpha(@color7, 0.9);
|
||||
color: @color4;
|
||||
}
|
||||
|
||||
.overview-tasks {
|
||||
border-radius: 1.705rem;
|
||||
-gtk-outline-radius: 1.705rem;
|
||||
border-top: 4px solid @border-color;
|
||||
border-left: 1px solid @border-color-alt;
|
||||
border-right: 1px solid @border-color-alt;
|
||||
border-bottom: 4px solid @border-color;
|
||||
box-shadow: 0px 2px 3px @color5;
|
||||
margin: 0.476rem;
|
||||
padding: 0.341rem;
|
||||
/* background-color: rgba(49, 50, 68, 0.8); */
|
||||
background-color: @noti-bg;
|
||||
color: #EBDFED;
|
||||
}
|
||||
|
||||
.overview-tasks-workspace {
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
margin: 0.341rem;
|
||||
/* background-color: #26233A; */
|
||||
background-image: url('../../rofi/.current_wallpaper');
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
border: 0.068rem solid alpha(@color4, 0.5);
|
||||
}
|
||||
|
||||
.overview-tasks-workspace-number {
|
||||
font-family: "Open Sans", "Noto Sans", sans-serif;
|
||||
color: #CFC2D3;
|
||||
}
|
||||
|
||||
.overview-tasks-window {
|
||||
border-radius: 1.159rem;
|
||||
-gtk-outline-radius: 1.159rem;
|
||||
transition: 300ms cubic-bezier(0.1, 1, 0, 1);
|
||||
background-color: alpha(@color3, .7);
|
||||
/* background-color: @color_a3; */
|
||||
/* background-color: rgba(46, 40, 50, 0.8); */
|
||||
color: #EBDFED;
|
||||
border: 0.068rem solid @color7;
|
||||
}
|
||||
|
||||
.overview-tasks-window:hover,
|
||||
.overview-tasks-window:focus {
|
||||
background-color: alpha(@color9, 0.8);
|
||||
}
|
||||
|
||||
.overview-tasks-window:active {
|
||||
background-color: alpha(@color9, 0.8);
|
||||
}
|
||||
|
||||
.overview-tasks-window-selected {
|
||||
background-color: alpha(@color9, 0.8);
|
||||
}
|
||||
|
||||
.overview-tasks-window-dragging {
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.growingRadial {
|
||||
transition: 300ms cubic-bezier(0.2, 0, 0, 1);
|
||||
}
|
||||
|
||||
.fadingRadial {
|
||||
transition: 50ms cubic-bezier(0.2, 0, 0, 1);
|
||||
}
|
||||
|
||||
.sidebar-pinned {
|
||||
margin: 0rem;
|
||||
border-radius: 0rem;
|
||||
border-bottom-right-radius: 1.705rem;
|
||||
border: 0rem solid;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=style.css.map */
|
|
@ -0,0 +1,21 @@
|
|||
|
||||
const userConfigOptions = {
|
||||
// For every option, see ~/.config/ags/modules/.configuration/user_options.js
|
||||
// (vscode users ctrl+click this: file://./modules/.configuration/user_options.js)
|
||||
// (vim users: `:vsp` to split window, move cursor to this path, press `gf`. `Ctrl-w` twice to switch between)
|
||||
// options listed in this file will override the default ones in the above file
|
||||
// Here's an example
|
||||
'overview':{
|
||||
'scale': 0.15,
|
||||
'numOfRows': 2
|
||||
},
|
||||
'keybinds': {
|
||||
'sidebar': {
|
||||
'pin': "Ctrl+p",
|
||||
'nextTab': "Ctrl+Page_Down",
|
||||
'prevTab': "Ctrl+Page_Up",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
export default userConfigOptions;
|
|
@ -0,0 +1,21 @@
|
|||
const { Gtk } = imports.gi;
|
||||
import Variable from 'resource:///com/github/Aylur/ags/variable.js';
|
||||
import * as Utils from 'resource:///com/github/Aylur/ags/utils.js';
|
||||
const { exec, execAsync } = Utils;
|
||||
|
||||
Gtk.IconTheme.get_default().append_search_path(`${App.configDir}/assets/icons`);
|
||||
|
||||
// Screen size
|
||||
export const SCREEN_WIDTH = Number(exec(`bash -c "hyprctl monitors -j | jq '.[0].width / .[0].scale'"`));
|
||||
export const SCREEN_HEIGHT = Number(exec(`bash -c "hyprctl monitors -j | jq '.[0].height / .[0].scale'"`));
|
||||
|
||||
// Mode switching
|
||||
export const currentShellMode = Variable('normal', {}) // normal, focus
|
||||
globalThis['currentMode'] = currentShellMode;
|
||||
globalThis['cycleMode'] = () => {
|
||||
if (currentShellMode.value === 'normal') {
|
||||
currentShellMode.value = 'focus';
|
||||
} else {
|
||||
currentShellMode.value = 'normal';
|
||||
}
|
||||
}
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"padding": {
|
||||
"top": 2
|
||||
},
|
||||
"type": "small"
|
||||
},
|
||||
"display": {
|
||||
"separator": " -> "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "title",
|
||||
"keyWidth": 10,
|
||||
"format": " {6}{7}{8}"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
/*
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
*/
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ",
|
||||
"keyColor": "magenta",
|
||||
// format: used / total
|
||||
"format": "{1} / {2}"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
|
||||
},
|
||||
"break",
|
||||
]
|
||||
}
|
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"height": 5,
|
||||
"width": 10,
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " -> "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "title",
|
||||
"keyWidth": 10,
|
||||
"format": " {6}{7}{8}"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
/*
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " ",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
*/
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ",
|
||||
"keyColor": "magenta",
|
||||
// format: used / total
|
||||
"format": "{1} / {2}"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " ",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " ─────────────────────────── "
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": " \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[90m "
|
||||
},
|
||||
"break",
|
||||
]
|
||||
}
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
//"source": "~/.config/fastfetch/nixos.png",
|
||||
//"type": "kitty-direct",
|
||||
"height": 15,
|
||||
"width": 30,
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " ➜ "
|
||||
},
|
||||
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "os",
|
||||
"key": " DISTRO",
|
||||
"keyColor": "31",
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": " ├ ",
|
||||
"keyColor": "31",
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " ├ ",
|
||||
"keyColor": "31",
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " └ ",
|
||||
"keyColor": "31",
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " DE/WM",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "wmtheme",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "icons",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "cursor",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " ├ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
{
|
||||
"type": "terminalfont",
|
||||
"key": " └ ",
|
||||
"keyColor": "32",
|
||||
},
|
||||
"break",
|
||||
{
|
||||
"type": "host",
|
||||
"format": "{2}",
|
||||
"key": " SYSTEM",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"format": "{1} ({3}) @ {7} GHz",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"format": "{2}",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "swap",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "disk",
|
||||
"key": " ├ ",
|
||||
"keyColor": "33",
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": " └ ",
|
||||
"compactType": "original-with-refresh-rate",
|
||||
"keyColor": "33",
|
||||
},
|
||||
"break",
|
||||
"break",
|
||||
]
|
||||
}
|
|
@ -0,0 +1,127 @@
|
|||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"padding": {
|
||||
"top": 1
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " "
|
||||
},
|
||||
"modules": [
|
||||
"break",
|
||||
{
|
||||
"type": "os",
|
||||
"key": " DISTRO",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"key": "│ ├",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": "│ ├",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": "│ └",
|
||||
"keyColor": "yellow"
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " DE/WM",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "wmtheme",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "icons",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "cursor",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue",
|
||||
},
|
||||
{
|
||||
"type": "terminalfont",
|
||||
"key": "│ ├",
|
||||
"keyColor": "blue",
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": "│ └",
|
||||
"keyColor": "blue"
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"key": " SYSTEM",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"key": "│ ├",
|
||||
"format": "{2}",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green",
|
||||
"compactType": "original-with-refresh-rate"
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "swap",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": "│ ├",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"key": "│ └",
|
||||
"keyColor": "green"
|
||||
},
|
||||
{
|
||||
"type": "sound",
|
||||
"key": " AUDIO",
|
||||
"format": "{2}",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "player",
|
||||
"key": "│ ├",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "media",
|
||||
"key": "│ └",
|
||||
"keyColor": "magenta"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m \u001b[38m \u001b[39m \u001b[39m \u001b[38m \u001b[37m \u001b[36m \u001b[35m \u001b[34m \u001b[33m \u001b[32m \u001b[31m \u001b[90m "
|
||||
},
|
||||
"break",
|
||||
]
|
||||
}
|
|
@ -0,0 +1,31 @@
|
|||
# /* wallust template - colors-kitty */
|
||||
|
||||
foreground #FBECD3
|
||||
background #0E0E0F
|
||||
cursor #FBECD3
|
||||
|
||||
active_tab_foreground #0E0E0F
|
||||
active_tab_background #FBECD3
|
||||
inactive_tab_foreground #FBECD3
|
||||
inactive_tab_background #0E0E0F
|
||||
|
||||
active_border_color #FBECD3
|
||||
inactive_border_color #0E0E0F
|
||||
bell_border_color #100C10
|
||||
|
||||
color0 #373738
|
||||
color1 #100C10
|
||||
color2 #3C1E1A
|
||||
color3 #622F22
|
||||
color4 #434646
|
||||
color5 #616B64
|
||||
color6 #B79661
|
||||
color7 #F1DBB8
|
||||
color8 #A99981
|
||||
color9 #151016
|
||||
color10 #502922
|
||||
color11 #833E2D
|
||||
color12 #595D5D
|
||||
color13 #818F85
|
||||
color14 #F4C882
|
||||
color15 #F1DBB8
|
|
@ -0,0 +1,30 @@
|
|||
# wallust-colors
|
||||
#include kitty-colors.conf
|
||||
|
||||
font_family Fira Code SemiBold
|
||||
font_size 16.0
|
||||
bold_font auto
|
||||
italic_font auto
|
||||
bold_italic_font auto
|
||||
|
||||
background_opacity 0.7
|
||||
dynamic_background_opacity 1
|
||||
|
||||
confirm_os_window_close 0
|
||||
|
||||
# change to x11 or wayland or leave auto
|
||||
linux_display_server auto
|
||||
|
||||
scrollback_lines 2000
|
||||
wheel_scroll_min_lines 1
|
||||
|
||||
enable_audio_bell no
|
||||
|
||||
window_padding_width 4
|
||||
|
||||
selection_foreground none
|
||||
selection_background none
|
||||
|
||||
foreground #dddddd
|
||||
background #000000
|
||||
cursor #dddddd
|
|
@ -0,0 +1,39 @@
|
|||
/* Animations Menu */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "message", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
width: 43%;
|
||||
placeholder: " ✨ Search / Choose which Animations to load";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
margin: 10px;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/* Main Config Calculator */
|
||||
/* Submitted by: https://github.com/JosephArmas */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children: [ "entry", "message" ];
|
||||
height: inherit;
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🧮 Calculate";
|
||||
}
|
||||
|
||||
listview {enable: false;}
|
|
@ -0,0 +1,41 @@
|
|||
/* Clipboard Config - Clipboard */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "message", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
width: 47%;
|
||||
placeholder: " 📋 Search Clipboard ";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 1;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,48 @@
|
|||
/* Main Config (compact) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "message", "listview"];
|
||||
}
|
||||
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 6;
|
||||
fixed-height: false;
|
||||
}
|
||||
|
||||
/* ---- Entry input ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 👀 View / Edit hyprland-dotfiles configs";
|
||||
}
|
||||
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/* Main Config - emoji */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "message", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
width: 37%;
|
||||
placeholder: " 💫 Search / Choose Emoji's";
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
/* Main Config - For Keybinds generation */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "message", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🧮 Search Keybinds";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 8;
|
||||
fixed-height: false;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
window {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,38 @@
|
|||
/* Main config Rofi Beats Config (compact) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
expand: false;
|
||||
width: 25%;
|
||||
placeholder: " 📻 Choose Music Source";
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 28%;
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
fixed-columns: false;
|
||||
scrollbar: false;
|
||||
colums: 1;
|
||||
lines: 3;
|
||||
}
|
||||
|
||||
/* ---- Element ---- */
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,42 @@
|
|||
/* Rofi Beats Config (compact) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
R
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
placeholder: " 📻 Choose Media or Stations to play";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
margin: 10px;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/* Main Config Rofi Theme */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Entry input ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " ⬇️ Select Which Rofi Theme wanted to apply";
|
||||
}
|
||||
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
orientation: vertical;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
/* Rofi Config for Google Search) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 40%;
|
||||
//orientation: horizontal;
|
||||
height: inherit;
|
||||
y-offset: 10px;
|
||||
location: north;
|
||||
children: [ "entry", "message" ];
|
||||
border: 2px;
|
||||
border-color: white/25%;
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🔎 Google Search";
|
||||
horizontal-align: 0.5;
|
||||
padding: 15px;
|
||||
border-radius: inherit;
|
||||
}
|
|
@ -0,0 +1,45 @@
|
|||
/* Wallpaper Effects */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
width: 32%;
|
||||
placeholder: " 🏙️ Search / Choose desired wallpaper effect";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
background-image: url("~/.config/hypr/wallpaper_effects/.wallpaper_modified", width);
|
||||
}
|
||||
|
||||
/* ---- Element ---- */
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
vertical-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
|
@ -0,0 +1,54 @@
|
|||
/* Main Config (wallpaper) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun";
|
||||
}
|
||||
|
||||
window {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🎞️ Search / Choose Wallpaper";
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 4;
|
||||
lines: 2;
|
||||
spacing: 10px;
|
||||
padding: 10px;
|
||||
flow: horizontal;
|
||||
fixed-width: false;
|
||||
fixed-height: true;
|
||||
}
|
||||
|
||||
/* ---- Element ---- */
|
||||
element {
|
||||
orientation: vertical;
|
||||
border-radius: 12px;
|
||||
spacing: 20px;
|
||||
padding: 6px;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
element-text {
|
||||
vertical-align: 1.0;
|
||||
horizontal-align: 0.5;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/* Main Config (Waybar Layout) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🖼️ Search / Choose Waybar Layout";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
margin: 10px;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
/* Main Config (waybar style) */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
children:
|
||||
[ "inputbar", "listview"];
|
||||
}
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 45%;
|
||||
}
|
||||
|
||||
/* ---- Entry ---- */
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🖼️ Search / Choose Waybar Style";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 2;
|
||||
lines: 7;
|
||||
fixed-height: false;
|
||||
margin: 10px;
|
||||
scrollbar: true;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
/* Oh My ZSH Theme */
|
||||
|
||||
@import "~/.config/rofi/config.rasi"
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 40%;
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
children: [ "inputbar" , "listview" ];
|
||||
}
|
||||
|
||||
/* ---- Listbox ---- */
|
||||
listbox {
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
padding: 14px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
entry {
|
||||
expand: true;
|
||||
placeholder: " 🪟 Search / Choose ZSH theme";
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
columns: 3;
|
||||
lines: 3;
|
||||
spacing: 4px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
/* ---- Element ---- */
|
||||
element {
|
||||
orientation: horizontal;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
textbox {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
/* ---- Element ---- */
|
||||
element-icon {
|
||||
size: 0%;
|
||||
}
|
||||
element-text {
|
||||
horizontal-align: 0.0;
|
||||
margin: 5px 30px 5px 30px;
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
/* Default
|
||||
|
||||
* All main themes or configs are located in ~/.config/rofi/themes/
|
||||
* If you want to edit the config, that is where you should edit NOT here
|
||||
|
||||
* To load a new theme, manually edit the file path below or choose desired theme via rofi theme selector (choose via app menu)
|
||||
|
||||
* Alternative way to Load (preferred)
|
||||
* SUPER CTRL R - Choose style & SUPER CTRL SHIFT R
|
||||
|
||||
* TIPS
|
||||
* If you have edited a config, rename it with a unique name. During update, the contents of
|
||||
* ~/.config/rofi/themes/ will be replaced. */
|
||||
|
||||
/* ---- Configuration Fonts ---- */
|
||||
configuration {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 13";
|
||||
}
|
||||
|
||||
/* note: Element-text font and size, edit configs in ~/.config/rofi/themes/ */
|
||||
|
||||
|
||||
@theme "~/.config/rofi/themes/style-2-Dark.rasi"
|
|
@ -0,0 +1,243 @@
|
|||
/* ---- Configuration ---- */
|
||||
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Load wallust colors ---- */
|
||||
@theme "~/.config/rofi/wallust/colors-rofi.rasi"
|
||||
|
||||
/* ---- Global Properties ---- */
|
||||
* {
|
||||
background-alt: @color1;
|
||||
selected: @color12;
|
||||
active: @color11;
|
||||
urgent: red;
|
||||
|
||||
text-selected: @background;
|
||||
text-color: @foreground;
|
||||
border-color: @selected;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
// Default
|
||||
enabled: true;
|
||||
fullscreen: false;
|
||||
transparency: "real";
|
||||
cursor: "default";
|
||||
spacing: 0px;
|
||||
border: 3px 0px 3px 0px;
|
||||
border-radius: 30px;
|
||||
location: center;
|
||||
anchor: center;
|
||||
|
||||
// Style Values
|
||||
width: 50%;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/* ----- Main Box ----- */
|
||||
mainbox {
|
||||
padding: 12px;
|
||||
enabled: true;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "listbox" ];
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
enabled: true;
|
||||
padding: 10px 10px 50px 10px;
|
||||
margin: 10px;
|
||||
background-color: transparent;
|
||||
border-radius: 20px;
|
||||
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: @active;
|
||||
text-color: @text-selected;
|
||||
cursor: text;
|
||||
placeholder: " 🖥️ Search ";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/* ---- Listbox ---- */
|
||||
listbox {
|
||||
spacing: 10px;
|
||||
padding: 10px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 5;
|
||||
lines: 5;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: true;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
margin: 10px;
|
||||
text-color: @foreground;
|
||||
|
||||
// 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 {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
border-color: @color12;
|
||||
handle-color: @color11;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
enabled: true;
|
||||
orientation: vertical;
|
||||
padding: 10px;
|
||||
spacing: 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 3px 0px 3px;
|
||||
border-radius: 16px;
|
||||
border-color: @active;
|
||||
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 {
|
||||
size: 3%;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
size: 1%;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
margin: 10px;
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
background-color: @active;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 20px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
|
@ -0,0 +1,173 @@
|
|||
/* Rofi Style 10 - Fancy v2 */
|
||||
/* Credit to DaveDavenport & Rasmus Steinke */
|
||||
|
||||
/**
|
||||
* Edited by: Dave Davenport
|
||||
* User: Rasi
|
||||
* Copyright: Rasmus Steinke
|
||||
*/
|
||||
|
||||
/* global settings and color variables */
|
||||
* {
|
||||
blue: #A7c6E2;
|
||||
blue-trans: #A7c6e2aa;
|
||||
darkblue: #005F87;
|
||||
green: #00330088;
|
||||
black: #000000;
|
||||
grey: #444444;
|
||||
orange: #FFD391;
|
||||
dark-orange: #FFA664;
|
||||
light-grey: #F5F5F5;
|
||||
medium-grey: #D0D0D0;
|
||||
dark-grey: #002B36;
|
||||
urgent: #D75F00;
|
||||
active: #005F87;
|
||||
transparent: #000000aa;
|
||||
spacing: 0em;
|
||||
padding: 0px;
|
||||
background-color: white;
|
||||
line-style: "none";
|
||||
}
|
||||
|
||||
prompt-box {
|
||||
background-color : transparent;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color : transparent;
|
||||
text-color : white;
|
||||
}
|
||||
|
||||
window {
|
||||
border : 2px;
|
||||
border-radius : 12px;
|
||||
border-color : black;
|
||||
background-color : transparent;
|
||||
color : @grey;
|
||||
}
|
||||
mainbox {
|
||||
background-color : @blue-trans;
|
||||
color : @grey;
|
||||
spacing : 0%;
|
||||
}
|
||||
|
||||
listview {
|
||||
// Looks.
|
||||
border-radius : 10px;
|
||||
border : 5px;
|
||||
padding : 20px;
|
||||
margin : 20px 30px 30px 30px;
|
||||
background-color : @orange;
|
||||
// Enable scrollbar
|
||||
scrollbar : false;
|
||||
scrollbar-width : 5px;
|
||||
fixed-height : true;
|
||||
reverse : false;
|
||||
color : #000000;
|
||||
spacing : 0.3em;
|
||||
}
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: @blue;
|
||||
handle-color: @orange;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
element {
|
||||
border: 0px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
spacing: 0.5em;
|
||||
color: @black;
|
||||
background-color: @blue;
|
||||
children: [ element-icon, element-text ];
|
||||
}
|
||||
|
||||
element normal.normal {
|
||||
color: @black;
|
||||
background-color: @orange;
|
||||
}
|
||||
element normal.urgent {
|
||||
color: @urgent;
|
||||
background-color: @light-grey;
|
||||
}
|
||||
element normal.active {
|
||||
color: @active;
|
||||
background-color: @light-grey;
|
||||
}
|
||||
element selected.normal {
|
||||
border-radius: 0px;
|
||||
color: @black;
|
||||
background-color: @dark-orange;
|
||||
}
|
||||
element selected.urgent {
|
||||
color: @light-grey;
|
||||
background-color: @urgent;
|
||||
}
|
||||
element selected.active {
|
||||
color: @light-grey;
|
||||
background-color: @active;
|
||||
}
|
||||
element alternate.normal {
|
||||
color: @black;
|
||||
background-color: @orange;
|
||||
}
|
||||
element alternate.urgent {
|
||||
color: @urgent;
|
||||
background-color: @medium-grey;
|
||||
}
|
||||
element alternate.active {
|
||||
color: @active;
|
||||
background-color: @medium-grey;
|
||||
}
|
||||
inputbar {
|
||||
spacing : 5px;
|
||||
background-color : #88003300;
|
||||
border : 0px 0px 2px 0px;
|
||||
border-radius : 0px;
|
||||
padding : 5px 10px 5px 35px;
|
||||
background-color : #00330088;
|
||||
color : @black;
|
||||
end : false;
|
||||
}
|
||||
|
||||
separator {
|
||||
background-color : @blue;
|
||||
color : #00000000;
|
||||
}
|
||||
prompt normal.normal {
|
||||
background-color : #00000000;
|
||||
color : #ffffff;
|
||||
padding : 0px;
|
||||
}
|
||||
entry normal.normal {
|
||||
background-color : #00000000;
|
||||
color : #ffffff;
|
||||
padding : 0px;
|
||||
}
|
||||
case-indicator normal.normal {
|
||||
background-color : #00000000;
|
||||
color : #ffffff;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
message {
|
||||
margin : 30px;
|
||||
padding : 20px 30px 20px 20px;
|
||||
padding : 20px ;
|
||||
border-radius : 10px;
|
||||
border : 5px;
|
||||
}
|
||||
|
||||
prompt-colon {
|
||||
spacing : 0;
|
||||
enabled : false;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color : inherit;
|
||||
text-color : inherit;
|
||||
foreground-color : inherit;
|
||||
}
|
|
@ -0,0 +1,301 @@
|
|||
/* Rofi Style 10 - Fancy */
|
||||
/* Credit to DaveDavenport. I have only some few things changed */
|
||||
|
||||
/*******************************************************************************
|
||||
* ROFI Color theme
|
||||
* Theme designed to show off moving, packing of widgets, icons and more.
|
||||
* User: DaveDavenport
|
||||
* Copyright: DaveDavenport
|
||||
********************************************************************************/
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
* {
|
||||
selected-normal-foreground: rgba ( 248, 248, 242, 100 % );
|
||||
foreground: rgba ( 248, 248, 242, 100 % );
|
||||
normal-foreground: @foreground;
|
||||
alternate-normal-background: rgba ( 39, 40, 34, 0 % );
|
||||
selected-urgent-foreground: rgba ( 248, 248, 242, 100 % );
|
||||
urgent-foreground: rgba ( 249, 38, 114, 100 % );
|
||||
alternate-urgent-background: rgba ( 39, 40, 34, 0 % );
|
||||
active-foreground: rgba ( 166, 226, 42, 100 % );
|
||||
lightbg: rgba ( 238, 232, 213, 100 % );
|
||||
selected-active-foreground: rgba ( 166, 226, 42, 100 % );
|
||||
alternate-active-background: rgba ( 39, 40, 34, 0 % );
|
||||
background: rgba ( 39, 40, 34, 93 % );
|
||||
bordercolor: rgba ( 0, 43, 54, 100 % );
|
||||
alternate-normal-foreground: @foreground;
|
||||
normal-background: rgba ( 39, 40, 34, 0 % );
|
||||
selected-normal-background: rgba ( 20, 20, 17, 100 % );
|
||||
separatorcolor: rgba ( 230, 219, 116, 100 % );
|
||||
urgent-background: rgba ( 39, 40, 34, 0 % );
|
||||
selected-urgent-background: rgba ( 249, 38, 114, 100 % );
|
||||
alternate-urgent-foreground: @urgent-foreground;
|
||||
background-color: transparent;
|
||||
alternate-active-foreground: @active-foreground;
|
||||
active-background: rgba ( 39, 40, 34, 0 % );
|
||||
selected-active-background: rgba ( 20, 20, 17, 100 % );
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
window {
|
||||
border-color: darkgray/30%;
|
||||
background-color: black/50%;
|
||||
border: 2px;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
padding: 0.5em;
|
||||
spacing: 0px;
|
||||
|
||||
anchor: north;
|
||||
location: center;
|
||||
y-offset: -15.5em;
|
||||
|
||||
|
||||
children: [ inputbar, message, wrapper-mode-switcher, listview , pagerbox ];
|
||||
}
|
||||
|
||||
pagerbox {
|
||||
expand: false;
|
||||
orientation: horizontal;
|
||||
children: [ icon-left, pad, icon-right ];
|
||||
}
|
||||
|
||||
pad {
|
||||
expand: true;
|
||||
}
|
||||
|
||||
icon-left {
|
||||
expand: false;
|
||||
filename: "go-previous";
|
||||
size: 24;
|
||||
vertical-align: 0.5;
|
||||
action: "kb-page-prev";
|
||||
}
|
||||
|
||||
icon-right {
|
||||
expand: false;
|
||||
filename: "go-next";
|
||||
size: 24;
|
||||
vertical-align: 0.5;
|
||||
action: "kb-page-next";
|
||||
}
|
||||
|
||||
wrapper-mode-switcher {
|
||||
orientation: horizontal;
|
||||
|
||||
expand: false;
|
||||
spacing: 0;
|
||||
children: [ icon-ms-ic1, mode-switcher, icon-ms-ic2 ];
|
||||
}
|
||||
icon-ms-ic1 {
|
||||
filename: "go-previous";
|
||||
}
|
||||
icon-ms-ic2 {
|
||||
filename: "go-next";
|
||||
}
|
||||
icon-ms-ic1,icon-ms-ic2 {
|
||||
size: 16;
|
||||
vertical-align: 0.8;
|
||||
expand: false;
|
||||
border: 0px 0px 2px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
border: 0px;
|
||||
spacing: 0px;
|
||||
expand: true;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 2px;
|
||||
border: 0px 0px 2px ;
|
||||
border-color: @separatorcolor;
|
||||
text-color: dimgrey;
|
||||
}
|
||||
button selected.normal {
|
||||
text-color: white;
|
||||
background-color: black/50%;
|
||||
|
||||
border: 2px 2px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
border-radius: 10px 10px 0 0;
|
||||
}
|
||||
|
||||
|
||||
sidebar {
|
||||
expand: false;
|
||||
}
|
||||
|
||||
message {
|
||||
text-color: black;
|
||||
background-color: lightgrey / 50%;
|
||||
border-color: grey;
|
||||
border: 2px;
|
||||
border-radius: 5px;
|
||||
padding: 4px;
|
||||
margin: 0px 0px 0.5em;
|
||||
expand: false;
|
||||
}
|
||||
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 2;
|
||||
lines: 10;
|
||||
spacing: 2px ;
|
||||
scrollbar: false;
|
||||
padding: 0.5em;
|
||||
background-color: black/50%;
|
||||
|
||||
expand: true;
|
||||
border: 0px 2px 2px ;
|
||||
border-color: @separatorcolor;
|
||||
border-radius: 0px 0px 10px 10px;
|
||||
}
|
||||
element {
|
||||
border: 1;
|
||||
border-color: transparent;
|
||||
padding: 4px ;
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
element.normal.normal {
|
||||
background-color: @normal-background;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
element.normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
element.normal.active {
|
||||
background-color: @active-background;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
element.selected.normal {
|
||||
border: 1;
|
||||
border-color: grey/80%;
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
element.selected.urgent {
|
||||
border: 1;
|
||||
border-color: grey/80%;
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
element.selected.active {
|
||||
border: 1;
|
||||
border-color: grey/80%;
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
element.alternate.normal {
|
||||
background-color: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
element.alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
element.alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: @selected-normal-background;
|
||||
handle-color: @separatorcolor;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
sidebar {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @separatorcolor;
|
||||
}
|
||||
inputbar {
|
||||
text-color: @normal-foreground;
|
||||
padding: 0px 0px 0.5em;
|
||||
children: [ wrapper ];
|
||||
}
|
||||
case-indicator {
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
|
||||
wrapper {
|
||||
orientation: horizontal;
|
||||
text-color: black;
|
||||
background-color: white / 75%;
|
||||
border-color: grey;
|
||||
border: 2px;
|
||||
border-radius: 5px;
|
||||
padding: 4px;
|
||||
children: [ icon-k, entry, icon-paste];
|
||||
spacing: 0.5em;
|
||||
}
|
||||
button-paste {
|
||||
expand: false;
|
||||
str: "gtk-paste";
|
||||
size: 24;
|
||||
vertical-align: 0.5;
|
||||
action: "kb-cancel";
|
||||
}
|
||||
icon-paste {
|
||||
expand: false;
|
||||
filename: "gtk-paste";
|
||||
size: 24;
|
||||
vertical-align: 0.5;
|
||||
action: "kb-primary-paste";
|
||||
}
|
||||
icon-k {
|
||||
expand: false;
|
||||
filename: "input-keyboard";
|
||||
size: 24;
|
||||
vertical-align: 0.5;
|
||||
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
expand: true;
|
||||
background-color: white / 75%;
|
||||
placeholder: " 🖥️ Search ";
|
||||
vertical-align: 0.5;
|
||||
border-radius: 5px;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
|
||||
/*****----- Message -----*****/
|
||||
error-message {
|
||||
background-color: darkred/20%;
|
||||
border-radius: 10px;
|
||||
border: 2px;
|
||||
|
||||
}
|
||||
textbox {
|
||||
padding: 5px;
|
||||
background-color: darkred/10%;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
/* Rofi Style 11 - Windows 11 List Dark */
|
||||
/* source: https://github.com/newmanls */
|
||||
|
||||
/* Integrating Wallust and More tweaks */
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
dpi: 1;
|
||||
show-icons: true;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
bg0 : black/50%;
|
||||
bg1 : black/40%;
|
||||
bg2 : black/10%;
|
||||
bg3 : black;
|
||||
fg0 : #ffffff;
|
||||
fg1 : #cecece;
|
||||
accent : #60cdff;
|
||||
urgent : @accent;
|
||||
|
||||
background-color : transparent;
|
||||
text-color : @fg0;
|
||||
|
||||
margin : 0;
|
||||
padding : 0;
|
||||
spacing : 0;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
element-icon, element-text, scrollbar {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
window {
|
||||
location : south;
|
||||
width : 40%;
|
||||
height : 50%;
|
||||
y-offset : -10px;
|
||||
|
||||
background-color : @bg1;
|
||||
border-radius : 8px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
padding : 24px;
|
||||
spacing : 24px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding : 8px;
|
||||
spacing : 4px;
|
||||
children : [ icon-search, entry ];
|
||||
border : 0 0 2px 0 solid;
|
||||
border-color : @accent;
|
||||
border-radius : 2px;
|
||||
background-color : @bg0;
|
||||
}
|
||||
|
||||
icon-search, entry, element-icon, element-text {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
icon-search {
|
||||
expand : false;
|
||||
filename : "search-symbolic";
|
||||
size : 24px;
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder : "Search 👀 NOTE: CTRL TAB to change MODE";
|
||||
text-color : @fg1;
|
||||
horizontal-align : 0.5;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns : 2;
|
||||
spacing : 8px;
|
||||
fixed-height : true;
|
||||
fixed-columns : true;
|
||||
}
|
||||
|
||||
element {
|
||||
spacing : 1em;
|
||||
padding : 8px;
|
||||
border-radius : 2px;
|
||||
}
|
||||
|
||||
element normal urgent {
|
||||
text-color: @urgent;
|
||||
}
|
||||
|
||||
element normal active {
|
||||
text-color: @accent;
|
||||
}
|
||||
|
||||
element alternate active {
|
||||
text-color: @accent;
|
||||
}
|
||||
|
||||
element selected active {
|
||||
text-color: @accent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @bg3;
|
||||
}
|
||||
|
||||
element selected urgent {
|
||||
background-color: @urgent;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
}
|
||||
|
||||
element-text {
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: inherit;
|
||||
handle-color: @accent;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
error-message {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
textbox {
|
||||
padding : 10px;
|
||||
background-color : @bg0;
|
||||
text-color : @fg0;
|
||||
vertical-align : 0.5;
|
||||
horizontal-align : 0.5;
|
||||
}
|
|
@ -0,0 +1,150 @@
|
|||
/* Rofi Style 11 - Windows 11 List Light */
|
||||
/* source: https://github.com/newmanls */
|
||||
|
||||
/* Integrating Wallust and More tweaks */
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
dpi: 1;
|
||||
show-icons: true;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
bg0 : #ffffff80;
|
||||
bg1 : #f9f9f9bf;
|
||||
bg2 : #f7f7f7;
|
||||
bg3 : #fefefebf;
|
||||
fg0 : #1a1a1a;
|
||||
fg1 : #5f5f5f;
|
||||
accent : #005fb8;
|
||||
urgent : @accent;
|
||||
|
||||
background-color : transparent;
|
||||
text-color : @fg0;
|
||||
|
||||
margin : 0;
|
||||
padding : 0;
|
||||
spacing : 0;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
element-icon, element-text, scrollbar {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
window {
|
||||
location : south;
|
||||
width : 40%;
|
||||
height : 50%;
|
||||
y-offset : -10px;
|
||||
|
||||
background-color : @bg1;
|
||||
border-radius : 8px;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
padding : 24px;
|
||||
spacing : 24px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
padding : 8px;
|
||||
spacing : 4px;
|
||||
children : [ icon-search, entry ];
|
||||
border : 0 0 2px 0 solid;
|
||||
border-color : @accent;
|
||||
border-radius : 2px;
|
||||
background-color : @bg0;
|
||||
}
|
||||
|
||||
icon-search, entry, element-icon, element-text {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
icon-search {
|
||||
expand : false;
|
||||
filename : "search-symbolic";
|
||||
size : 24px;
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder : "Search 👀 NOTE: CTRL TAB to change MODE";
|
||||
text-color : @fg1;
|
||||
horizontal-align : 0.5;
|
||||
}
|
||||
|
||||
listview {
|
||||
columns : 2;
|
||||
spacing : 8px;
|
||||
fixed-height : true;
|
||||
fixed-columns : true;
|
||||
}
|
||||
|
||||
element {
|
||||
spacing : 1em;
|
||||
padding : 8px;
|
||||
border-radius : 2px;
|
||||
}
|
||||
|
||||
element normal urgent {
|
||||
text-color: @urgent;
|
||||
}
|
||||
|
||||
element normal active {
|
||||
text-color: @accent;
|
||||
}
|
||||
|
||||
element alternate active {
|
||||
text-color: @accent;
|
||||
}
|
||||
|
||||
element selected active {
|
||||
text-color: @accent;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @bg3;
|
||||
}
|
||||
|
||||
element selected urgent {
|
||||
background-color: @urgent;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 1.5em;
|
||||
}
|
||||
|
||||
element-text {
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: inherit;
|
||||
handle-color: @accent;
|
||||
handle-width: 1px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
error-message {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
textbox {
|
||||
padding : 10px;
|
||||
background-color : @bg0;
|
||||
text-color : @fg0;
|
||||
vertical-align : 0.5;
|
||||
horizontal-align : 0.5;
|
||||
}
|
|
@ -0,0 +1,158 @@
|
|||
/* Rofi Style 12 - TOP - Docu */
|
||||
/* Credit to DaveDavenport. I have only some few things changed */
|
||||
|
||||
/**
|
||||
* ROFI Documentation theme.
|
||||
* User: Qball
|
||||
* Copyright: Dave Davenport
|
||||
*/
|
||||
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " ";
|
||||
display-run: " ";
|
||||
display-filebrowser: " ";
|
||||
display-window: " ";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Global Properties ---- */
|
||||
* {
|
||||
background-color: transparent;
|
||||
text-color: white;
|
||||
}
|
||||
entry {
|
||||
border: 2px 0px;
|
||||
border-color: darkgrey;
|
||||
background-color: grey;
|
||||
padding: 4px;
|
||||
placeholder: "🔎 Search";
|
||||
placeholder-color: darkgrey;
|
||||
cursor: text;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
|
||||
}
|
||||
inputbar {
|
||||
spacing: 0;
|
||||
children: [ icon-keyboard, entry, mode-switcher ];
|
||||
}
|
||||
|
||||
mode-switcher {
|
||||
spacing: 10px;
|
||||
border: 2px;
|
||||
border-radius: 0px 4px 4px 0px;
|
||||
border-color: darkgrey;
|
||||
background-color: darkgrey;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 0px 60px 0px 60px;
|
||||
background-color: grey;
|
||||
border-color: darkgrey;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: white/20%;
|
||||
text-color: black;
|
||||
}
|
||||
|
||||
icon-keyboard {
|
||||
border: 2px 0px 2px 2px;
|
||||
border-radius: 4px 0px 0px 4px;
|
||||
border-color: darkgrey;
|
||||
background-color: grey;
|
||||
padding: 0px 10px 0px 10px;
|
||||
expand: false;
|
||||
size: 1.2em;
|
||||
filename: "keyboard";
|
||||
}
|
||||
|
||||
window {
|
||||
anchor: north;
|
||||
location: north;
|
||||
width: 100%;
|
||||
background-color: black / 50%;
|
||||
padding: 0.5em;
|
||||
border-color: black;
|
||||
border: 0em 0.2em 0.2em;
|
||||
chilren: [ inputbar, message, listview ];
|
||||
}
|
||||
|
||||
mainbox {
|
||||
spacing: 1em;
|
||||
}
|
||||
|
||||
|
||||
listview {
|
||||
lines: 4;
|
||||
columns: 6;
|
||||
spacing: 1em;
|
||||
fixed-columns: true;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: vertical;
|
||||
border: 2px;
|
||||
border-radius: 4px ;
|
||||
border-color: darkgrey;
|
||||
background-color: grey;
|
||||
cursor: pointer;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: white/20%;
|
||||
text-color: black;
|
||||
}
|
||||
|
||||
|
||||
element-icon {
|
||||
size: 5%;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
element-text {
|
||||
horizontal-align: 0.5;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
handle-color: darkgrey;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
margin: 10px;
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
background-color: black / 50%;
|
||||
text-color: white;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 20px;
|
||||
background-color: black / 50%;
|
||||
text-color: white;
|
||||
}
|
|
@ -0,0 +1,190 @@
|
|||
|
||||
/* Source: https://github.com/adi1090x/rofi */
|
||||
|
||||
|
||||
/* ****----- Configuration -----**** */
|
||||
configuration {
|
||||
modi: "drun,filebrowser,window";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
|
||||
}
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 60%;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border-radius: 12px;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 20px;
|
||||
margin: 10px;
|
||||
padding: 20px;
|
||||
border-radius: 12px;
|
||||
background-color: black/90%;
|
||||
children: [ "inputbar", "mode-switcher", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px 0px 10px 0px;
|
||||
border: 0px 0px 2px 0px;
|
||||
border-radius: 0px;
|
||||
border-color: gray/20%;
|
||||
background-color: black/50%;
|
||||
children: [ "entry" ];
|
||||
}
|
||||
|
||||
entry {
|
||||
enabled: true;
|
||||
background-color: black/50%;
|
||||
text-color: white/75%;
|
||||
cursor: text;
|
||||
placeholder: "Type to search";
|
||||
placeholder-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 3;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 40px;
|
||||
margin: 0px;
|
||||
padding: 20px 0px 0px 0px;
|
||||
border: 0px solid;
|
||||
background-color: transparent;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 1px;
|
||||
border-radius: 10px;
|
||||
background-color: inherit;
|
||||
handle-color: #719DF9;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 15px;
|
||||
border: 1px solid;
|
||||
border-radius: 8px;
|
||||
border-color: white/30%;
|
||||
background-color: black;
|
||||
text-color: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.active {
|
||||
background-color: #67FF80;
|
||||
text-color: black;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: #c19419;
|
||||
text-color: black;
|
||||
}
|
||||
element selected.active {
|
||||
background-color: #FF7F7C;
|
||||
text-color: white;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
size: 48px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Mode Switcher -----*****/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
expand: false;
|
||||
spacing: 20px;
|
||||
margin: 0px 10%;
|
||||
background-color: transparent;
|
||||
text-color: white;
|
||||
}
|
||||
button {
|
||||
padding: 6px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
background-color: #719DF9;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: #F37277;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
error-message {
|
||||
padding: 20px;
|
||||
}
|
||||
textbox {
|
||||
padding: 10px;
|
||||
background-color: #719DF9;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,191 @@
|
|||
/* credit: https://github.com/adi1090x/rofi */
|
||||
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun,filebrowser,window";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
|
||||
}
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 60%;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border-radius: 12px;
|
||||
cursor: "default";
|
||||
background-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 20px;
|
||||
margin: 10px;
|
||||
padding: 20px;
|
||||
border-radius: 12px;
|
||||
background-color: white/90%;
|
||||
children: [ "inputbar", "mode-switcher", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px 10px 10px 0px;
|
||||
border: 0px 0px 2px 0px;
|
||||
border-radius: 0px;
|
||||
border-color: gray/20%;
|
||||
background-color: transparent;
|
||||
children: [ "entry" ];
|
||||
}
|
||||
|
||||
entry {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: black;
|
||||
cursor: text;
|
||||
placeholder: "Type to search";
|
||||
placeholder-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 3;
|
||||
lines: 3;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 40px;
|
||||
margin: 0px;
|
||||
padding: 20px 0px 0px 0px;
|
||||
border: 0px solid;
|
||||
background-color: transparent;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
handle-color: gray/50%;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 15px;
|
||||
border: 1px solid;
|
||||
border-radius: 8px;
|
||||
border-color: gray/30%;
|
||||
background-color: white;
|
||||
text-color: black;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.active {
|
||||
background-color: #67FF80;
|
||||
text-color: black;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: #FDD66F;
|
||||
text-color: black;
|
||||
}
|
||||
element selected.active {
|
||||
background-color: #FF7F7C;
|
||||
text-color: black;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
size: 48px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Mode Switcher -----*****/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
expand: false;
|
||||
spacing: 20px;
|
||||
margin: 0px 10%;
|
||||
background-color: transparent;
|
||||
text-color: white;
|
||||
}
|
||||
button {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 10";
|
||||
padding: 6px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
background-color: #719DF9;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: #F37277;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
error-message {
|
||||
padding: 20px;
|
||||
}
|
||||
textbox {
|
||||
padding: 10px;
|
||||
background-color: #719DF9;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
|
@ -0,0 +1,255 @@
|
|||
/* Style 3 - Full screen v1 */
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- 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;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/* ---- Global Properties ---- */
|
||||
* {
|
||||
main-bg: @background;
|
||||
main-fg: @foreground;
|
||||
main-br: @color12;
|
||||
main-ex: @color11;
|
||||
select-bg: @foreground;
|
||||
select-fg: @background;
|
||||
separatorcolor: transparent;
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
// Default
|
||||
enabled: true;
|
||||
fullscreen: true;
|
||||
transparency: "real";
|
||||
cursor: "default";
|
||||
spacing: 0px;
|
||||
border: 3px 0px 3px 0px;
|
||||
border-radius: 30px;
|
||||
location: center;
|
||||
anchor: center;
|
||||
|
||||
// Style Values
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/* ----- Main Box ----- */
|
||||
mainbox {
|
||||
padding: 12px;
|
||||
enabled: true;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "listbox" ];
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
enabled: true;
|
||||
padding: 10px 10px 50px 10px;
|
||||
margin: 10px;
|
||||
background-color: transparent;
|
||||
border-radius: 20px;
|
||||
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 ";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/* ---- Listbox ---- */
|
||||
listbox {
|
||||
spacing: 10px;
|
||||
padding: 10px;
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 5;
|
||||
lines: 5;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: true;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
margin: 10px;
|
||||
|
||||
// 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 {
|
||||
border: 0px;
|
||||
handle-color: @background-alt;
|
||||
handle-width: 2px ;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
enabled: true;
|
||||
orientation: vertical;
|
||||
padding: 10px;
|
||||
spacing: 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 3px 0px 3px;
|
||||
border-radius: 16px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @background-alt;
|
||||
}
|
||||
|
||||
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 {
|
||||
size: 5%;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
margin: 10px;
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 20px;
|
||||
background-color: @background-alt;
|
||||
text-color: @background;
|
||||
}
|
|
@ -0,0 +1,216 @@
|
|||
/* Rofi Style 3 - Full screen v2 */
|
||||
/* credit: https://github.com/adi1090x/rofi */
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
display-ssh: " SSH";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Load wallust colors ---- */
|
||||
@theme "~/.config/rofi/wallust/colors-rofi.rasi"
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
background-alt: @color7;
|
||||
selected: @color12;
|
||||
active: @color11;
|
||||
urgent: red;
|
||||
|
||||
border-color: @selected;
|
||||
handle-color: @selected;
|
||||
background-color: @background;
|
||||
foreground-color: @foreground;
|
||||
alternate-background: @background-alt;
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
urgent-background: @urgent;
|
||||
urgent-foreground: @background;
|
||||
active-background: @active;
|
||||
active-foreground: @background;
|
||||
selected-normal-background: @selected;
|
||||
selected-normal-foreground: @background;
|
||||
selected-urgent-background: @active;
|
||||
selected-urgent-foreground: @background;
|
||||
selected-active-background: @urgent;
|
||||
selected-active-foreground: @background;
|
||||
alternate-normal-background: @background;
|
||||
alternate-normal-foreground: @foreground;
|
||||
alternate-urgent-background: @urgent;
|
||||
alternate-urgent-foreground: @background;
|
||||
alternate-active-background: @active;
|
||||
alternate-active-foreground: @background;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: true;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: black / 10%;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 100px;
|
||||
margin: 0px;
|
||||
padding: 100px 225px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0% 28%;
|
||||
padding: 10px;
|
||||
border: 1px solid;
|
||||
border-radius: 6px;
|
||||
border-color: white / 25%;
|
||||
background-color: white / 5%;
|
||||
text-color: @foreground;
|
||||
children: [ "prompt", "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "::";
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: text;
|
||||
placeholder: " Search 👀 NOTE: CTRL TAB to change MODE";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 7;
|
||||
lines: 4;
|
||||
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: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 2px ;
|
||||
handle-color: @selected;
|
||||
border-radius: 0px;
|
||||
background-color: @background-alt;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 35px 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 15px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
orientation: vertical;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: white / 10%;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 72px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
error-message {
|
||||
padding: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
padding: 20px;
|
||||
border-radius: 15px;
|
||||
background-color: white / 10%;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
highlight: none;
|
||||
}
|
|
@ -0,0 +1,326 @@
|
|||
/* Rofi Style 4 */
|
||||
/* credit: https://github.com/adi1090x/rofi */
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Load wallust colors ---- */
|
||||
@theme "~/.config/rofi/wallust/colors-rofi.rasi"
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
background-alt: @color1;
|
||||
selected: @color12;
|
||||
active: @color11;
|
||||
urgent: #F7768E;
|
||||
|
||||
border-color: @color11;
|
||||
handle-color: @selected;
|
||||
background-color: @background;
|
||||
foreground-color: @foreground;
|
||||
alternate-background: @background-alt;
|
||||
normal-background: @background;
|
||||
normal-foreground: @foreground;
|
||||
urgent-background: @urgent;
|
||||
urgent-foreground: @background;
|
||||
active-background: @active;
|
||||
active-foreground: @background;
|
||||
selected-normal-background: @selected;
|
||||
selected-normal-foreground: @background;
|
||||
selected-urgent-background: @active;
|
||||
selected-urgent-foreground: @background;
|
||||
selected-active-background: @urgent;
|
||||
selected-active-foreground: @color12;
|
||||
alternate-normal-background: @background;
|
||||
alternate-normal-foreground: @foreground;
|
||||
alternate-urgent-background: @urgent;
|
||||
alternate-urgent-foreground: @background;
|
||||
alternate-active-background: @active;
|
||||
alternate-active-foreground: @background;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
/* properties for window widget */
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 35%;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
/* properties for all widgets */
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 10px;
|
||||
border-color: @border-color;
|
||||
cursor: "default";
|
||||
/* Backgroud Colors */
|
||||
background-color: @background-color;
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 20px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @border-color;
|
||||
background-color: inherit;
|
||||
children: [ "inputbar", "message", "custombox" ];
|
||||
}
|
||||
|
||||
/*****----- A Custom Box -----*****/
|
||||
custombox {
|
||||
spacing: 0px;
|
||||
background-color: @background-color;
|
||||
text-color: @foreground-color;
|
||||
orientation: horizontal;
|
||||
children: [ "mode-switcher", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 8px 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 8px;
|
||||
border-color: @border-color;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground;
|
||||
children: [ "textbox-prompt-colon", "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
padding: 5px 0px;
|
||||
expand: false;
|
||||
str: " 🔎";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 5px 0px;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground;
|
||||
cursor: text;
|
||||
placeholder: "Search...";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
num-filtered-rows {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
textbox-num-sep {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: "/";
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
num-rows {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
case-indicator {
|
||||
enabled: true;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 1;
|
||||
lines: 6;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 5px;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 2px 2px 2px 2px;
|
||||
border-radius: 8px;
|
||||
border-color: @border-color;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-color;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 2px ;
|
||||
handle-color: @handle-color;
|
||||
border-radius: 10px;
|
||||
background-color: @alternate-background;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 10px;
|
||||
border: 0px solid;
|
||||
border-radius: 8px;
|
||||
border-color: @border-color;
|
||||
background-color: transparent;
|
||||
text-color: @foreground-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: transparent;
|
||||
text-color: @normal-foreground;
|
||||
}
|
||||
element normal.urgent {
|
||||
background-color: @urgent-background;
|
||||
text-color: @urgent-foreground;
|
||||
}
|
||||
element normal.active {
|
||||
background-color: transparent;
|
||||
text-color: @active-foreground;
|
||||
}
|
||||
element selected.normal {
|
||||
background-color: @selected-normal-background;
|
||||
text-color: @selected-normal-foreground;
|
||||
}
|
||||
element selected.urgent {
|
||||
background-color: @selected-urgent-background;
|
||||
text-color: @selected-urgent-foreground;
|
||||
}
|
||||
element selected.active {
|
||||
background-color: @selected-active-background;
|
||||
text-color: @selected-active-foreground;
|
||||
}
|
||||
element alternate.normal {
|
||||
background-color: @alternate-normal-background;
|
||||
text-color: @alternate-normal-foreground;
|
||||
}
|
||||
element alternate.urgent {
|
||||
background-color: @alternate-urgent-background;
|
||||
text-color: @alternate-urgent-foreground;
|
||||
}
|
||||
element alternate.active {
|
||||
background-color: @alternate-active-background;
|
||||
text-color: @alternate-active-foreground;
|
||||
}
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Mode Switcher -----*****/
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
expand: false;
|
||||
orientation: vertical;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 8px 0px 0px 8px;
|
||||
border-color: @border-color;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-color;
|
||||
}
|
||||
button {
|
||||
padding: 0px 20px 0px 20px;
|
||||
border: 0px 0px 0px 0px;
|
||||
border-radius: 8px;
|
||||
border-color: @border-color;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
border: 2px 0px 2px 2px;
|
||||
border-radius: 6px;
|
||||
border-color: @border-color;
|
||||
background-color: @selected-normal-foreground;
|
||||
text-color: @selected-normal-background;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
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: 12px;
|
||||
border: 0px solid;
|
||||
border-radius: 8px;
|
||||
border-color: @border-color;
|
||||
background-color: @alternate-background;
|
||||
text-color: @foreground-color;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
highlight: none;
|
||||
placeholder-color: @foreground-color;
|
||||
blink: true;
|
||||
markup: true;
|
||||
}
|
||||
error-message {
|
||||
padding: 10px;
|
||||
border: 2px solid;
|
||||
border-radius: 8px;
|
||||
border-color: @border-color;
|
||||
background-color: @background-color;
|
||||
text-color: @foreground-color;
|
||||
}
|
|
@ -0,0 +1,271 @@
|
|||
/* Rofi Style 5 */
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " ";
|
||||
display-run: " ";
|
||||
display-filebrowser: " ";
|
||||
display-window: " ";
|
||||
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: @color1;
|
||||
selected: @color12;
|
||||
active: @color11;
|
||||
urgent: red;
|
||||
|
||||
text-selected: @background;
|
||||
text-color: @foreground;
|
||||
border-color: @selected;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 800px;
|
||||
/*height: 450px;*/
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
spacing: 0px;
|
||||
padding: 1px;
|
||||
margin: 0px;
|
||||
border: 2px;
|
||||
border-color: @active-background;
|
||||
cursor: "default";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
enabled: true;
|
||||
border-radius: 12px;
|
||||
background-color: @background-color;
|
||||
}
|
||||
|
||||
/* ---- Mainbox ---- */
|
||||
mainbox {
|
||||
enabled: true;
|
||||
orientation: vertical;
|
||||
padding: 8px;
|
||||
background-image: url("~/.config/rofi/.current_wallpaper", width);
|
||||
children: [ "inputbar", "listbox" ];
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/* ---- Imagebox ---- */
|
||||
imagebox {
|
||||
background-color: transparent;
|
||||
orientation: vertical;
|
||||
/*children: [ "inputbar"];*/
|
||||
}
|
||||
|
||||
/* ---- Listbox ---- */
|
||||
listbox {
|
||||
spacing: 4px;
|
||||
orientation: vertical;
|
||||
children: [ "message", "listview" ];
|
||||
padding: 10px;
|
||||
border-radius: 12px;
|
||||
border: 1px;
|
||||
border-color: @active-background;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/* ---- Dummy ---- */
|
||||
dummy {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
enabled: true;
|
||||
text-color: @foreground;
|
||||
spacing: 10px;
|
||||
border-radius: 12px;
|
||||
border-color: @foreground;
|
||||
background-color: @background;
|
||||
children: [ "mode-switcher", "textbox-prompt-colon", "entry" ];
|
||||
border: 1px;
|
||||
border-color: @active-background;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
padding: 10px 0px 10px 10px;
|
||||
expand: false;
|
||||
str: "🐧";
|
||||
text-color: inherit;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 10px 0px 10px 0px;
|
||||
text-color: @foreground;
|
||||
cursor: text;
|
||||
placeholder: " Search";
|
||||
placeholder-color: inherit;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/* ---- Mode Switcher ---- */
|
||||
mode-switcher{
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
button {
|
||||
padding: 2px 24px 2px 24px;
|
||||
border-radius: 12px;
|
||||
background-color: @background;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
border: 1px;
|
||||
border-color: @active-background;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @selected;
|
||||
text-color: @foreground;
|
||||
border: 1px;
|
||||
border-color: transparent;
|
||||
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 2;
|
||||
lines: 6;
|
||||
spacing: 5px;
|
||||
padding: 6px;
|
||||
dynamic: true;
|
||||
cycle: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: false;
|
||||
background-color: @background;
|
||||
border-radius: 12px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
handle-color: @active;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* ---- Element ---- */
|
||||
element {
|
||||
enabled: true;
|
||||
padding: 5px;
|
||||
margin: 2px;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
border-radius: 12px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element normal.normal {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element normal.urgent {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element normal.active {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @active;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element selected.urgent {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element selected.active {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element alternate.normal {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element alternate.urgent {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element alternate.active {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 32px;
|
||||
cursor: inherit;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 12px;
|
||||
background-color: @background-alt;
|
||||
text-color: @background;
|
||||
}
|
|
@ -0,0 +1,241 @@
|
|||
|
||||
/* Rofi Style 6 */
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
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: @color1;
|
||||
selected: @color12;
|
||||
active: @color11;
|
||||
urgent: red;
|
||||
|
||||
text-selected: @background;
|
||||
text-color: @foreground;
|
||||
border-color: @selected;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/* ---- 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: #00000099;
|
||||
}
|
||||
|
||||
/* ----- Main Box ----- */
|
||||
mainbox {
|
||||
enabled: true;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar", "listbox" ];
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
enabled: true;
|
||||
padding: 10px 10px 150px 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: 300px;
|
||||
padding: 10px;
|
||||
border-radius: 12px;
|
||||
background-color: @background;
|
||||
text-color: inherit;
|
||||
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: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
spacing: 10px;
|
||||
padding: 10px;
|
||||
background-color: transparent;
|
||||
|
||||
// Adapt rofi theme
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
handle-color: @active;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
/* ---- 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: @background;
|
||||
text-color: inherit;
|
||||
cursor: pointer;
|
||||
}
|
||||
button selected {
|
||||
background-color: @active;
|
||||
text-color: @text-selected;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
padding: 4px;
|
||||
border-radius: 10px;
|
||||
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 {
|
||||
background-color: @color11;
|
||||
text-color: @text-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;
|
||||
size: 36px;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: @background;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
margin: 10px;
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
background-color: @active;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 20px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
|
@ -0,0 +1,199 @@
|
|||
/* Rofi Style 7 */
|
||||
|
||||
/* original design from: https://github.com/adi1090x/rofi */
|
||||
|
||||
/*****----- Configuration -----*****/
|
||||
configuration {
|
||||
modi: "drun,run,filebrowser,window";
|
||||
show-icons: true;
|
||||
display-drun: " ";
|
||||
display-run: " ";
|
||||
display-filebrowser: " ";
|
||||
display-window: " ";
|
||||
drun-display-format: "{name}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Load wallust colors ---- */
|
||||
@theme "~/.config/rofi/wallust/colors-rofi.rasi"
|
||||
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
background-alt: @color1;
|
||||
selected: @color12;
|
||||
active: @color11;
|
||||
urgent: #8E3596;
|
||||
}
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/*****----- Main Window -----*****/
|
||||
window {
|
||||
transparency: "real";
|
||||
location: center;
|
||||
anchor: center;
|
||||
fullscreen: false;
|
||||
width: 40%;
|
||||
x-offset: 0px;
|
||||
y-offset: 0px;
|
||||
|
||||
enabled: true;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 20px;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
cursor: "default";
|
||||
}
|
||||
|
||||
/*****----- Main Box -----*****/
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 15px;
|
||||
margin: 40px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px 0px 0px 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
children: [ "inputbar", "message", "listview" ];
|
||||
}
|
||||
|
||||
/*****----- Inputbar -----*****/
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 0px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 100%;
|
||||
border-color: @selected;
|
||||
background-color: @background-alt;
|
||||
text-color: @foreground;
|
||||
children: [ "entry" ];
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 15px;
|
||||
border-radius: 100%;
|
||||
background-color: @selected;
|
||||
text-color: @background;
|
||||
}
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: ":::";
|
||||
padding: 15px;
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
entry {
|
||||
enabled: true;
|
||||
padding: 15px 0px;
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
cursor: text;
|
||||
placeholder: "Search... 👀 NOTE: CTRL TAB to change MODE";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/*****----- Listview -----*****/
|
||||
listview {
|
||||
enabled: true;
|
||||
columns: 2;
|
||||
lines: 6;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: false;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
|
||||
spacing: 15px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
cursor: "default";
|
||||
}
|
||||
scrollbar {
|
||||
handle-width: 2px ;
|
||||
handle-color: @selected;
|
||||
border-radius: 0px;
|
||||
background-color: @background-alt;
|
||||
}
|
||||
|
||||
/*****----- Elements -----*****/
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 10px;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
border: 0px solid;
|
||||
border-radius: 0px;
|
||||
border-color: @selected;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
orientation: horizontal;
|
||||
cursor: pointer;
|
||||
}
|
||||
element normal.normal {
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element selected.normal {
|
||||
border-radius: 10%;
|
||||
background-color: @color11;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element-icon {
|
||||
padding: 0px;
|
||||
border-radius: 100%;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
size: 5%;
|
||||
cursor: inherit;
|
||||
}
|
||||
element-text {
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
highlight: inherit;
|
||||
cursor: inherit;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
error-message {
|
||||
padding: 20px;
|
||||
border: 2px solid;
|
||||
border-radius: 20px;
|
||||
border-color: @active;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
textbox {
|
||||
padding: 10px;
|
||||
border-radius: 20px;
|
||||
background-color: @selected;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
highlight: none;
|
||||
}
|
|
@ -0,0 +1,241 @@
|
|||
/* Rofi Style 8 */
|
||||
|
||||
|
||||
/* ---- Configuration ---- */
|
||||
configuration {
|
||||
modi: "drun,filebrowser,window,run";
|
||||
show-icons: true;
|
||||
display-drun: " apps";
|
||||
display-run: " term";
|
||||
display-filebrowser: " files";
|
||||
display-window: " window";
|
||||
drun-display-format: "{name}";
|
||||
window-format: "{w} · {c} · {t}";
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Load wallust colors ---- */
|
||||
@theme "~/.config/rofi/wallust/colors-rofi.rasi"
|
||||
|
||||
/* ---- Global Properties ---- */
|
||||
* {
|
||||
|
||||
border-width: 2px;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
width: 50%;
|
||||
transparency: "real";
|
||||
fullscreen: false;
|
||||
enabled: true;
|
||||
cursor: "default";
|
||||
spacing: 0em;
|
||||
padding: 0em;
|
||||
border: @border-width;
|
||||
border-color: @color12;
|
||||
border-radius: @border-radius;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
padding: 0em;
|
||||
orientation: vertical;
|
||||
children: [ "inputbar" , "mode-switcher", "message", "listbox" ];
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Inputbar ---- */
|
||||
inputbar {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
padding: 4em;
|
||||
children: [ "textbox-prompt-colon", "entry" ];
|
||||
background-color: transparent;
|
||||
background-image: url("~/.config/rofi/.current_wallpaper", width);
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
enabled: true;
|
||||
expand: false;
|
||||
str: " ➡️";
|
||||
padding: 1em 0.2em 0em 0em;
|
||||
text-color: @foreground;
|
||||
border-radius: 2em 0em 0em 2em;
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
entry {
|
||||
enabled: true;
|
||||
border-radius: 0em 2em 2em 0em;
|
||||
spacing: 1em;
|
||||
padding: 1em;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
cursor: text;
|
||||
placeholder: " Search";
|
||||
placeholder-color: inherit;
|
||||
}
|
||||
|
||||
/* ---- Listbox ---- */
|
||||
listbox {
|
||||
padding: 0em;
|
||||
spacing: 0em;
|
||||
orientation: horizontal;
|
||||
children: [ "listview" ];
|
||||
background-color: @background;
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
padding: 0.5em;
|
||||
spacing: 0.5em;
|
||||
enabled: true;
|
||||
columns: 2;
|
||||
lines: 4;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
scrollbar: true;
|
||||
layout: vertical;
|
||||
reverse: false;
|
||||
fixed-height: true;
|
||||
fixed-columns: true;
|
||||
cursor: "default";
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Mode Switcher ---- */
|
||||
mode-switcher {
|
||||
orientation: horizontal;
|
||||
width: 2em;
|
||||
enabled: true;
|
||||
padding: 1em;
|
||||
spacing: 1em;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
button {
|
||||
cursor: pointer;
|
||||
border-radius: 2em;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
button selected {
|
||||
background-color: @color12;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
handle-color: @color11;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
enabled: true;
|
||||
spacing: 0em;
|
||||
padding: 0.5em;
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element selected.normal {
|
||||
background-color: @color11;
|
||||
text-color: @foreground;
|
||||
border-radius: 1.5em;
|
||||
}
|
||||
|
||||
element normal.normal {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element normal.urgent {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element normal.active {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element selected.urgent {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element selected.active {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element alternate.normal {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element alternate.urgent {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element alternate.active {
|
||||
background-color: inherit;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 2em;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.0;
|
||||
cursor: inherit;
|
||||
background-color: transparent;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
margin: 12px;
|
||||
padding: 12px;
|
||||
border-radius: @border-radius;
|
||||
background-color: @color12;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 0px;
|
||||
border-radius: @border-radius;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
|
@ -0,0 +1,211 @@
|
|||
/* Rofi Style 9 */
|
||||
|
||||
/* Integrating Wallust and More tweaks */
|
||||
|
||||
|
||||
configuration {
|
||||
show-icons: true;
|
||||
display-drun: "";
|
||||
drun-display-format: "{icon} {name}";
|
||||
disable-history: false;
|
||||
click-to-exit: true;
|
||||
location: 0;
|
||||
dpi: 1;
|
||||
hover-select: true;
|
||||
me-select-entry: "MouseSecondary";
|
||||
me-accept-entry: "MousePrimary";
|
||||
}
|
||||
|
||||
/* ---- Load wallust colors ---- */
|
||||
@theme "~/.config/rofi/wallust/colors-rofi.rasi"
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
BG: @background;
|
||||
BGA: @color11;
|
||||
FG: @foreground;
|
||||
FGA: #F28FADff;
|
||||
BDR: @color12;
|
||||
SEL: #1E1E2Eff;
|
||||
UGT: #F28FADff;
|
||||
IMG: #FAE3B0ff;
|
||||
OFF: #575268ff;
|
||||
ON: #ABE9B3ff;
|
||||
}
|
||||
|
||||
/*****-- Elements Font Size -----*****/
|
||||
element-text {
|
||||
font: "JetBrainsMono Nerd Font SemiBold 12";
|
||||
}
|
||||
|
||||
/* ---- Window ---- */
|
||||
window {
|
||||
transparency: "real";
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
border: 2px;
|
||||
border-color: @BDR;
|
||||
border-radius: 10px;
|
||||
width: 30%;
|
||||
anchor: center;
|
||||
x-offset: 0;
|
||||
y-offset: 0;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @BG;
|
||||
children: [ inputbar, listview ];
|
||||
spacing: 15px;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 8px;
|
||||
background-color: @BG;
|
||||
text-color: @IMG;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: "";
|
||||
border-radius: 100%;
|
||||
background-color: @SEL;
|
||||
text-color: @FG;
|
||||
padding: 8px 12px 8px 12px;
|
||||
}
|
||||
|
||||
/* ---- Entry input ---- */
|
||||
entry {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
placeholder-color: @FG;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
placeholder: " Search 👀 NOTE: CTRL TAB to change MODE";
|
||||
blink: true;
|
||||
border: 0px 0px 2px 0px;
|
||||
border-color: @BDR;
|
||||
border-radius: 10px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ textbox-prompt-colon, entry ];
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
expand: false;
|
||||
border: 0px 0px 0px 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @BDR;
|
||||
margin: 0px 0px 0px 0px;
|
||||
padding: 0px;
|
||||
position: center;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
/* ---- Listview ---- */
|
||||
listview {
|
||||
background-color: @BG;
|
||||
columns: 1;
|
||||
lines: 7;
|
||||
spacing: 4px;
|
||||
cycle: true;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
scrollbar: true;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
border-color: @color12;
|
||||
handle-color: @color11;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* ---- Elements ---- */
|
||||
element {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
orientation: horizontal;
|
||||
border-radius: 4px;
|
||||
padding: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
size: 24px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
vertical-align: 0.5;
|
||||
margin: 2px 0px 2px 2px;
|
||||
}
|
||||
|
||||
element normal.urgent,
|
||||
element alternate.urgent {
|
||||
background-color: @UGT;
|
||||
text-color: @FG;
|
||||
border-radius: 9px;
|
||||
}
|
||||
|
||||
element normal.active,
|
||||
element alternate.active {
|
||||
background-color: @BGA;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @BGA;
|
||||
text-color: @SEL;
|
||||
border: 0px 0px 0px 0px;
|
||||
border-radius: 10px;
|
||||
border-color: @BDR;
|
||||
}
|
||||
|
||||
element selected.urgent {
|
||||
background-color: @UGT;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
element selected.active {
|
||||
background-color: @BGA;
|
||||
color: @FG;
|
||||
}
|
||||
|
||||
/* ---- Message ---- */
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
textbox {
|
||||
padding: 12px;
|
||||
border-radius: 10px;
|
||||
background-color: @BDR;
|
||||
text-color: @foreground;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
||||
error-message {
|
||||
padding: 12px;
|
||||
border-radius: 20px;
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
|
@ -0,0 +1,193 @@
|
|||
/* Submitted by https://github.com/lonerOrz */
|
||||
|
||||
|
||||
|
||||
configuration {
|
||||
show-icons: true;
|
||||
display-drun: "";
|
||||
drun-display-format: "{icon} {name}";
|
||||
disable-history: false;
|
||||
click-to-exit: true;
|
||||
location: 0;
|
||||
}
|
||||
|
||||
/*****----- Global Properties -----*****/
|
||||
* {
|
||||
font: "Iosevka 12";
|
||||
|
||||
BG: #1E1D2Fff;
|
||||
BGA: #89DCEBff;
|
||||
FG: #D9E0EEff;
|
||||
FGA: #F28FADff;
|
||||
BDR: #96CDFBff;
|
||||
SEL: #1E1E2Eff;
|
||||
UGT: #F28FADff;
|
||||
IMG: #FAE3B0ff;
|
||||
OFF: #575268ff;
|
||||
ON: #ABE9B3ff;
|
||||
}
|
||||
|
||||
window {
|
||||
transparency: "real";
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
border: 2px;
|
||||
border-color: @BDR;
|
||||
border-radius: 10px;
|
||||
width: 25%;
|
||||
anchor: center;
|
||||
x-offset: 0;
|
||||
y-offset: 0;
|
||||
}
|
||||
|
||||
prompt {
|
||||
enabled: true;
|
||||
padding: 8px;
|
||||
background-color: @BG;
|
||||
text-color: @IMG;
|
||||
}
|
||||
|
||||
textbox-prompt-colon {
|
||||
expand: false;
|
||||
str: "";
|
||||
border-radius: 100%;
|
||||
background-color: @SEL;
|
||||
text-color: @FG;
|
||||
padding: 8px 12px 8px 12px;
|
||||
font: "Iosevka Nerd Font 10";
|
||||
}
|
||||
|
||||
entry {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
placeholder-color: @FG;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
placeholder: "Search 👀 NOTE: CTRL TAB to change MODE";
|
||||
blink: true;
|
||||
border: 0px 0px 2px 0px;
|
||||
border-color: @BDR;
|
||||
border-radius: 10px;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
children: [ textbox-prompt-colon, entry ];
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
expand: false;
|
||||
border: 0px 0px 0px 0px;
|
||||
border-radius: 0px;
|
||||
border-color: @BDR;
|
||||
margin: 0px 0px 0px 0px;
|
||||
padding: 0px;
|
||||
position: center;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
|
||||
listview {
|
||||
background-color: @BG;
|
||||
columns: 1;
|
||||
lines: 7;
|
||||
spacing: 4px;
|
||||
cycle: false;
|
||||
dynamic: true;
|
||||
layout: vertical;
|
||||
}
|
||||
|
||||
/* ---- Scrollbar ---- */
|
||||
scrollbar {
|
||||
border: 0px;
|
||||
border-radius: 10px;
|
||||
background-color: transparent;
|
||||
handle-color: @BDR;
|
||||
handle-width: 2px ;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: @BG;
|
||||
children: [ inputbar, message, listview ];
|
||||
spacing: 15px;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
element {
|
||||
background-color: @BG;
|
||||
text-color: @FG;
|
||||
orientation: horizontal;
|
||||
border-radius: 4px;
|
||||
padding: 6px 6px 6px 6px;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
horizontal-align: 0.5;
|
||||
vertical-align: 0.5;
|
||||
size: 24px;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
element-text {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
expand: true;
|
||||
horizontal-align: 0;
|
||||
vertical-align: 0.5;
|
||||
margin: 2px 0px 2px 2px;
|
||||
}
|
||||
|
||||
element normal.urgent,
|
||||
element alternate.urgent {
|
||||
background-color: @UGT;
|
||||
text-color: @FG;
|
||||
border-radius: 9px;
|
||||
}
|
||||
|
||||
element normal.active,
|
||||
element alternate.active {
|
||||
background-color: @BGA;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
element selected {
|
||||
background-color: @BGA;
|
||||
text-color: @SEL;
|
||||
border: 0px 0px 0px 0px;
|
||||
border-radius: 10px;
|
||||
border-color: @BDR;
|
||||
}
|
||||
|
||||
element selected.urgent {
|
||||
background-color: @UGT;
|
||||
text-color: @FG;
|
||||
}
|
||||
|
||||
element selected.active {
|
||||
background-color: @BGA;
|
||||
color: @FG;
|
||||
}
|
||||
|
||||
/*****----- Message -----*****/
|
||||
message {
|
||||
background-color: transparent;
|
||||
border: 0px;
|
||||
}
|
||||
error-message {
|
||||
padding: 20px;
|
||||
}
|
||||
textbox {
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
background-color: @BDR;
|
||||
text-color: @SEL;
|
||||
vertical-align: 0.5;
|
||||
horizontal-align: 0.5;
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
/* wallust template - colors-rofi */
|
||||
|
||||
* {
|
||||
active-background: #784CA0;
|
||||
active-foreground: #FAE8E1;
|
||||
normal-background: #181519;
|
||||
normal-foreground: #FAE8E1;
|
||||
urgent-background: #CC659A;
|
||||
urgent-foreground: #FAE8E1;
|
||||
|
||||
alternate-active-background: #914B4B;
|
||||
alternate-active-foreground: #FAE8E1;
|
||||
alternate-normal-background: #181519;
|
||||
alternate-normal-foreground: #FAE8E1;
|
||||
alternate-urgent-background: #181519;
|
||||
alternate-urgent-foreground: #FAE8E1;
|
||||
|
||||
selected-active-background: #CC659A;
|
||||
selected-active-foreground: #FAE8E1;
|
||||
selected-normal-background: #CC659A;
|
||||
selected-normal-foreground: #FAE8E1;
|
||||
selected-urgent-background: #784CA0;
|
||||
selected-urgent-foreground: #FAE8E1;
|
||||
|
||||
background-color: #181519;
|
||||
background: rgba(0,0,0,0.7);
|
||||
foreground: #FAE8E1;
|
||||
border-color: #784CA0;
|
||||
|
||||
color0: #3F3C40;
|
||||
color1: #1A1022;
|
||||
color2: #492E61;
|
||||
color3: #6D3838;
|
||||
color4: #5A3978;
|
||||
color5: #994C74;
|
||||
color6: #B58E80;
|
||||
color7: #F0D6CC;
|
||||
color8: #A8958F;
|
||||
color9: #23152D;
|
||||
color10: #613D81;
|
||||
color11: #914B4B;
|
||||
color12: #784CA0;
|
||||
color13: #CC659A;
|
||||
color14: #F2BDAA;
|
||||
color15: #F0D6CC;
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"$schema": "/etc/xdg/swaync/configSchema.json",
|
||||
"positionX": "center",
|
||||
"positionY": "top",
|
||||
"layer": "overlay",
|
||||
"control-center-layer": "top",
|
||||
"layer-shell": true,
|
||||
"cssPriority": "user",
|
||||
"control-center-margin-top": 5,
|
||||
"control-center-margin-bottom": 0,
|
||||
"control-center-margin-right": 0,
|
||||
"control-center-margin-left": 0,
|
||||
"notification-2fa-action": true,
|
||||
"notification-inline-replies": false,
|
||||
"notification-icon-size": 24,
|
||||
"notification-body-image-height": 100,
|
||||
"notification-body-image-width": 100,
|
||||
"notification-window-width": 300,
|
||||
"timeout": 6,
|
||||
"timeout-low": 3,
|
||||
"timeout-critical": 0,
|
||||
"fit-to-screen": false,
|
||||
"control-center-width": 450,
|
||||
"control-center-height": 720,
|
||||
"keyboard-shortcuts": true,
|
||||
"image-visibility": "when available",
|
||||
"transition-time": 200,
|
||||
"hide-on-clear": false,
|
||||
"hide-on-action": true,
|
||||
"script-fail-notify": true,
|
||||
"widgets": [
|
||||
"dnd",
|
||||
"buttons-grid",
|
||||
"mpris",
|
||||
"volume",
|
||||
"backlight",
|
||||
"title",
|
||||
"notifications"
|
||||
],
|
||||
"widget-config": {
|
||||
"title": {
|
||||
"text": "Notifications",
|
||||
"clear-all-button": true,
|
||||
"button-text": "Clear"
|
||||
},
|
||||
"dnd": {
|
||||
"text": "Do Not Disturb"
|
||||
},
|
||||
"label": {
|
||||
"max-lines": 1,
|
||||
"text": "Notification"
|
||||
},
|
||||
"mpris": {
|
||||
"image-size": 10,
|
||||
"image-radius": 0
|
||||
},
|
||||
"volume": {
|
||||
"label": ""
|
||||
},
|
||||
"backlight": {
|
||||
"label": ""
|
||||
},
|
||||
"buttons-grid": {
|
||||
"actions": [
|
||||
{
|
||||
"label": "",
|
||||
"command": "bash -c $HOME/.config/hypr/scripts/Wlogout.sh"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "bash -c $HOME/.config/hypr/scripts/LockScreen.sh"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "hyprctl dispatch exit"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "bash -c $HOME/.config/hypr/scripts/AirplaneMode.sh"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
},
|
||||
{
|
||||
"label": "",
|
||||
"command": "blueman-manager"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 19 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M0 176c0-44.2 35.8-80 80-80H464c44.2 0 80 35.8 80 80v16c17.7 0 32 14.3 32 32v64c0 17.7-14.3 32-32 32v16c0 44.2-35.8 80-80 80H80c-44.2 0-80-35.8-80-80V176zm80-16c-8.8 0-16 7.2-16 16V336c0 8.8 7.2 16 16 16H464c8.8 0 16-7.2 16-16V176c0-8.8-7.2-16-16-16H80zm112 32V320H96V192h96z"/></svg>
|
After Width: | Height: | Size: 523 B |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 44 KiB |
|
@ -0,0 +1,349 @@
|
|||
@import '../../.config/waybar/wallust/colors-waybar.css';
|
||||
|
||||
@define-color noti-border-color @color12;
|
||||
@define-color noti-bg rgba(0, 0, 0, 0.8);
|
||||
@define-color noti-bg-alt #111111;
|
||||
@define-color noti-bg-hover @background;
|
||||
@define-color text-color @foreground;
|
||||
|
||||
* {
|
||||
font-family: "JetBrains Mono Nerd Font";
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.control-center .notification-row:focus,
|
||||
.control-center .notification-row:hover {
|
||||
opacity: 1;
|
||||
background: @noti-bg;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.notification-row {
|
||||
outline: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.notification {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.notification-content{
|
||||
/*color: @text-color;*/
|
||||
background: @noti-bg;
|
||||
padding: 3px 10px 3px 6px;
|
||||
border-radius: 10px;
|
||||
border: 1px solid @noti-border-color;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.notification-default-action {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.close-button {
|
||||
background: #f7768e;
|
||||
color: @noti-bg;
|
||||
text-shadow: none;
|
||||
padding: 0;
|
||||
border-radius: 10px;
|
||||
margin-top: 5px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.close-button:hover {
|
||||
box-shadow: none;
|
||||
background: #f7768e;
|
||||
transition: all .15s ease-in-out;
|
||||
border: none
|
||||
}
|
||||
|
||||
|
||||
.notification-action {
|
||||
border: 1px solid @noti-border-color;
|
||||
border-top: none;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
|
||||
.notification-default-action:hover,
|
||||
.notification-action:hover {
|
||||
color: @text-color;
|
||||
background: @noti-bg
|
||||
}
|
||||
|
||||
|
||||
.notification-default-action {
|
||||
border-radius: 10px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.notification-default-action:not(:only-child) {
|
||||
border-bottom-left-radius: 7px;
|
||||
border-bottom-right-radius: 7px
|
||||
}
|
||||
|
||||
.notification-action:first-child {
|
||||
border-bottom-left-radius: 10px;
|
||||
background: @noti-bg
|
||||
}
|
||||
|
||||
.notification-action:last-child {
|
||||
border-bottom-right-radius: 10px;
|
||||
background: @noti-bg-alt
|
||||
}
|
||||
|
||||
.inline-reply {
|
||||
margin-top: 8px
|
||||
}
|
||||
|
||||
.inline-reply-entry {
|
||||
background: @noti-bg;
|
||||
color: @text-color;
|
||||
caret-color: @text-color;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.inline-reply-button {
|
||||
font-size: 0.5rem;
|
||||
margin-left: 4px;
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
border-radius: 10px;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.inline-reply-button:disabled {
|
||||
background: initial;
|
||||
color: @text-color;
|
||||
border: 1px solid transparent
|
||||
}
|
||||
|
||||
.inline-reply-button:hover {
|
||||
background: @noti-bg-hover
|
||||
}
|
||||
|
||||
.body-image {
|
||||
margin-top: 6px;
|
||||
color: @text-color;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.summary {
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none;
|
||||
margin-right: 18px
|
||||
}
|
||||
|
||||
.body {
|
||||
font-size: 1rem;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
color: @text-color;
|
||||
text-shadow: none
|
||||
}
|
||||
|
||||
.control-center {
|
||||
background: @noti-bg;
|
||||
border: 1px solid @noti-border-color;
|
||||
color: @text-color;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.control-center-list {
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.control-center-list-placeholder {
|
||||
opacity: 0.5
|
||||
}
|
||||
|
||||
.floating-notifications {
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
.blank-window {
|
||||
background: alpha(black, 0.1)
|
||||
}
|
||||
|
||||
.widget-title {
|
||||
color: @text-color;
|
||||
background: @noti-bg-alt;
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
font-size: 1rem;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.widget-title>button {
|
||||
font-size: 0.75rem;
|
||||
color: @text-color;
|
||||
border-radius: 10px;
|
||||
background: transparent;
|
||||
border: 0.5px solid @noti-border-color;
|
||||
}
|
||||
|
||||
/* clear button */
|
||||
.widget-title>button:hover {
|
||||
background: @text-color;
|
||||
color: red;
|
||||
}
|
||||
|
||||
.widget-dnd {
|
||||
background: @noti-bg-alt;
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
font-size: 1rem;
|
||||
color: @noti-border-color;
|
||||
}
|
||||
|
||||
.widget-dnd>switch {
|
||||
border-radius: 10px;
|
||||
border: 1px solid #7aa2f7;
|
||||
background: @noti-border-color;
|
||||
}
|
||||
|
||||
.widget-dnd>switch:checked {
|
||||
background: #f7768e;
|
||||
border: 1px solid #f7768e;
|
||||
}
|
||||
|
||||
.widget-dnd>switch slider {
|
||||
background: @noti-bg;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.widget-dnd>switch:checked slider {
|
||||
background: @noti-bg;
|
||||
border-radius: 10px
|
||||
}
|
||||
|
||||
.widget-label {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.widget-label>label {
|
||||
font-size: 1rem;
|
||||
color: @text-color;
|
||||
}
|
||||
|
||||
.widget-mpris {
|
||||
color: @text-color;
|
||||
background: @noti-bg;
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.widget-mpris > box > button {
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.widget-mpris-player {
|
||||
padding: 3px 6px;
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
.widget-mpris-title {
|
||||
font-weight: 100;
|
||||
font-size: 1rem
|
||||
}
|
||||
|
||||
.widget-mpris-subtitle {
|
||||
font-size: 0.75rem
|
||||
}
|
||||
|
||||
.widget-buttons-grid {
|
||||
font-size: large;
|
||||
color: @noti-border-color;
|
||||
padding: 2px;
|
||||
margin: 5px;
|
||||
border-radius: 10px;
|
||||
background: @noti-bg-alt;
|
||||
}
|
||||
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button {
|
||||
margin: 1px;
|
||||
background: @noti-bg;
|
||||
border-radius: 10px;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
/* individual buttons */
|
||||
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
|
||||
background: @text-color;
|
||||
color: @noti-bg-hover
|
||||
}
|
||||
|
||||
.widget-menubar>box>.menu-button-bar>button {
|
||||
border: none;
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.topbar-buttons>button {
|
||||
border: none;
|
||||
background: transparent
|
||||
}
|
||||
|
||||
.widget-volume {
|
||||
background: @noti-bg-alt;
|
||||
padding: 2px;
|
||||
margin: 10px 10px 5px 10px;
|
||||
border-radius: 10px;
|
||||
font-size: x-large;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.widget-volume>box>button {
|
||||
background: @noti-border-color;
|
||||
border: none
|
||||
}
|
||||
|
||||
.per-app-volume {
|
||||
background-color: @noti-bg;
|
||||
padding: 4px 8px 8px;
|
||||
margin: 0 8px 8px;
|
||||
border-radius: 10px;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.widget-backlight {
|
||||
background: @noti-bg-alt;
|
||||
padding: 5px;
|
||||
margin: 10px 10px 5px 10px;
|
||||
border-radius: 10px;
|
||||
font-size: x-large;
|
||||
color: @text-color
|
||||
}
|
||||
|
||||
.low {
|
||||
background: @text-color;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.normal {
|
||||
background: @text-color;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
.critical {
|
||||
background: red;
|
||||
padding: 0px;
|
||||
border-radius: 10px;
|
||||
}
|
|
@ -0,0 +1,404 @@
|
|||
/* Waybar Modules */
|
||||
|
||||
/* NOTE: hyprland-workspaces, Custom Modules, Custom Vertical & Groups on a separate files */
|
||||
|
||||
{
|
||||
|
||||
"temperature": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 82,
|
||||
"format-critical": "{temperatureC}°C {icon}",
|
||||
"format": "{temperatureC}°C {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
|
||||
"backlight": {
|
||||
"interval": 2,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"format": "{icon} {percent}%",
|
||||
"format-icons": [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
],
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["","","","","","","","","","","","","","",""],
|
||||
"tooltip-format": "backlight {percent}%",
|
||||
"icon-size": 10,
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
|
||||
"backlight#2": {
|
||||
"device": "intel_backlight",
|
||||
"format": "{icon} {percent}%",
|
||||
"format-icons": ["", ""]
|
||||
},
|
||||
|
||||
"battery": {
|
||||
//"interval": 5,
|
||||
"align": 0,
|
||||
"rotate": 0,
|
||||
//"bat": "BAT1",
|
||||
//"adapter": "ACAD",
|
||||
"full-at": 100,
|
||||
"design-capacity": false,
|
||||
"states": {
|
||||
"good": 95,
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
},
|
||||
"format": "{icon} {capacity}%",
|
||||
"format-charging": " {capacity}%",
|
||||
"format-plugged": " {capacity}%",
|
||||
"format-alt-click": "click",
|
||||
"format-full": "{icon} Full",
|
||||
"format-alt": "{icon} {time}",
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"format-time": "{H}h {M}min",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{timeTo} {power}w",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
},
|
||||
|
||||
"bluetooth": {
|
||||
"format": " ",
|
||||
"format-disabled": "",
|
||||
"format-connected": " {num_connections}",
|
||||
"tooltip-format": " {device_alias}",
|
||||
"tooltip-format-connected": "{device_enumerate}",
|
||||
"tooltip-format-enumerate-connected": " {device_alias} {device_battery_percentage}%",
|
||||
"tooltip": true,
|
||||
"on-click": "blueman-manager",
|
||||
},
|
||||
|
||||
"clock": {
|
||||
"interval": 1,
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M:%S}", // 24H
|
||||
"format-alt": " {:%H:%M %Y, %d %B, %A}",
|
||||
"tooltip-format": "<tt><small>{calendar}</small></tt>",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"weeks-pos": "right",
|
||||
"on-scroll": 1,
|
||||
"format": {
|
||||
"months": "<span color='#ffead3'><b>{}</b></span>",
|
||||
"days": "<span color='#ecc6d9'><b>{}</b></span>",
|
||||
"weeks": "<span color='#99ffdd'><b>W{}</b></span>",
|
||||
"weekdays": "<span color='#ffcc66'><b>{}</b></span>",
|
||||
"today": "<span color='#ff6699'><b><u>{}</u></b></span>"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"actions": {
|
||||
"on-click-right": "mode",
|
||||
"on-click-forward": "tz_up",
|
||||
"on-click-backward": "tz_down",
|
||||
"on-scroll-up": "shift_up",
|
||||
"on-scroll-down": "shift_down"
|
||||
},
|
||||
|
||||
"clock#2": {
|
||||
//"format": " {:%I:%M %p}", // AM PM format
|
||||
"format": " {:%H:%M}", // 24H
|
||||
"format-alt": "{:%A | %H:%M | %e %B}",
|
||||
"tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>"
|
||||
},
|
||||
|
||||
"clock#3": {
|
||||
//"format": "{:%I:%M %p - %d/%b}", //for AM/PM
|
||||
"format": "{:%H:%M - %d/%b}", // 24H
|
||||
"tooltip": false
|
||||
},
|
||||
|
||||
"clock#4": {
|
||||
"interval": 60,
|
||||
//"format": "{:%B | %a %d, %Y | %I:%M %p}", // AM PM format
|
||||
"format": "{:%B | %a %d, %Y | %H:%M}", // 24H
|
||||
"format-alt": "{:%a %b %d, %G}",
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
},
|
||||
|
||||
"clock#5": {
|
||||
//"format": "{:%A, %I:%M %P}", // AM PM format
|
||||
"format": "{:%a %d | %H:%M}", // 24H
|
||||
"format-alt": "{:%A, %d %B, %Y (%R)}",
|
||||
"tooltip-format": "<big>{:%B %Y}</big>\n<tt><small>{calendar}</small></tt>",
|
||||
},
|
||||
|
||||
"cpu": {
|
||||
"format": "{usage}% ",
|
||||
"interval": 1,
|
||||
"min-length": 5,
|
||||
"format-alt-click": "click",
|
||||
"format-alt": "{icon0}{icon1}{icon2}{icon3} {usage:>2}% ",
|
||||
"format-icons": [
|
||||
"▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"
|
||||
],
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
|
||||
"disk": {
|
||||
"interval": 30,
|
||||
//"format": "",
|
||||
"path": "/",
|
||||
//"format-alt-click": "click",
|
||||
"format": "{percentage_used}% ",
|
||||
//"tooltip": true,
|
||||
"tooltip-format": "{used} used out of {total} on {path} ({percentage_used}%)",
|
||||
},
|
||||
|
||||
"hyprland/language": {
|
||||
"format": "Lang: {}",
|
||||
"format-en": "US",
|
||||
"format-tr": "Korea",
|
||||
"keyboard-name": "at-translated-set-2-keyboard",
|
||||
"on-click": "hyprctl switchxkblayout $SET_KB next"
|
||||
},
|
||||
|
||||
"hyprland/submap": {
|
||||
"format": "<span style=\"italic\"> {}</span>", // Icon: expand-arrows-alt
|
||||
"tooltip": false,
|
||||
},
|
||||
|
||||
"hyprland/window": {
|
||||
"format": "{}",
|
||||
"max-length": 25,
|
||||
"separate-outputs": true,
|
||||
"offscreen-css": true,
|
||||
"offscreen-css-text": "(inactive)",
|
||||
"rewrite": {
|
||||
"(.*) — Mozilla Firefox": " $1",
|
||||
"(.*) - fish": "> [$1]",
|
||||
"(.*) - zsh": "> [$1]",
|
||||
"(.*) - $term": "> [$1]",
|
||||
},
|
||||
},
|
||||
|
||||
"idle_inhibitor": {
|
||||
"tooltip": true,
|
||||
"tooltip-format-activated": "Idle_inhibitor active",
|
||||
"tooltip-format-deactivated": "Idle_inhibitor not active",
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"activated": " ",
|
||||
"deactivated": " ",
|
||||
}
|
||||
},
|
||||
|
||||
"keyboard-state": {
|
||||
//"numlock": true,
|
||||
"capslock": true,
|
||||
"format": {
|
||||
"numlock": "N {icon}",
|
||||
"capslock": " {icon}",
|
||||
},
|
||||
"format-icons": {
|
||||
"locked": "",
|
||||
"unlocked": ""
|
||||
},
|
||||
},
|
||||
|
||||
"memory": {
|
||||
"interval": 10,
|
||||
"format": "{used:0.1f}G ",
|
||||
"format-alt": "{percentage}% ",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'"
|
||||
},
|
||||
|
||||
"mpris": {
|
||||
"interval": 10,
|
||||
"format": "{player_icon} ",
|
||||
"format-paused": "{status_icon} <i>{dynamic}</i>",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"player-icons": {
|
||||
"chromium": "",
|
||||
"default": "",
|
||||
"firefox": "",
|
||||
"kdeconnect": "",
|
||||
"mopidy": "",
|
||||
"mpv": "",
|
||||
"spotify": "",
|
||||
"vlc": "",
|
||||
},
|
||||
"status-icons": {
|
||||
"paused": "",
|
||||
"playing": "",
|
||||
"stopped": "",
|
||||
},
|
||||
// "ignored-players": ["firefox"]
|
||||
"max-length": 30,
|
||||
},
|
||||
|
||||
"network": {
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon}",
|
||||
"format-ethernet": "",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr} {bandwidthUpBits} {bandwidthDownBits}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"max-length": 30,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
],
|
||||
"on-click-right": "kitty nmtui"
|
||||
},
|
||||
|
||||
"network#speed": {
|
||||
"interval": 1,
|
||||
"format": "{ifname}",
|
||||
"format-wifi": "{icon} {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthUpBytes} {bandwidthDownBytes}",
|
||||
"format-disconnected": "",
|
||||
"tooltip-format": "{ipaddr}",
|
||||
"format-linked": " {ifname} (No IP)",
|
||||
"tooltip-format-wifi": "{essid} {icon} {signalStrength}%",
|
||||
"tooltip-format-ethernet": "{ifname} ",
|
||||
"tooltip-format-disconnected": " Disconnected",
|
||||
"min-length": 24,
|
||||
"max-length": 24,
|
||||
"format-icons": [
|
||||
"", "", "", "", ""
|
||||
]
|
||||
},
|
||||
|
||||
"power-profiles-daemon": {
|
||||
"format": "{icon} ",
|
||||
"tooltip-format": "Power profile: {profile}\nDriver: {driver}",
|
||||
"tooltip": true,
|
||||
"format-icons": {
|
||||
"default": "",
|
||||
"performance": "",
|
||||
"balanced": "",
|
||||
"power-saver": ""
|
||||
}
|
||||
},
|
||||
|
||||
"pulseaudio": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
|
||||
"pulseaudio#1": {
|
||||
"format": "{icon} {volume}%",
|
||||
"format-bluetooth": "{icon} {volume}%",
|
||||
"format-bluetooth-muted": " {icon}",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": ["", "", ""]
|
||||
},
|
||||
"on-click": "pamixer --toggle-mute",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
},
|
||||
|
||||
"pulseaudio#microphone": {
|
||||
"format": "{format_source}",
|
||||
"format-source": " {volume}%",
|
||||
"format-source-muted": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-click-right": "pavucontrol -t 4",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
"scroll-step": 5,
|
||||
},
|
||||
|
||||
"tray": {
|
||||
"icon-size": 20,
|
||||
"spacing": 4,
|
||||
},
|
||||
|
||||
"wireplumber": {
|
||||
"format": "{icon} {volume} %",
|
||||
"format-muted": " Mute",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"format-icons": [
|
||||
"", "", "", ""
|
||||
],
|
||||
},
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon} {name}",
|
||||
"icon-size": 16,
|
||||
"all-outputs": false,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate",
|
||||
"on-click-middle": "close",
|
||||
"ignore-list": [
|
||||
"wofi",
|
||||
"rofi",
|
||||
"kitty",
|
||||
"kitty-dropterm"
|
||||
],
|
||||
},
|
||||
}
|
|
@ -0,0 +1,204 @@
|
|||
/* Waybar Modules - Custom Modules */
|
||||
/* Basically created to reduce the lines in Waybar Modules bank */
|
||||
/* NOTE: This is only for Custom Modules */
|
||||
/* Custom Modules like weather browser, tty, file manager at the beginning */
|
||||
|
||||
{
|
||||
"custom/weather": {
|
||||
"format": "{}",
|
||||
"format-alt": "{alt}: {}",
|
||||
"format-alt-click": "click",
|
||||
"interval": 3600,
|
||||
"return-type": "json",
|
||||
"exec": "$HOME/.config/hypr/UserScripts/Weather.sh",
|
||||
//"exec": "$HOME/.config/hypr/UserScripts/Weather.py",
|
||||
"exec-if": "ping wttr.in -c1",
|
||||
"tooltip": true,
|
||||
},
|
||||
|
||||
"custom/file_manager": {
|
||||
"format": " ",
|
||||
"on-click": "xdg-open . &",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "File Manager",
|
||||
},
|
||||
|
||||
"custom/tty": {
|
||||
"format": " ",
|
||||
"on-click": "kitty &",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Launch Terminal",
|
||||
},
|
||||
|
||||
"custom/browser": {
|
||||
"format": " ",
|
||||
"on-click": "xdg-open http:// &",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Launch Browser",
|
||||
},
|
||||
|
||||
"custom/settings": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/UserScripts/QuickEdit.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Launch Quick Edit",
|
||||
},
|
||||
|
||||
"custom/cycle_wall": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/UserScripts/WallpaperRandom.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Wallpaper Menu\nMiddle Click: Random wallpaper\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
|
||||
"custom/hint": {
|
||||
"format": " HINT!",
|
||||
"on-click": "$HOME/.config/hypr/scripts/KeyHints.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/KeyBinds.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Quick Tips\nRight Click: Keybinds",
|
||||
},
|
||||
|
||||
"custom/dot_update": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/HyprlandDotfilesUpdate.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Check hyprland-dotfiles update\nIf available",
|
||||
},
|
||||
|
||||
// Hypridle inhibitor
|
||||
"custom/hypridle": {
|
||||
"format": " ",
|
||||
"return-type": "json",
|
||||
"escape": true,
|
||||
"exec-on-event": true,
|
||||
"interval": 60,
|
||||
"exec": "$HOME/.config/hypr/scripts/Hypridle.sh status",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Hypridle.sh toggle",
|
||||
"on-click-right": "hyprlock"
|
||||
},
|
||||
|
||||
"custom/keyboard": {
|
||||
"exec": "cat $HOME/.cache/kb_layout",
|
||||
"interval": 1,
|
||||
"format": " {}",
|
||||
"on-click": "$HOME/.config/hypr/scripts/SwitchKeyboardLayout.sh",
|
||||
},
|
||||
|
||||
"custom/light_dark": {
|
||||
"format": " ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/DarkLight.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarStyles.sh",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Switch Dark-Light Themes\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Styles Menu",
|
||||
},
|
||||
|
||||
"custom/lock": {
|
||||
"format": "",
|
||||
"on-click": "$HOME/.config/hypr/scripts/LockScreen.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": " Screen Lock",
|
||||
},
|
||||
|
||||
"custom/menu": {
|
||||
"format": "",
|
||||
"on-click": "pkill rofi || rofi -show drun -modi run,drun,filebrowser,window",
|
||||
"on-click-middle": "$HOME/.config/hypr/UserScripts/WallpaperSelect.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/WaybarLayout.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Rofi Menu\nMiddle Click: Wallpaper Menu\nRight Click: Waybar Layout Menu",
|
||||
},
|
||||
// This is a custom cava visualizer
|
||||
"custom/cava_mviz": {
|
||||
"exec": "$HOME/.config/hypr/scripts/WaybarCava.sh",
|
||||
"format": "{}"
|
||||
},
|
||||
|
||||
"custom/playerctl": {
|
||||
"format": "<span>{}</span>",
|
||||
"return-type": "json",
|
||||
"max-length": 25,
|
||||
"exec": "playerctl -a metadata --format '{\"text\": \"{{artist}} {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F",
|
||||
"on-click-middle": "playerctl play-pause",
|
||||
"on-click": "playerctl previous",
|
||||
"on-click-right": "playerctl next",
|
||||
"scroll-step": 5.0,
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
|
||||
"custom/power": {
|
||||
"format": "⏻ ",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
|
||||
},
|
||||
|
||||
"custom/swaync": {
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Launch Notification Center\nRight Click: Do not Disturb",
|
||||
"format": "{} {icon} ",
|
||||
"format-icons": {
|
||||
"notification": "<span foreground='red'><sup></sup></span>",
|
||||
"none": "",
|
||||
"dnd-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-none": "",
|
||||
"inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"inhibited-none": "",
|
||||
"dnd-inhibited-notification": "<span foreground='red'><sup></sup></span>",
|
||||
"dnd-inhibited-none": ""
|
||||
},
|
||||
"return-type": "json",
|
||||
"exec-if": "which swaync-client",
|
||||
"exec": "swaync-client -swb",
|
||||
"on-click": "sleep 0.1 && swaync-client -t -sw",
|
||||
"on-click-right": "swaync-client -d -sw",
|
||||
"escape": true,
|
||||
},
|
||||
// NOTE:! This is only for Arch and Arch Based Distros depend: pacman-contrib
|
||||
"custom/updater": {
|
||||
"format": " {}",
|
||||
"exec": "checkupdates | wc -l",
|
||||
"exec-if": "[[ $(checkupdates | wc -l) ]]",
|
||||
"interval": 15,
|
||||
"on-click": "if command -v paru &> /dev/null; then kitty -T update paru -Syu; else kitty -T update yay -Syu; fi && notify-send 'The system has been updated'",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Update System\nArch Linux Only",
|
||||
},
|
||||
// Separators
|
||||
"custom/separator#dot": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#dot-line": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#line": {
|
||||
"format": "|",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank": {
|
||||
"format": "",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_2": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
"custom/separator#blank_3": {
|
||||
"format": " ",
|
||||
"interval": "once",
|
||||
"tooltip": false
|
||||
},
|
||||
}
|
|
@ -0,0 +1,108 @@
|
|||
/* Waybar Modules - Groups Modules */
|
||||
/* Basically created to reduce the lines in Waybar Modules bank */
|
||||
/* NOTE: This is only for Groups */
|
||||
|
||||
{
|
||||
// GROUPS
|
||||
"group/app_drawer": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "custom/menu",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"custom/menu",
|
||||
"custom/light_dark",
|
||||
"custom/file_manager",
|
||||
"custom/tty",
|
||||
"custom/browser",
|
||||
"custom/settings",
|
||||
]
|
||||
},
|
||||
"group/motherboard": {
|
||||
"orientation": "horizontal",
|
||||
"modules": [
|
||||
"cpu",
|
||||
"power-profiles-daemon",
|
||||
"memory",
|
||||
"temperature",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
|
||||
"group/mobo_drawer": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "cpu",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"temperature",
|
||||
"cpu",
|
||||
"power-profiles-daemon",
|
||||
"memory",
|
||||
"disk",
|
||||
]
|
||||
},
|
||||
"group/laptop": {
|
||||
"orientation": "inherit",
|
||||
"modules": [
|
||||
"backlight",
|
||||
"battery",
|
||||
]
|
||||
},
|
||||
"group/audio": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "pulseaudio",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"pulseaudio",
|
||||
"pulseaudio#microphone",
|
||||
]
|
||||
},
|
||||
|
||||
"group/connections": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "bluetooth",
|
||||
"transition-left-to-right": true
|
||||
},
|
||||
"modules": [
|
||||
"network",
|
||||
"bluetooth",
|
||||
]
|
||||
},
|
||||
|
||||
"group/status": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "custom/power",
|
||||
"transition-left-to-right": false
|
||||
},
|
||||
"modules": [
|
||||
"custom/power",
|
||||
"custom/lock",
|
||||
"keyboard-state",
|
||||
"custom/keyboard",
|
||||
]
|
||||
},
|
||||
"group/notify": {
|
||||
"orientation": "inherit",
|
||||
"drawer": {
|
||||
"transition-duration": 500,
|
||||
"children-class": "custom/swaync",
|
||||
"transition-left-to-right": false
|
||||
},
|
||||
"modules": [
|
||||
"custom/swaync",
|
||||
"custom/dot_update",
|
||||
]
|
||||
},
|
||||
}
|
|
@ -0,0 +1,121 @@
|
|||
/* Waybar Modules for vertical modules or vertical layout */
|
||||
|
||||
/* NOTE: hyprland-workspaces, Custom Modules & Groups on a separate files */
|
||||
|
||||
{
|
||||
|
||||
"temperature#vertical": {
|
||||
"interval": 10,
|
||||
"tooltip": true,
|
||||
"hwmon-path": [
|
||||
"/sys/class/hwmon/hwmon1/temp1_input",
|
||||
"/sys/class/thermal/thermal_zone0/temp"
|
||||
],
|
||||
//"thermal-zone": 0,
|
||||
"critical-threshold": 80,
|
||||
"format-critical": "{icon}\n{temperatureC}°C",
|
||||
"format": " {icon}",
|
||||
"format-icons": [
|
||||
""
|
||||
],
|
||||
"on-click-right": "kitty --title nvtop sh -c 'nvtop'"
|
||||
},
|
||||
|
||||
"backlight#vertical": {
|
||||
"interval": 2,
|
||||
"rotate": 1,
|
||||
"format": "{icon}",
|
||||
//"format-icons": ["", "", ""],
|
||||
"format-icons": [
|
||||
"", "", "", "", "", "", "", "", "", "", "", "", "", "", ""
|
||||
],
|
||||
"on-click": "",
|
||||
"on-click-middle": "",
|
||||
"on-click-right": "",
|
||||
"on-update": "",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Brightness.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Brightness.sh --dec",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
"tooltip-format": "backlight {percent}%",
|
||||
},
|
||||
|
||||
"clock#vertical": {
|
||||
"format": "\n{:%H\n%M\n%S\n\n \n%d\n%m\n%y}",
|
||||
"interval": 1,
|
||||
//"format": "\n{:%I\n%M\n%p\n\n \n%d\n%m\n%y}",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{calendar}",
|
||||
"calendar": {
|
||||
"mode": "year",
|
||||
"mode-mon-col": 3,
|
||||
"format": {
|
||||
"today": "<span color='#0dbc79'>{}</span>",
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"cpu#vertical": {
|
||||
"format": "\n{usage}%",
|
||||
"interval": 1,
|
||||
"on-click-right": "gnome-system-monitor",
|
||||
},
|
||||
|
||||
"memory#vertical": {
|
||||
"interval": 10,
|
||||
"format": "\n{percentage}%",
|
||||
"format-alt": "\n{used:0.1f}G",
|
||||
"format-alt-click": "click",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{used:0.1f}GB/{total:0.1f}G",
|
||||
"on-click-right": "kitty --title btop sh -c 'btop'",
|
||||
},
|
||||
|
||||
"pulseaudio#vertical": {
|
||||
"format": "{icon}",
|
||||
"format-bluetooth": "",
|
||||
"format-muted": "",
|
||||
"format-icons": {
|
||||
"headphone": "",
|
||||
"hands-free": "",
|
||||
"headset": "",
|
||||
"phone": "",
|
||||
"portable": "",
|
||||
"car": "",
|
||||
"default": [
|
||||
"", "", "", ""
|
||||
],
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"ignored-sinks": [
|
||||
"Easy Effects Sink"
|
||||
],
|
||||
},
|
||||
"scroll-step": 5.0,
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle",
|
||||
"on-click-right": "pavucontrol -t 3",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --dec",
|
||||
"tooltip-format": "{icon} {desc} | {volume}%",
|
||||
"smooth-scrolling-threshold": 1,
|
||||
},
|
||||
|
||||
"pulseaudio#microphone_vertical": {
|
||||
"format": "{format_source}",
|
||||
"format-source": "",
|
||||
"format-source-muted": "",
|
||||
"on-click-right": "pavucontrol",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Volume.sh --toggle-mic",
|
||||
"on-scroll-up": "$HOME/.config/hypr/scripts/Volume.sh --mic-inc",
|
||||
"on-scroll-down": "$HOME/.config/hypr/scripts/Volume.sh --mic-dec",
|
||||
"max-volume": 100,
|
||||
"tooltip": true,
|
||||
"tooltip-format": "{source_desc} | {source_volume}%",
|
||||
},
|
||||
|
||||
"custom/power_vertical": {
|
||||
"format": "⏻",
|
||||
"on-click": "$HOME/.config/hypr/scripts/Wlogout.sh",
|
||||
"on-click-right": "$HOME/.config/hypr/scripts/ChangeBlur.sh",
|
||||
"tooltip": true,
|
||||
"tooltip-format": "Left Click: Logout Menu\nRight Click: Change Blur",
|
||||
},
|
||||
}
|
|
@ -0,0 +1,219 @@
|
|||
/* Waybar Workspaces modules */
|
||||
|
||||
/* Generally, this is a potential expanding of choices for hyprland/workspace */
|
||||
// HYPRLAND WORKSPACES. CHOOSE as desired and place on waybar configs
|
||||
|
||||
{
|
||||
// CIRCLES Style
|
||||
"hyprland/workspaces": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"active": "",
|
||||
"default": "",
|
||||
},
|
||||
},
|
||||
// ROMAN Numerals style
|
||||
"hyprland/workspaces#roman": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "I",
|
||||
"2": "II",
|
||||
"3": "III",
|
||||
"4": "IV",
|
||||
"5": "V",
|
||||
"6": "VI",
|
||||
"7": "VII",
|
||||
"8": "VIII",
|
||||
"9": "IX",
|
||||
"10": "X",
|
||||
},
|
||||
},
|
||||
// PACMAN Style
|
||||
"hyprland/workspaces#pacman": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"show-special": false,
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format": "{icon}",
|
||||
"format-icons": {
|
||||
"active": "<span font='12'></span>",
|
||||
"empty": "<span font='8'></span>",
|
||||
"default": "",
|
||||
},
|
||||
},
|
||||
// Kanji / Japanese style
|
||||
"hyprland/workspaces#kanji": {
|
||||
"disable-scroll": true,
|
||||
"show-special": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "一",
|
||||
"2": "二",
|
||||
"3": "三",
|
||||
"4": "四",
|
||||
"5": "五",
|
||||
"6": "六",
|
||||
"7": "七",
|
||||
"8": "八",
|
||||
"9": "九",
|
||||
"10": "十",
|
||||
}
|
||||
},
|
||||
// for Camilla or Spanish
|
||||
"hyprland/workspaces#cam": {
|
||||
"active-only":false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "Uno",
|
||||
"2": "Due",
|
||||
"3": "Tre",
|
||||
"4": "Quattro",
|
||||
"5": "Cinque",
|
||||
"6":"Sei",
|
||||
"7":"Sette",
|
||||
"8":"Otto",
|
||||
"9":"Nove",
|
||||
"10":"Dieci"
|
||||
}
|
||||
},
|
||||
|
||||
// NUMBERS and ICONS style
|
||||
"hyprland/workspaces#4": {
|
||||
"format": "{name}",
|
||||
"format": " {name} {icon} ",
|
||||
//"format": " {icon} ",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"all-outputs": true,
|
||||
"sort-by-number": true,
|
||||
"format-icons": {
|
||||
"1": " ",
|
||||
"2": " ",
|
||||
"3": " ",
|
||||
"4": " ",
|
||||
"5": " ",
|
||||
"6": " ",
|
||||
"7": "",
|
||||
"8": " ",
|
||||
"9": "",
|
||||
"10": "10",
|
||||
"focused": "",
|
||||
"default": "",
|
||||
},
|
||||
},
|
||||
// numbers styles
|
||||
"hyprland/workspaces#numbers": {
|
||||
"active-only": false,
|
||||
"all-outputs": true,
|
||||
"format": "{icon}",
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format-icons": {
|
||||
"1": "1",
|
||||
"2": "2",
|
||||
"3": "3",
|
||||
"4": "4",
|
||||
"5": "5",
|
||||
"6": "6",
|
||||
"7": "7",
|
||||
"8": "8",
|
||||
"9": "9",
|
||||
"10": "10",
|
||||
},
|
||||
},
|
||||
// NUMBERS and ICONS style with window rewrite
|
||||
"hyprland/workspaces#rw": {
|
||||
"disable-scroll": true,
|
||||
"all-outputs": true,
|
||||
"warp-on-scroll": false,
|
||||
"sort-by-number": true,
|
||||
"show-special": false,
|
||||
"on-click": "activate",
|
||||
"on-scroll-up": "hyprctl dispatch workspace e+1",
|
||||
"on-scroll-down": "hyprctl dispatch workspace e-1",
|
||||
"persistent-workspaces": {
|
||||
"*": 5
|
||||
},
|
||||
"format": "{icon} {windows}",
|
||||
"format-window-separator": " ",
|
||||
"window-rewrite-default": " ",
|
||||
"window-rewrite": {
|
||||
"title<.*youtube.*>": " ",
|
||||
"title<.*amazon.*>": " ",
|
||||
"title<.*reddit.*>": " ",
|
||||
"title<.*Picture-in-Picture.*>": " ",
|
||||
"class<firefox|org.mozilla.firefox|librewolf|floorp|mercury-browser|[Cc]achy-browser>": " ",
|
||||
"class<kitty|konsole>": " ",
|
||||
"class<kitty-dropterm>": " ",
|
||||
"class<Chromium|Thorium>": " ",
|
||||
"class<org.telegram.desktop|io.github.tdesktop_x64.TDesktop>": " ",
|
||||
"class<[Ss]potify>": " ",
|
||||
"class<VSCode|code-url-handler|code-oss|codium|codium-url-handler|VSCodium>": " ",
|
||||
"class<thunar>": " ",
|
||||
"class<[Tt]hunderbird|[Tt]hunderbird-esr>": " ",
|
||||
"class<eu.betterbird.Betterbird>": " ",
|
||||
"class<discord|[Ww]ebcord|Vesktop>": " ",
|
||||
"class<subl>": " ",
|
||||
"class<mpv>": " ",
|
||||
"class<celluloid|Zoom>": " ",
|
||||
"class<Cider>": " ",
|
||||
"class<virt-manager>": " ",
|
||||
"class<.virt-manager-wrapped>": " ",
|
||||
"class<codeblocks>": " ",
|
||||
"class<mousepad>": " ",
|
||||
"class<libreoffice-writer>": " ",
|
||||
"class<libreoffice-startcenter>": " ",
|
||||
"class<com.obsproject.Studio>": " ",
|
||||
"class<polkit-gnome-authentication-agent-1>": " ",
|
||||
"class<nwg-look>": " ",
|
||||
"class<zen-alpha>": " ", //Zen Browser
|
||||
"class<waterfox|waterfox-bin>": " ",
|
||||
"class<microsoft-edge>": " ",
|
||||
"class<vlc>": " "
|
||||
}
|
||||
},
|
||||
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
|
||||
|
||||
// ### BOTTOM and LEFT PANEL
|
||||
|
||||
[{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 2,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-left": 6,
|
||||
"margin-right": 6,
|
||||
"margin-bottom": 2,
|
||||
|
||||
"modules-left": [
|
||||
"custom/menu",
|
||||
"cpu",
|
||||
"temperature",
|
||||
"memory",
|
||||
"disk",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
//"hyprland/window",
|
||||
"hyprland/workspaces#roman",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
//"network",
|
||||
//"bluetooth",
|
||||
"custom/weather",
|
||||
"battery",
|
||||
"backlight",
|
||||
"pulseaudio",
|
||||
//"wireplumber",
|
||||
"pulseaudio#microphone",
|
||||
"keyboard-state",
|
||||
"custom/power",
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
"$HOME/.config/waybar/ModulesVertical",
|
||||
],
|
||||
"layer": "top",
|
||||
"position": "left",
|
||||
"height": 650,
|
||||
"margin-top": 8,
|
||||
"margin-bottom": 8,
|
||||
"margin-left": 3,
|
||||
//"margin-right": 3,
|
||||
"spacing": 3,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
//"gtk-layer-shell": true,
|
||||
|
||||
"modules-left": [
|
||||
"custom/lock",
|
||||
"idle_inhibitor",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"clock#vertical"
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"mpris",
|
||||
"group/notify",
|
||||
"tray",
|
||||
"custom/light_dark",
|
||||
],
|
||||
|
||||
}]
|
|
@ -0,0 +1,87 @@
|
|||
|
||||
|
||||
// ### BOTTOM and RIGHT PANEL
|
||||
|
||||
[{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 2,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-left": 6,
|
||||
"margin-right": 6,
|
||||
"margin-bottom": 2,
|
||||
|
||||
"modules-left": [
|
||||
"custom/menu",
|
||||
"cpu",
|
||||
"temperature",
|
||||
"memory",
|
||||
"disk",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
//"hyprland/window",
|
||||
"hyprland/workspaces#roman",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
//"network",
|
||||
//"bluetooth",
|
||||
"custom/weather",
|
||||
"battery",
|
||||
"backlight",
|
||||
"pulseaudio",
|
||||
//"wireplumber",
|
||||
"pulseaudio#microphone",
|
||||
"keyboard-state",
|
||||
"custom/power",
|
||||
],
|
||||
},
|
||||
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
"$HOME/.config/waybar/ModulesVertical",
|
||||
],
|
||||
"layer": "top",
|
||||
"position": "right",
|
||||
"height": 650,
|
||||
"margin-top": 8,
|
||||
"margin-bottom": 8,
|
||||
//"margin-left": 3,
|
||||
"margin-right": 3,
|
||||
"spacing": 3,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
//"gtk-layer-shell": true,
|
||||
|
||||
"modules-left": [
|
||||
"custom/lock",
|
||||
"idle_inhibitor",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"clock#vertical",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"mpris",
|
||||
"group/notify",
|
||||
"tray",
|
||||
"custom/light_dark",
|
||||
],
|
||||
|
||||
}]
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 4,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
//"margin-top": 0,
|
||||
//"margin-bottom": 0,
|
||||
//"margin-left": 0,
|
||||
//"margin-right": 0,
|
||||
|
||||
"modules-left": [
|
||||
"hyprland/workspaces#cam",
|
||||
"custom/separator#line",
|
||||
"mpris",
|
||||
"group/notify",
|
||||
"tray",
|
||||
"wlr/taskbar"],
|
||||
|
||||
"modules-center": ["hyprland/window"],
|
||||
|
||||
"modules-right": [
|
||||
"custom/backlight",
|
||||
"backlight/slider",
|
||||
"custom/speaker",
|
||||
"pulseaudio/slider",
|
||||
"battery",
|
||||
"clock#3",
|
||||
"network"],
|
||||
|
||||
// Additional modules //
|
||||
"pulseaudio/slider": {
|
||||
"min": 0,
|
||||
"max": 100,
|
||||
"orientation": "horizontal"
|
||||
|
||||
},
|
||||
|
||||
"custom/speaker": {
|
||||
"exec": "echo '🔊'",
|
||||
"interval": 1,
|
||||
"format": "{}"
|
||||
},
|
||||
|
||||
"backlight/slider": {
|
||||
"min": 0,
|
||||
"max": 100,
|
||||
"orientation": "horizontal",
|
||||
"device": "intel_backlight"
|
||||
},
|
||||
|
||||
"custom/backlight": {
|
||||
"exec": "echo '✨'",
|
||||
"interval": 1,
|
||||
"format": "{}"
|
||||
},
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 5,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-left": 5,
|
||||
"margin-right": 5,
|
||||
"margin-top": 0,
|
||||
|
||||
"modules-left": [
|
||||
"clock#5",
|
||||
"mpris",
|
||||
"tray",
|
||||
"group/notify"
|
||||
],
|
||||
|
||||
"modules-center": ["hyprland/workspaces"],
|
||||
|
||||
"modules-right": [
|
||||
"pulseaudio#1",
|
||||
"backlight#2",
|
||||
"battery"],
|
||||
|
||||
}
|
|
@ -0,0 +1,56 @@
|
|||
|
||||
|
||||
// ### DEFAULT - Bottom ### //
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 3,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-top": 3,
|
||||
"margin-left": 8,
|
||||
"margin-right": 8,
|
||||
|
||||
"modules-left": [
|
||||
"custom/separator#blank",
|
||||
"custom/cava_mviz",
|
||||
"custom/separator#blank",
|
||||
"custom/playerctl",
|
||||
"custom/separator#blank_2",
|
||||
"hyprland/window",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"group/app_drawer",
|
||||
"custom/separator#blank",
|
||||
"group/notify",
|
||||
"custom/separator#dot-line",
|
||||
"hyprland/workspaces#rw",
|
||||
"clock",
|
||||
"custom/separator#dot-line",
|
||||
"custom/weather",
|
||||
"custom/separator#dot-line",
|
||||
"idle_inhibitor",
|
||||
"custom/hint",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"network#speed",
|
||||
"custom/separator#dot-line",
|
||||
"group/mobo_drawer",
|
||||
"custom/separator#line",
|
||||
"group/audio",
|
||||
"custom/separator#dot-line",
|
||||
"group/status",
|
||||
],
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
|
||||
// ### DEFAULT Laptop - Bottom ### //
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 3,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-top": 3,
|
||||
"margin-left": 8,
|
||||
"margin-right": 8,
|
||||
|
||||
"modules-left": [
|
||||
"custom/separator#blank",
|
||||
"custom/cava_mviz",
|
||||
"custom/separator#blank",
|
||||
"custom/playerctl",
|
||||
"custom/separator#blank_2",
|
||||
"hyprland/window",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"group/app_drawer",
|
||||
"custom/separator#blank",
|
||||
"group/notify",
|
||||
"custom/separator#dot-line",
|
||||
"hyprland/workspaces#rw",
|
||||
"clock",
|
||||
"custom/separator#dot-line",
|
||||
"custom/weather",
|
||||
"custom/separator#dot-line",
|
||||
"idle_inhibitor",
|
||||
"custom/hint",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"tray",
|
||||
"network#speed",
|
||||
"custom/separator#dot-line",
|
||||
"group/laptop",
|
||||
"custom/separator#dot-line",
|
||||
"group/mobo_drawer",
|
||||
"custom/separator#line",
|
||||
"group/audio",
|
||||
"custom/separator#dot-line",
|
||||
"group/status",
|
||||
],
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 5,
|
||||
"fixed-center": false,
|
||||
"ipc": true,
|
||||
"margin-top": 5,
|
||||
//"margin-bottom": 5,
|
||||
"width": 1000,
|
||||
|
||||
"modules-left": [
|
||||
"clock#5",
|
||||
"mpris",
|
||||
"tray",
|
||||
"group/notify"
|
||||
],
|
||||
|
||||
"modules-center": ["hyprland/workspaces#kanji"],
|
||||
|
||||
"modules-right": [
|
||||
"pulseaudio#1",
|
||||
"backlight#2",
|
||||
"battery"
|
||||
],
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"position": "bottom",
|
||||
"spacing": 4,
|
||||
"fixed-center": true,
|
||||
"ipc": true,
|
||||
"margin-top": 5,
|
||||
//"margin-bottom": 5,
|
||||
"width": 1444,
|
||||
|
||||
"modules-left": [
|
||||
"hyprland/workspaces#roman",
|
||||
"mpris",
|
||||
"group/notify",
|
||||
"tray"
|
||||
],
|
||||
|
||||
"modules-center": ["clock#4"],
|
||||
|
||||
"modules-right": [
|
||||
"battery",
|
||||
"custom/separator#blank",
|
||||
"backlight",
|
||||
"custom/separator#blank",
|
||||
"pulseaudio",
|
||||
"custom/separator#blank",
|
||||
"temperature",
|
||||
"custom/separator#blank",
|
||||
"network"],
|
||||
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
|
||||
// ### TOP Simple ## //
|
||||
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
"position": "bottom",
|
||||
//"mode": "dock",
|
||||
"exclusive": true,
|
||||
"passthrough": false,
|
||||
"gtk-layer-shell": true,
|
||||
"margin-left": 6,
|
||||
"margin-right": 6,
|
||||
"margin-top": 2,
|
||||
|
||||
"modules-left": [
|
||||
"idle_inhibitor",
|
||||
"group/mobo_drawer",
|
||||
"hyprland/workspaces#rw",
|
||||
"tray",
|
||||
"mpris",
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"clock#2",
|
||||
"group/notify",
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"hyprland/window",
|
||||
"battery",
|
||||
"group/audio",
|
||||
"custom/power",
|
||||
],
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
|
||||
|
||||
// Sleek
|
||||
|
||||
{
|
||||
"include": [
|
||||
"$HOME/.config/waybar/Modules",
|
||||
"$HOME/.config/waybar/ModulesWorkspaces",
|
||||
"$HOME/.config/waybar/ModulesCustom",
|
||||
"$HOME/.config/waybar/ModulesGroups",
|
||||
],
|
||||
"layer": "top",
|
||||
"position": "bottom",
|
||||
"height": 14,
|
||||
"margin-left": 10,
|
||||
"margin-right": 10,
|
||||
"margin-bottom": 2,
|
||||
|
||||
"modules-left": [
|
||||
"custom/menu",
|
||||
"custom/separator#blank_2",
|
||||
"hyprland/workspaces",
|
||||
"custom/separator#blank_2",
|
||||
"mpris",
|
||||
"tray"
|
||||
],
|
||||
|
||||
"modules-center": [
|
||||
"idle_inhibitor",
|
||||
"custom/separator#blank",
|
||||
"clock",
|
||||
"custom/separator#blank",
|
||||
"group/notify"
|
||||
],
|
||||
|
||||
"modules-right": [
|
||||
"hyprland/window",
|
||||
"custom/separator#blank_2",
|
||||
"pulseaudio",
|
||||
"custom/separator#blank",
|
||||
"custom/power",
|
||||
],
|
||||
|
||||
}
|