Merge branch 'main' of https://github.com/wooshdude/pjarks-dotfiles
@@ -0,0 +1,29 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
run() {
|
||||||
|
if ! pgrep -f "$1" ;
|
||||||
|
then
|
||||||
|
"$@"&
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
run "picom"
|
||||||
|
run "unclutter"
|
||||||
|
run "firefox"
|
||||||
|
run "copyq"
|
||||||
|
run "/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1"
|
||||||
|
run "nm-applet"
|
||||||
|
run "batsignal"
|
||||||
|
run "redshift"
|
||||||
|
run "sunshine"
|
||||||
|
|
||||||
|
killall -q polybar
|
||||||
|
polybar left &
|
||||||
|
polybar right &
|
||||||
|
polybar middle &
|
||||||
|
polybar tray &
|
||||||
|
polybar xwindow &
|
||||||
|
|
||||||
|
pkill xidlehook
|
||||||
|
xidlehook --detect-sleep --not-when-audio --timer 300 'cool-retro-term --fullscreen -e sh ~/cmatrix.sh' '' --timer 600 'pkill cool-retro-term && systemctl suspend' ''
|
||||||
|
|
||||||
@@ -0,0 +1,269 @@
|
|||||||
|
-------------------------------------------------
|
||||||
|
-- Calendar Widget for Awesome Window Manager
|
||||||
|
-- Shows the current month and supports scroll up/down to switch month
|
||||||
|
-- More details could be found here:
|
||||||
|
-- https://github.com/streetturtle/awesome-wm-widgets/tree/master/calendar-widget
|
||||||
|
|
||||||
|
-- @author Pavel Makhov
|
||||||
|
-- @copyright 2019 Pavel Makhov
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
local awful = require("awful")
|
||||||
|
local beautiful = require("beautiful")
|
||||||
|
local wibox = require("wibox")
|
||||||
|
local gears = require("gears")
|
||||||
|
local naughty = require("naughty")
|
||||||
|
|
||||||
|
local calendar_widget = {}
|
||||||
|
|
||||||
|
local function worker(user_args)
|
||||||
|
|
||||||
|
local calendar_themes = {
|
||||||
|
nord = {
|
||||||
|
bg = '#2E3440',
|
||||||
|
fg = '#D8DEE9',
|
||||||
|
focus_date_bg = '#88C0D0',
|
||||||
|
focus_date_fg = '#000000',
|
||||||
|
weekend_day_bg = '#3B4252',
|
||||||
|
weekday_fg = '#88C0D0',
|
||||||
|
header_fg = '#E5E9F0',
|
||||||
|
border = '#4C566A'
|
||||||
|
},
|
||||||
|
outrun = {
|
||||||
|
bg = '#0d0221',
|
||||||
|
fg = '#D8DEE9',
|
||||||
|
focus_date_bg = '#650d89',
|
||||||
|
focus_date_fg = '#2de6e2',
|
||||||
|
weekend_day_bg = '#261447',
|
||||||
|
weekday_fg = '#2de6e2',
|
||||||
|
header_fg = '#f6019d',
|
||||||
|
border = '#261447'
|
||||||
|
},
|
||||||
|
dark = {
|
||||||
|
bg = '#000000',
|
||||||
|
fg = '#ffffff',
|
||||||
|
focus_date_bg = '#ffffff',
|
||||||
|
focus_date_fg = '#000000',
|
||||||
|
weekend_day_bg = '#444444',
|
||||||
|
weekday_fg = '#ffffff',
|
||||||
|
header_fg = '#ffffff',
|
||||||
|
border = '#333333'
|
||||||
|
},
|
||||||
|
light = {
|
||||||
|
bg = '#ffffff',
|
||||||
|
fg = '#000000',
|
||||||
|
focus_date_bg = '#000000',
|
||||||
|
focus_date_fg = '#ffffff',
|
||||||
|
weekend_day_bg = '#AAAAAA',
|
||||||
|
weekday_fg = '#000000',
|
||||||
|
header_fg = '#000000',
|
||||||
|
border = '#CCCCCC'
|
||||||
|
},
|
||||||
|
monokai = {
|
||||||
|
bg = '#272822',
|
||||||
|
fg = '#F8F8F2',
|
||||||
|
focus_date_bg = '#AE81FF',
|
||||||
|
focus_date_fg = '#ffffff',
|
||||||
|
weekend_day_bg = '#75715E',
|
||||||
|
weekday_fg = '#FD971F',
|
||||||
|
header_fg = '#F92672',
|
||||||
|
border = '#75715E'
|
||||||
|
},
|
||||||
|
catppuccin = {
|
||||||
|
bg = '#181825',
|
||||||
|
fg = '#F8F8F2',
|
||||||
|
focus_date_bg = '#b4befe',
|
||||||
|
focus_date_fg = '#ffffff',
|
||||||
|
weekend_day_bg = '#1e1e2e',
|
||||||
|
weekday_fg = '#f2cdcd',
|
||||||
|
header_fg = '#cba6f7',
|
||||||
|
border = '#181825'
|
||||||
|
},
|
||||||
|
naughty = {
|
||||||
|
bg = beautiful.notification_bg or beautiful.bg,
|
||||||
|
fg = beautiful.notification_fg or beautiful.fg,
|
||||||
|
focus_date_bg = beautiful.notification_fg or beautiful.fg,
|
||||||
|
focus_date_fg = beautiful.notification_bg or beautiful.bg,
|
||||||
|
weekend_day_bg = beautiful.bg_focus,
|
||||||
|
weekday_fg = beautiful.fg,
|
||||||
|
header_fg = beautiful.fg,
|
||||||
|
border = beautiful.border_normal
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
local args = user_args or {}
|
||||||
|
|
||||||
|
if args.theme ~= nil and calendar_themes[args.theme] == nil then
|
||||||
|
naughty.notify({
|
||||||
|
preset = naughty.config.presets.critical,
|
||||||
|
title = 'Calendar Widget',
|
||||||
|
text = 'Theme "' .. args.theme .. '" not found, fallback to default'})
|
||||||
|
args.theme = 'naughty'
|
||||||
|
end
|
||||||
|
|
||||||
|
local theme = args.theme or 'naughty'
|
||||||
|
local placement = args.placement or 'top'
|
||||||
|
local radius = args.radius or 8
|
||||||
|
local next_month_button = args.next_month_button or 4
|
||||||
|
local previous_month_button = args.previous_month_button or 5
|
||||||
|
local start_sunday = args.start_sunday or false
|
||||||
|
|
||||||
|
local styles = {}
|
||||||
|
local function rounded_shape(size)
|
||||||
|
return function(cr, width, height)
|
||||||
|
gears.shape.rounded_rect(cr, width, height, size)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
styles.month = {
|
||||||
|
padding = 4,
|
||||||
|
bg_color = calendar_themes[theme].bg,
|
||||||
|
border_width = 0,
|
||||||
|
}
|
||||||
|
|
||||||
|
styles.normal = {
|
||||||
|
markup = function(t) return t end,
|
||||||
|
shape = rounded_shape(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
styles.focus = {
|
||||||
|
fg_color = calendar_themes[theme].focus_date_fg,
|
||||||
|
bg_color = calendar_themes[theme].focus_date_bg,
|
||||||
|
markup = function(t) return '<b>' .. t .. '</b>' end,
|
||||||
|
shape = rounded_shape(4)
|
||||||
|
}
|
||||||
|
|
||||||
|
styles.header = {
|
||||||
|
fg_color = calendar_themes[theme].header_fg,
|
||||||
|
bg_color = calendar_themes[theme].bg,
|
||||||
|
markup = function(t) return '<b>' .. t .. '</b>' end
|
||||||
|
}
|
||||||
|
|
||||||
|
styles.weekday = {
|
||||||
|
fg_color = calendar_themes[theme].weekday_fg,
|
||||||
|
bg_color = calendar_themes[theme].bg,
|
||||||
|
markup = function(t) return '<b>' .. t .. '</b>' end,
|
||||||
|
}
|
||||||
|
|
||||||
|
local function decorate_cell(widget, flag, date)
|
||||||
|
if flag == 'monthheader' and not styles.monthheader then
|
||||||
|
flag = 'header'
|
||||||
|
end
|
||||||
|
|
||||||
|
-- highlight only today's day
|
||||||
|
if flag == 'focus' then
|
||||||
|
local today = os.date('*t')
|
||||||
|
if not (today.month == date.month and today.year == date.year) then
|
||||||
|
flag = 'normal'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local props = styles[flag] or {}
|
||||||
|
if props.markup and widget.get_text and widget.set_markup then
|
||||||
|
widget:set_markup(props.markup(widget:get_text()))
|
||||||
|
end
|
||||||
|
-- Change bg color for weekends
|
||||||
|
local d = { year = date.year, month = (date.month or 1), day = (date.day or 1) }
|
||||||
|
local weekday = tonumber(os.date('%w', os.time(d)))
|
||||||
|
local default_bg = (weekday == 0 or weekday == 6)
|
||||||
|
and calendar_themes[theme].weekend_day_bg
|
||||||
|
or calendar_themes[theme].bg
|
||||||
|
local ret = wibox.widget {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
widget,
|
||||||
|
halign = 'center',
|
||||||
|
widget = wibox.container.place
|
||||||
|
},
|
||||||
|
margins = (props.padding or 2) + (props.border_width or 0),
|
||||||
|
widget = wibox.container.margin
|
||||||
|
},
|
||||||
|
shape = props.shape,
|
||||||
|
shape_border_color = props.border_color or '#000000',
|
||||||
|
shape_border_width = props.border_width or 0,
|
||||||
|
fg = props.fg_color or calendar_themes[theme].fg,
|
||||||
|
bg = props.bg_color or default_bg,
|
||||||
|
widget = wibox.container.background
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret
|
||||||
|
end
|
||||||
|
|
||||||
|
local cal = wibox.widget {
|
||||||
|
date = os.date('*t'),
|
||||||
|
font = beautiful.get_font(),
|
||||||
|
fn_embed = decorate_cell,
|
||||||
|
long_weekdays = true,
|
||||||
|
start_sunday = start_sunday,
|
||||||
|
widget = wibox.widget.calendar.month
|
||||||
|
}
|
||||||
|
|
||||||
|
local popup = awful.popup {
|
||||||
|
ontop = true,
|
||||||
|
visible = false,
|
||||||
|
shape = rounded_shape(radius),
|
||||||
|
offset = { y = 5 },
|
||||||
|
border_width = 1,
|
||||||
|
border_color = calendar_themes[theme].border,
|
||||||
|
widget = cal
|
||||||
|
}
|
||||||
|
|
||||||
|
popup:buttons(
|
||||||
|
awful.util.table.join(
|
||||||
|
awful.button({}, next_month_button, function()
|
||||||
|
local a = cal:get_date()
|
||||||
|
a.month = a.month + 1
|
||||||
|
cal:set_date(nil)
|
||||||
|
cal:set_date(a)
|
||||||
|
popup:set_widget(cal)
|
||||||
|
end),
|
||||||
|
awful.button({}, previous_month_button, function()
|
||||||
|
local a = cal:get_date()
|
||||||
|
a.month = a.month - 1
|
||||||
|
cal:set_date(nil)
|
||||||
|
cal:set_date(a)
|
||||||
|
popup:set_widget(cal)
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
function calendar_widget.toggle()
|
||||||
|
|
||||||
|
if popup.visible then
|
||||||
|
-- to faster render the calendar refresh it and just hide
|
||||||
|
cal:set_date(nil) -- the new date is not set without removing the old one
|
||||||
|
cal:set_date(os.date('*t'))
|
||||||
|
popup:set_widget(nil) -- just in case
|
||||||
|
popup:set_widget(cal)
|
||||||
|
popup.visible = not popup.visible
|
||||||
|
else
|
||||||
|
if placement == 'top' then
|
||||||
|
awful.placement.top(popup, { margins = { top = 50 }, parent = awful.screen.focused() })
|
||||||
|
elseif placement == 'top_right' then
|
||||||
|
awful.placement.top_right(popup, { margins = { top = 30, right = 10}, parent = awful.screen.focused() })
|
||||||
|
elseif placement == 'top_left' then
|
||||||
|
awful.placement.top_left(popup, { margins = { top = 30, left = 10}, parent = awful.screen.focused() })
|
||||||
|
elseif placement == 'bottom_right' then
|
||||||
|
awful.placement.bottom_right(popup, { margins = { bottom = 30, right = 10},
|
||||||
|
parent = awful.screen.focused() })
|
||||||
|
elseif placement == 'bottom_left' then
|
||||||
|
awful.placement.bottom_left(popup, { margins = { bottom = 30, left = 10},
|
||||||
|
parent = awful.screen.focused() })
|
||||||
|
else
|
||||||
|
awful.placement.top(popup, { margins = { top = 50 }, parent = awful.screen.focused() })
|
||||||
|
end
|
||||||
|
|
||||||
|
popup.visible = true
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return calendar_widget
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
return setmetatable(calendar_widget, { __call = function(_, ...)
|
||||||
|
return worker(...)
|
||||||
|
end })
|
||||||
|
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
killall -q polybar
|
||||||
@@ -0,0 +1,688 @@
|
|||||||
|
-- awesome_mode: api-level=4:screen=on
|
||||||
|
-- If LuaRocks is installed, make sure that packages installed through it are
|
||||||
|
-- found (e.g. lgi). If LuaRocks is not installed, do nothing.
|
||||||
|
pcall(require, "luarocks.loader")
|
||||||
|
|
||||||
|
-- Standard awesome library
|
||||||
|
local gears = require("gears")
|
||||||
|
local awful = require("awful")
|
||||||
|
require("awful.autofocus")
|
||||||
|
-- Widget and layout library
|
||||||
|
local wibox = require("wibox")
|
||||||
|
-- Theme handling library
|
||||||
|
local beautiful = require("beautiful")
|
||||||
|
-- Notification library
|
||||||
|
local naughty = require("naughty")
|
||||||
|
-- Declarative object management
|
||||||
|
local ruled = require("ruled")
|
||||||
|
local hotkeys_popup = require("awful.hotkeys_popup")
|
||||||
|
-- Enable hotkeys help widget for VIM and other apps
|
||||||
|
-- when client with a matching name is opened:
|
||||||
|
require("awful.hotkeys_popup.keys")
|
||||||
|
|
||||||
|
local dpi = beautiful.xresources.apply_dpi
|
||||||
|
|
||||||
|
-- {{{ Error handling
|
||||||
|
-- Check if awesome encountered an error during startup and fell back to
|
||||||
|
-- another config (This code will only ever execute for the fallback config)
|
||||||
|
naughty.connect_signal("request::display_error", function(message, startup)
|
||||||
|
naughty.notification({
|
||||||
|
urgency = "critical",
|
||||||
|
title = "Oops, an error happened" .. (startup and " during startup!" or "!"),
|
||||||
|
message = message,
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Variable definitions
|
||||||
|
-- Themes define colours, icons, font and wallpapers.
|
||||||
|
beautiful.init("~/.config/awesome/theme-def.lua")
|
||||||
|
|
||||||
|
-- This is used later as the default terminal and editor to run.
|
||||||
|
terminal = "wezterm"
|
||||||
|
editor = os.getenv("EDITOR") or "nvim"
|
||||||
|
editor_cmd = terminal .. " -e " .. editor
|
||||||
|
|
||||||
|
-- Default modkey.
|
||||||
|
-- Usually, Mod4 is the key with a logo between Control and Alt.
|
||||||
|
-- If you do not like this or do not have such a key,
|
||||||
|
-- I suggest you to remap Mod4 to another key using xmodmap or other tools.
|
||||||
|
-- However, you can use another modifier like Mod1, but it may interact with others.
|
||||||
|
modkey = "Mod4"
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Menu
|
||||||
|
|
||||||
|
polybar = {
|
||||||
|
{
|
||||||
|
"Kill bar",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/awesome/kpolybar.sh")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Spawn bar",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/awesome/spolybar.sh")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
mymainmenu = awful.menu({
|
||||||
|
items = {
|
||||||
|
{
|
||||||
|
"Apps",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("sleep 0.5s && sh ~/.config/rofi/launchers/type-6/launcher.sh")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Nemo",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("nemo")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Scrshot",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("sleep 0.5s && flameshot full")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ "Terminal", terminal },
|
||||||
|
{ "Polybar", polybar, beautiful.menu_submenu_icon },
|
||||||
|
{
|
||||||
|
"Xkill",
|
||||||
|
function()
|
||||||
|
awful.spawn.with_shell("sleep 0.5s && xkill")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ "Restart", awesome.restart },
|
||||||
|
{
|
||||||
|
"Quit",
|
||||||
|
function()
|
||||||
|
awesome.quit()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- {{{ Tag layout
|
||||||
|
-- Table of layouts to cover with awful.layout.inc, order matters.
|
||||||
|
tag.connect_signal("request::default_layouts", function()
|
||||||
|
awful.layout.append_default_layouts({
|
||||||
|
awful.layout.suit.spiral.dwindle,
|
||||||
|
awful.layout.suit.floating,
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Wallpaper
|
||||||
|
screen.connect_signal("request::wallpaper", function(s)
|
||||||
|
awful.wallpaper({
|
||||||
|
screen = s,
|
||||||
|
widget = {
|
||||||
|
{
|
||||||
|
image = beautiful.wallpaper,
|
||||||
|
upscale = true,
|
||||||
|
downscale = true,
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
},
|
||||||
|
valign = "center",
|
||||||
|
halign = "center",
|
||||||
|
tiled = false,
|
||||||
|
widget = wibox.container.tile,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Tags
|
||||||
|
screen.connect_signal("request::desktop_decoration", function(s)
|
||||||
|
-- Each screen has its own tag table.
|
||||||
|
local names = { "1", "2", "3", "4", "5" }
|
||||||
|
local l = awful.layout.suit
|
||||||
|
local layouts = { l.spiral.dwindle, l.spiral.dwindle, l.spiral.dwindle, l.spiral.dwindle, l.floating }
|
||||||
|
awful.tag(names, s, layouts)
|
||||||
|
end)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Mouse bindings
|
||||||
|
awful.mouse.append_global_mousebindings({
|
||||||
|
awful.button({}, 3, function()
|
||||||
|
mymainmenu:toggle()
|
||||||
|
end),
|
||||||
|
awful.button({}, 4, awful.tag.viewprev),
|
||||||
|
awful.button({}, 5, awful.tag.viewnext),
|
||||||
|
})
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Calendar widget
|
||||||
|
local calendar_widget = require("calendar")
|
||||||
|
local cw = calendar_widget({
|
||||||
|
theme = "catppuccin",
|
||||||
|
placement = "top center",
|
||||||
|
start_sunday = false,
|
||||||
|
radius = 8,
|
||||||
|
})
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Key bindings
|
||||||
|
|
||||||
|
-- General Awesome keys
|
||||||
|
awful.keyboard.append_global_keybindings({
|
||||||
|
awful.key({ modkey }, "s", hotkeys_popup.show_help, { description = "show help", group = "awesome" }),
|
||||||
|
awful.key({ modkey, "Control" }, "r", awesome.restart, { description = "reload awesome", group = "awesome" }),
|
||||||
|
awful.key({ modkey, "Shift" }, "q", awesome.quit, { description = "quit awesome", group = "awesome" }),
|
||||||
|
awful.key({ modkey }, "Return", function()
|
||||||
|
awful.spawn(terminal)
|
||||||
|
end, { description = "open a terminal", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({}, "XF86AudioRaiseVolume", function()
|
||||||
|
awful.spawn.with_shell("pactl set-sink-volume @DEFAULT_SINK@ +5%")
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "XF86AudioMute", function()
|
||||||
|
awful.spawn.with_shell("pactl set-sink-mute @DEFAULT_SINK@ toggle")
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "F6", function()
|
||||||
|
awful.util.spawn("playerctl play-pause", false)
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "F8", function()
|
||||||
|
awful.util.spawn("playerctl next", false)
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "F7", function()
|
||||||
|
awful.util.spawn("playerctl previous", false)
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "XF86AudioLowerVolume", function()
|
||||||
|
awful.spawn.with_shell("pactl set-sink-volume @DEFAULT_SINK@ -5%")
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "XF86MonBrightnessDown", function()
|
||||||
|
awful.util.spawn("brightnessctl s 10%-")
|
||||||
|
end),
|
||||||
|
|
||||||
|
awful.key({}, "XF86MonBrightnessUp", function()
|
||||||
|
awful.util.spawn("brightnessctl s +10%")
|
||||||
|
end),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Tags related keybindings
|
||||||
|
awful.keyboard.append_global_keybindings({
|
||||||
|
awful.key({ modkey }, "Left", awful.tag.viewprev, { description = "view previous", group = "tag" }),
|
||||||
|
awful.key({ modkey }, "Right", awful.tag.viewnext, { description = "view next", group = "tag" }),
|
||||||
|
awful.key({ modkey }, "Escape", awful.tag.history.restore, { description = "go back", group = "tag" }),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Focus related keybindings
|
||||||
|
awful.keyboard.append_global_keybindings({
|
||||||
|
awful.key({ "Mod1" }, "Tab", function()
|
||||||
|
awful.client.focus.byidx(1)
|
||||||
|
end, { description = "focus next by index", group = "client" }),
|
||||||
|
awful.key({ modkey, "Control" }, "j", function()
|
||||||
|
awful.screen.focus_relative(1)
|
||||||
|
end, { description = "focus the next screen", group = "screen" }),
|
||||||
|
awful.key({ modkey, "Control" }, "k", function()
|
||||||
|
awful.screen.focus_relative(-1)
|
||||||
|
end, { description = "focus the previous screen", group = "screen" }),
|
||||||
|
awful.key({ modkey, "Control" }, "n", function()
|
||||||
|
local c = awful.client.restore()
|
||||||
|
-- Focus restored client
|
||||||
|
if c then
|
||||||
|
c:activate({ raise = true, context = "key.unminimize" })
|
||||||
|
end
|
||||||
|
end, { description = "restore minimized", group = "client" }),
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Layout related keybindings
|
||||||
|
awful.keyboard.append_global_keybindings({
|
||||||
|
awful.key({ modkey, "Shift" }, "j", function()
|
||||||
|
awful.client.swap.byidx(1)
|
||||||
|
end, { description = "swap with next client by index", group = "client" }),
|
||||||
|
awful.key({ modkey, "Shift" }, "k", function()
|
||||||
|
awful.client.swap.byidx(-1)
|
||||||
|
end, { description = "swap with previous client by index", group = "client" }),
|
||||||
|
awful.key({ modkey }, "u", awful.client.urgent.jumpto, { description = "jump to urgent client", group = "client" }),
|
||||||
|
awful.key({ modkey }, "l", function()
|
||||||
|
awful.tag.incmwfact(0.05)
|
||||||
|
end, { description = "increase master width factor", group = "layout" }),
|
||||||
|
awful.key({ modkey }, "h", function()
|
||||||
|
awful.tag.incmwfact(-0.05)
|
||||||
|
end, { description = "decrease master width factor", group = "layout" }),
|
||||||
|
awful.key({ modkey, "Shift" }, "h", function()
|
||||||
|
awful.tag.incnmaster(1, nil, true)
|
||||||
|
end, { description = "increase the number of master clients", group = "layout" }),
|
||||||
|
awful.key({ modkey, "Shift" }, "l", function()
|
||||||
|
awful.tag.incnmaster(-1, nil, true)
|
||||||
|
end, { description = "decrease the number of master clients", group = "layout" }),
|
||||||
|
awful.key({ modkey, "Control" }, "h", function()
|
||||||
|
awful.tag.incncol(1, nil, true)
|
||||||
|
end, { description = "increase the number of columns", group = "layout" }),
|
||||||
|
awful.key({ modkey, "Control" }, "l", function()
|
||||||
|
awful.tag.incncol(-1, nil, true)
|
||||||
|
end, { description = "decrease the number of columns", group = "layout" }),
|
||||||
|
awful.key({ modkey, "Control" }, "space", function()
|
||||||
|
awful.layout.inc(1)
|
||||||
|
end, { description = "select next", group = "layout" }),
|
||||||
|
awful.key({ modkey, "Shift" }, "space", function()
|
||||||
|
awful.layout.inc(-1)
|
||||||
|
end, { description = "select previous", group = "layout" }),
|
||||||
|
|
||||||
|
-- Prompt
|
||||||
|
awful.key({ modkey }, "a", function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/rofi/launchers/type-6/launcher.sh")
|
||||||
|
end, { description = "run rofi apps", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "r", function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/rofi/launchers/type-6/launcher2.sh")
|
||||||
|
end, { description = "run rofi programs", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "w", function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/rofi/launchers/type-6/launcher1.sh")
|
||||||
|
end, { description = "run rofi windows", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "e", function()
|
||||||
|
awful.spawn.with_shell("nemo")
|
||||||
|
end, { description = "run nemo", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "`", function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/rofi/powermenu/type-6/powermenu.sh")
|
||||||
|
end, { description = "power options", group = "awesome" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "c", function()
|
||||||
|
cw.toggle()
|
||||||
|
end, { description = "calendar popup", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({}, "F4", function()
|
||||||
|
awful.spawn.with_shell("flameshot gui")
|
||||||
|
end, { description = "run flameshot", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "p", function()
|
||||||
|
awful.spawn.with_shell("scrcpy -S --power-off-on-close --window-x 10")
|
||||||
|
end, { description = "run scrcpy", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "z", function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/awesome/kpolybar.sh")
|
||||||
|
end, { description = "kill polybar", group = "launcher" }),
|
||||||
|
|
||||||
|
awful.key({ modkey }, "x", function()
|
||||||
|
awful.spawn.with_shell("sh ~/.config/awesome/spolybar.sh")
|
||||||
|
end, { description = "run polybar", group = "launcher" }),
|
||||||
|
})
|
||||||
|
|
||||||
|
awful.keyboard.append_global_keybindings({
|
||||||
|
awful.key({
|
||||||
|
modifiers = { modkey },
|
||||||
|
keygroup = "numrow",
|
||||||
|
description = "only view tag",
|
||||||
|
group = "tag",
|
||||||
|
on_press = function(index)
|
||||||
|
local screen = awful.screen.focused()
|
||||||
|
local tag = screen.tags[index]
|
||||||
|
if tag then
|
||||||
|
tag:view_only()
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}),
|
||||||
|
awful.key({
|
||||||
|
modifiers = { modkey, "Shift" },
|
||||||
|
keygroup = "numrow",
|
||||||
|
description = "move focused client to tag",
|
||||||
|
group = "tag",
|
||||||
|
on_press = function(index)
|
||||||
|
if client.focus then
|
||||||
|
local tag = client.focus.screen.tags[index]
|
||||||
|
if tag then
|
||||||
|
client.focus:move_to_tag(tag)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
client.connect_signal("request::default_mousebindings", function()
|
||||||
|
awful.mouse.append_client_mousebindings({
|
||||||
|
awful.button({}, 1, function(c)
|
||||||
|
c:activate({ context = "mouse_click" })
|
||||||
|
end),
|
||||||
|
awful.button({ modkey }, 1, function(c)
|
||||||
|
c:activate({ context = "mouse_click", action = "mouse_move" })
|
||||||
|
end),
|
||||||
|
awful.button({ modkey }, 3, function(c)
|
||||||
|
c:activate({ context = "mouse_click", action = "mouse_resize" })
|
||||||
|
end),
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
|
||||||
|
client.connect_signal("request::default_keybindings", function()
|
||||||
|
awful.keyboard.append_client_keybindings({
|
||||||
|
awful.key({ modkey }, "f", function(c)
|
||||||
|
c.fullscreen = not c.fullscreen
|
||||||
|
c:raise()
|
||||||
|
end, { description = "toggle fullscreen", group = "client" }),
|
||||||
|
awful.key({ modkey }, "q", function(c)
|
||||||
|
c:kill()
|
||||||
|
end, { description = "close", group = "client" }),
|
||||||
|
awful.key({ modkey }, "space", function(c)
|
||||||
|
awful.client.floating.toggle(c)
|
||||||
|
c.width = 1000
|
||||||
|
c.height = 550
|
||||||
|
awful.placement.centered(c)
|
||||||
|
end, { description = "toggle floating", group = "client" }),
|
||||||
|
awful.key({ modkey, "Control" }, "Return", function(c)
|
||||||
|
c:swap(awful.client.getmaster())
|
||||||
|
end, { description = "move to master", group = "client" }),
|
||||||
|
awful.key({ modkey }, "o", function(c)
|
||||||
|
c:move_to_screen()
|
||||||
|
end, { description = "move to screen", group = "client" }),
|
||||||
|
awful.key({ modkey }, "t", function(c)
|
||||||
|
c.ontop = not c.ontop
|
||||||
|
end, { description = "toggle keep on top", group = "client" }),
|
||||||
|
awful.key({ modkey }, "n", function(c)
|
||||||
|
-- The client currently has the input focus, so it cannot be
|
||||||
|
-- minimized, since minimized clients can't have the focus.
|
||||||
|
c.minimized = true
|
||||||
|
end, { description = "minimize", group = "client" }),
|
||||||
|
awful.key({ modkey }, "m", function(c)
|
||||||
|
c.maximized = not c.maximized
|
||||||
|
c:raise()
|
||||||
|
end, { description = "(un)maximize", group = "client" }),
|
||||||
|
awful.key({ modkey, "Control" }, "m", function(c)
|
||||||
|
c.maximized_vertical = not c.maximized_vertical
|
||||||
|
c:raise()
|
||||||
|
end, { description = "(un)maximize vertically", group = "client" }),
|
||||||
|
awful.key({ modkey, "Shift" }, "m", function(c)
|
||||||
|
c.maximized_horizontal = not c.maximized_horizontal
|
||||||
|
c:raise()
|
||||||
|
end, { description = "(un)maximize horizontally", group = "client" }),
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Rules
|
||||||
|
-- Rules to apply to new clients.
|
||||||
|
ruled.client.connect_signal("request::rules", function()
|
||||||
|
-- All clients will match this rule.
|
||||||
|
ruled.client.append_rule({
|
||||||
|
id = "global",
|
||||||
|
rule = {},
|
||||||
|
properties = {
|
||||||
|
focus = awful.client.focus.filter,
|
||||||
|
raise = true,
|
||||||
|
screen = awful.screen.preferred,
|
||||||
|
placement = awful.placement.no_overlap + awful.placement.no_offscreen,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Floating clients.
|
||||||
|
ruled.client.append_rule({
|
||||||
|
id = "floating",
|
||||||
|
rule_any = {
|
||||||
|
instance = { "copyq", "pinentry" },
|
||||||
|
class = {
|
||||||
|
"Arandr",
|
||||||
|
"Blueman-manager",
|
||||||
|
"Gpick",
|
||||||
|
"Kruler",
|
||||||
|
"Sxiv",
|
||||||
|
"Tor Browser",
|
||||||
|
"Wpa_gui",
|
||||||
|
"veromix",
|
||||||
|
"xtightvncviewer",
|
||||||
|
},
|
||||||
|
-- Note that the name property shown in xprop might be set slightly after creation of the client
|
||||||
|
-- and the name shown there might not match defined rules here.
|
||||||
|
name = {
|
||||||
|
"Event Tester", -- xev.
|
||||||
|
},
|
||||||
|
role = {
|
||||||
|
"AlarmWindow", -- Thunderbird's calendar.
|
||||||
|
"ConfigManager", -- Thunderbird's about:config.
|
||||||
|
"pop-up", -- e.g. Google Chrome's (detached) Developer Tools.
|
||||||
|
},
|
||||||
|
},
|
||||||
|
properties = { floating = true },
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Add titlebars to normal clients and dialogs
|
||||||
|
ruled.client.append_rule({
|
||||||
|
id = "titlebars",
|
||||||
|
rule_any = { type = { "normal", "dialog" } },
|
||||||
|
properties = { titlebars_enabled = false },
|
||||||
|
})
|
||||||
|
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule_any = {
|
||||||
|
class = { "firefox" },
|
||||||
|
},
|
||||||
|
properties = { screen = 1 },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "chromium" },
|
||||||
|
properties = { screen = 1, tag = "4", floating = true },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "Steam" },
|
||||||
|
properties = { screen = 1, tag = "4", floating = true },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "discord" },
|
||||||
|
properties = { screen = 1, tag = "2" },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "discord-screenaudio" },
|
||||||
|
properties = { screen = 1, tag = "2" },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule_any = {
|
||||||
|
instance = { "youtube music" },
|
||||||
|
},
|
||||||
|
properties = { screen = 1, tag = "3" },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule_any = {
|
||||||
|
class = { "thunderbird" },
|
||||||
|
},
|
||||||
|
properties = { screen = 1, tag = "3" },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "vscodium" },
|
||||||
|
properties = { screen = 1, tag = "4" },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "dolphin-emu" },
|
||||||
|
properties = { floating = true },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "Windscribe" },
|
||||||
|
properties = { floating = true },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "feh" },
|
||||||
|
properties = { floating = true },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "nm-connection-editor" },
|
||||||
|
properties = { floating = true },
|
||||||
|
})
|
||||||
|
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "scrcpy" },
|
||||||
|
properties = { floating = true },
|
||||||
|
})
|
||||||
|
ruled.client.append_rule({
|
||||||
|
rule = { instance = "polybar" },
|
||||||
|
properties = { border_width = 0 },
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- {{{ Notifications
|
||||||
|
|
||||||
|
naughty.config.defaults.ontop = true
|
||||||
|
naughty.config.defaults.screen = awful.screen.focused()
|
||||||
|
naughty.config.defaults.timeout = 4
|
||||||
|
naughty.config.defaults.title = "Notification"
|
||||||
|
naughty.config.defaults.position = "top_right"
|
||||||
|
naughty.config.defaults.border_width = 0
|
||||||
|
beautiful.notification_spacing = 16
|
||||||
|
|
||||||
|
local function create_notif(n)
|
||||||
|
local icon_visibility
|
||||||
|
|
||||||
|
if n.icon == nil then
|
||||||
|
icon_visibility = false
|
||||||
|
else
|
||||||
|
icon_visibility = true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Action widget
|
||||||
|
local action_widget = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
id = "text_role",
|
||||||
|
align = "center",
|
||||||
|
font = "Product Sans 10",
|
||||||
|
widget = wibox.widget.textbox,
|
||||||
|
},
|
||||||
|
margins = { left = dpi(3), right = dpi(3) },
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
},
|
||||||
|
widget = wibox.container.background,
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Apply action widget ^
|
||||||
|
local actions = wibox.widget({
|
||||||
|
notification = n,
|
||||||
|
base_layout = wibox.widget({
|
||||||
|
spacing = dpi(20),
|
||||||
|
layout = wibox.layout.flex.horizontal,
|
||||||
|
}),
|
||||||
|
widget_template = action_widget,
|
||||||
|
widget = naughty.list.actions,
|
||||||
|
})
|
||||||
|
|
||||||
|
local function space_h(length, circumstances)
|
||||||
|
return wibox.widget({
|
||||||
|
forced_width = length,
|
||||||
|
visible = circumstances,
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Make other widgets
|
||||||
|
local title = wibox.widget.textbox()
|
||||||
|
title.font = "Product Sans Bold 12"
|
||||||
|
title.align = "center"
|
||||||
|
title.markup = n.title
|
||||||
|
|
||||||
|
local message = wibox.widget.textbox()
|
||||||
|
message.font = "Product Sans 12"
|
||||||
|
message.align = "left"
|
||||||
|
message.markup = n.message
|
||||||
|
|
||||||
|
local icon = wibox.widget({
|
||||||
|
nil,
|
||||||
|
{
|
||||||
|
{
|
||||||
|
image = n.icon,
|
||||||
|
visible = icon_visibility,
|
||||||
|
widget = wibox.widget.imagebox,
|
||||||
|
},
|
||||||
|
strategy = "max",
|
||||||
|
width = dpi(115),
|
||||||
|
height = dpi(115),
|
||||||
|
widget = wibox.container.constraint,
|
||||||
|
},
|
||||||
|
expand = "none",
|
||||||
|
layout = wibox.layout.align.vertical,
|
||||||
|
})
|
||||||
|
|
||||||
|
local container = wibox.widget({
|
||||||
|
{
|
||||||
|
title,
|
||||||
|
{
|
||||||
|
icon,
|
||||||
|
space_h(dpi(25), icon_visibility),
|
||||||
|
message,
|
||||||
|
layout = wibox.layout.fixed.horizontal,
|
||||||
|
},
|
||||||
|
actions,
|
||||||
|
spacing = dpi(20),
|
||||||
|
layout = wibox.layout.fixed.vertical,
|
||||||
|
},
|
||||||
|
margins = dpi(15),
|
||||||
|
widget = wibox.container.margin,
|
||||||
|
})
|
||||||
|
|
||||||
|
naughty.layout.box({
|
||||||
|
notification = n,
|
||||||
|
type = "notification",
|
||||||
|
bg = beautiful.bg,
|
||||||
|
border_width = 0,
|
||||||
|
shape = function(cr, w, h)
|
||||||
|
gears.shape.rounded_rect(cr, w, h, 5)
|
||||||
|
end,
|
||||||
|
widget_template = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
{
|
||||||
|
widget = container,
|
||||||
|
},
|
||||||
|
strategy = "max",
|
||||||
|
width = dpi(300),
|
||||||
|
height = dpi(200),
|
||||||
|
widget = wibox.container.constraint,
|
||||||
|
},
|
||||||
|
strategy = "min",
|
||||||
|
width = dpi(300),
|
||||||
|
height = dpi(130),
|
||||||
|
widget = wibox.container.constraint,
|
||||||
|
},
|
||||||
|
bg = beautiful.bg,
|
||||||
|
widget = wibox.container.background,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
naughty.connect_signal("request::display", function(n)
|
||||||
|
create_notif(n)
|
||||||
|
end)
|
||||||
|
|
||||||
|
ruled.notification.connect_signal("request::rules", function()
|
||||||
|
ruled.notification.append_rule({
|
||||||
|
rule = {},
|
||||||
|
properties = {
|
||||||
|
screen = awful.screen.focused(),
|
||||||
|
implicit_timeout = 4,
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end)
|
||||||
|
|
||||||
|
-- }}}
|
||||||
|
|
||||||
|
-- Autostart
|
||||||
|
|
||||||
|
awful.spawn.with_shell("sh ~/.config/awesome/autorun.sh")
|
||||||
|
awful.spawn.with_shell("pkill http-server")
|
||||||
|
awful.spawn.with_shell("http-server ~/.config/chevron/dist")
|
||||||
|
awful.spawn.with_shell("sleep 20s && conky -c ~/.config/conky/mocha.conf")
|
||||||
|
awful.spawn.with_shell("kdeconnect-indicator")
|
||||||
|
awful.spawn.with_shell("feh --no-fehbg --bg-fill ~/Downloads/alena-aenami-stardust-1k.jpg")
|
||||||
|
|
||||||
|
-- Garbage collection
|
||||||
|
|
||||||
|
collectgarbage("setpause", 110)
|
||||||
|
collectgarbage("setstepmul", 1000)
|
||||||
|
gears.timer({
|
||||||
|
timeout = 5,
|
||||||
|
autostart = true,
|
||||||
|
call_now = true,
|
||||||
|
callback = function()
|
||||||
|
collectgarbage("collect")
|
||||||
|
end,
|
||||||
|
})
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
polybar left &
|
||||||
|
polybar right &
|
||||||
|
polybar middle &
|
||||||
|
polybar tray &
|
||||||
|
polybar xwindow &
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
---------------------------
|
||||||
|
-- Default awesome theme --
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
local theme_assets = require("beautiful.theme_assets")
|
||||||
|
local xresources = require("beautiful.xresources")
|
||||||
|
local dpi = xresources.apply_dpi
|
||||||
|
|
||||||
|
local gfs = require("gears.filesystem")
|
||||||
|
local themes_path = gfs.get_themes_dir()
|
||||||
|
|
||||||
|
local theme = {}
|
||||||
|
|
||||||
|
theme.font = "Product Sans 11"
|
||||||
|
|
||||||
|
theme.bg_normal = "#181825"
|
||||||
|
theme.bg_focus = "#1e1e2e"
|
||||||
|
theme.bg_urgent = "#eba0ac"
|
||||||
|
theme.bg_minimize = "#313244"
|
||||||
|
theme.bg_systray = theme.bg_normal
|
||||||
|
|
||||||
|
theme.fg_normal = "#cdd6f4"
|
||||||
|
theme.fg_focus = "#737994"
|
||||||
|
theme.fg_urgent = "#ea999c"
|
||||||
|
theme.fg_minimize = "#99d1db"
|
||||||
|
|
||||||
|
theme.useless_gap = dpi(5)
|
||||||
|
theme.border_normal = "#1e1e2e"
|
||||||
|
theme.border_focus = "#1e1e2e"
|
||||||
|
theme.border_marked = "#1e1e2e"
|
||||||
|
theme.border_radius = dpi(8)
|
||||||
|
theme.border_width = dpi(0)
|
||||||
|
|
||||||
|
theme.menu_height = 30
|
||||||
|
theme.menu_width = 120
|
||||||
|
|
||||||
|
-- Generate taglist squares:
|
||||||
|
local taglist_square_size = dpi(4)
|
||||||
|
theme.taglist_squares_sel = theme_assets.taglist_squares_sel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
theme.taglist_squares_unsel = theme_assets.taglist_squares_unsel(
|
||||||
|
taglist_square_size, theme.fg_normal
|
||||||
|
)
|
||||||
|
|
||||||
|
--Signals
|
||||||
|
client.connect_signal("focus", function(c)
|
||||||
|
c.border_color = theme.border_focus end)
|
||||||
|
client.connect_signal("unfocus", function(c)
|
||||||
|
c.border_color = theme.border_normal end)
|
||||||
|
|
||||||
|
theme.icon_theme = nil
|
||||||
|
|
||||||
|
return theme
|
||||||
|
|
||||||
|
-- vim: filetype=lua:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:textwidth=80
|
||||||
@@ -0,0 +1,193 @@
|
|||||||
|
|
||||||
|
# #######################################################################################
|
||||||
|
# AUTOGENERATED HYPR CONFIG.
|
||||||
|
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||||
|
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||||
|
# #######################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=,preferred,auto,auto
|
||||||
|
monitor = DP-1, 1920x1080@144, auto, auto
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = hyprpaper
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = nautilus
|
||||||
|
$menu = sh /home/pjark/.config/wofi/run.sh
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_THEME,oreo_red
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
|
||||||
|
env = WLR_NO_HARDWARE_CURSORS,1
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = -0.1 # -1.0 to 1.0, 0 means no modification.
|
||||||
|
accel_profile = flat
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 6
|
||||||
|
gaps_out = 14
|
||||||
|
border_size = 4
|
||||||
|
col.active_border = rgba(e78284ff) rgba(85c1dcff) rgba(ea999cff) rgba(ca9ee6ff) 45deg
|
||||||
|
col.inactive_border = rgba(1e1e2eff)
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device {
|
||||||
|
name = epic-mouse-v1
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Q, exec, $terminal
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, space, exec, $menu
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, R, togglesplit, # dwindle
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, l, movefocus, r
|
||||||
|
bind = $mainMod, k, movefocus, u
|
||||||
|
bind = $mainMod, j, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
preload = /home/pjark/.wallpapers/catppuccin_waves.png
|
||||||
|
wallpaper = , /home/pjark/.wallpapers/catppuccin_waves.png
|
||||||
|
splash = false
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
# vim:ft=kitty
|
||||||
|
|
||||||
|
shell zsh
|
||||||
|
|
||||||
|
|
||||||
|
# The basic colors
|
||||||
|
foreground #cdd6f4
|
||||||
|
background #1e1e2e
|
||||||
|
selection_foreground #1e1e2e
|
||||||
|
selection_background #f5e0dc
|
||||||
|
|
||||||
|
# Cursor colors
|
||||||
|
cursor #f5e0dc
|
||||||
|
cursor_text_color #1e1e2e
|
||||||
|
|
||||||
|
# URL underline color when hovering with mouse
|
||||||
|
url_color #f5e0dc
|
||||||
|
|
||||||
|
# Kitty window border colors
|
||||||
|
active_border_color #b4befe
|
||||||
|
inactive_border_color #6c7086
|
||||||
|
bell_border_color #f9e2af
|
||||||
|
|
||||||
|
# OS Window titlebar colors
|
||||||
|
wayland_titlebar_color system
|
||||||
|
macos_titlebar_color system
|
||||||
|
|
||||||
|
# Tab bar colors
|
||||||
|
active_tab_foreground #11111b
|
||||||
|
active_tab_background #cba6f7
|
||||||
|
inactive_tab_foreground #cdd6f4
|
||||||
|
inactive_tab_background #181825
|
||||||
|
tab_bar_background #11111b
|
||||||
|
|
||||||
|
# Colors for marks (marked text in the terminal)
|
||||||
|
mark1_foreground #1e1e2e
|
||||||
|
mark1_background #b4befe
|
||||||
|
mark2_foreground #1e1e2e
|
||||||
|
mark2_background #cba6f7
|
||||||
|
mark3_foreground #1e1e2e
|
||||||
|
mark3_background #74c7ec
|
||||||
|
|
||||||
|
# The 16 terminal colors
|
||||||
|
|
||||||
|
# black
|
||||||
|
color0 #45475a
|
||||||
|
color8 #585b70
|
||||||
|
|
||||||
|
# red
|
||||||
|
color1 #f38ba8
|
||||||
|
color9 #f38ba8
|
||||||
|
|
||||||
|
# green
|
||||||
|
color2 #a6e3a1
|
||||||
|
color10 #a6e3a1
|
||||||
|
|
||||||
|
# yellow
|
||||||
|
color3 #f9e2af
|
||||||
|
color11 #f9e2af
|
||||||
|
|
||||||
|
# blue
|
||||||
|
color4 #89b4fa
|
||||||
|
color12 #89b4fa
|
||||||
|
|
||||||
|
# magenta
|
||||||
|
color5 #f5c2e7
|
||||||
|
color13 #f5c2e7
|
||||||
|
|
||||||
|
# cyan
|
||||||
|
color6 #94e2d5
|
||||||
|
color14 #94e2d5
|
||||||
|
|
||||||
|
# white
|
||||||
|
color7 #bac2de
|
||||||
|
color15 #a6adc8
|
||||||
|
|
||||||
|
# fonts
|
||||||
|
font_family JetBrainsMono Nerd Font Mono
|
||||||
|
bold_font auto
|
||||||
|
bold_italic_font auto
|
||||||
|
italic_font auto
|
||||||
|
|
||||||
|
# tab bar
|
||||||
|
tab_bar_edge bottom
|
||||||
|
|
||||||
|
# tabs
|
||||||
|
map alt+c new_tab
|
||||||
|
map alt+x close_tab
|
||||||
|
map alt+n next_tab
|
||||||
|
map alt+b previous_tab
|
||||||
@@ -0,0 +1,284 @@
|
|||||||
|
[colors]
|
||||||
|
disabled = #707880
|
||||||
|
Rosewater = #f5e0dc
|
||||||
|
Flamingo = #f2cdcd
|
||||||
|
Pink = #f5c2e7
|
||||||
|
Mauve = #cba6f7
|
||||||
|
Red = #f38ba8
|
||||||
|
Maroon = #eba0ac
|
||||||
|
Peach = #fab387
|
||||||
|
Yellow = #f9e2af
|
||||||
|
Green = #a6e3a1
|
||||||
|
Teal = #94e2d5
|
||||||
|
Sky = #89dceb
|
||||||
|
Sapphire = #74c7ec
|
||||||
|
Blue = #89b4fa
|
||||||
|
Lavender = #b4befe
|
||||||
|
Base = #1e1e2e
|
||||||
|
Mantle = #181825
|
||||||
|
|
||||||
|
[bar/left]
|
||||||
|
|
||||||
|
width = 16%
|
||||||
|
offset-x = 1%
|
||||||
|
offset-y = 1%
|
||||||
|
height = 22pt
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.Mantle}
|
||||||
|
foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
line-size = 1pt
|
||||||
|
|
||||||
|
font-0 = "RobotoMono Nerd Font:weight=bold:size=9;2"
|
||||||
|
font-1 = "RobotoMono Nerd Font:size=10;3"
|
||||||
|
font-2 = "RobotoMono Nerd Font:size=11;3"
|
||||||
|
font-3 = "NotoEmoji:scale=11;3"
|
||||||
|
font-4 = "Noto Sans CJK JP:size=10;3"
|
||||||
|
|
||||||
|
modules-left = space space power xworkspaces sep space weather
|
||||||
|
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
wm-restack = generic
|
||||||
|
|
||||||
|
[bar/middle]
|
||||||
|
|
||||||
|
width = 14%
|
||||||
|
offset-x = 43%
|
||||||
|
offset-y = 1%
|
||||||
|
height = 22pt
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.Mantle}
|
||||||
|
foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
line-size = 1pt
|
||||||
|
|
||||||
|
font-0 = "RobotoMono Nerd Font:weight=bold:size=9;2"
|
||||||
|
font-1 = "RobotoMono Nerd Font:size=10;3"
|
||||||
|
font-2 = "RobotoMono Nerd Font:size=11;3"
|
||||||
|
|
||||||
|
modules-center = day space sep space date space sep space time
|
||||||
|
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
wm-restack = generic
|
||||||
|
|
||||||
|
[bar/right]
|
||||||
|
|
||||||
|
width = 8%
|
||||||
|
offset-x = 91%
|
||||||
|
offset-y = 1%
|
||||||
|
height = 22pt
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.Mantle}
|
||||||
|
foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
line-size = 1pt
|
||||||
|
|
||||||
|
font-0 = "RobotoMono Nerd Font:weight=bold:size=9;2"
|
||||||
|
font-1 = "RobotoMono Nerd Font:size=10;3"
|
||||||
|
font-2 = "RobotoMono Nerd Font:size=11;3"
|
||||||
|
|
||||||
|
modules-center = space pulseaudio space sep space backlight space
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
wm-restack = generic
|
||||||
|
|
||||||
|
[bar/tray]
|
||||||
|
|
||||||
|
width = 9%
|
||||||
|
offset-x = 81%
|
||||||
|
offset-y = 1%
|
||||||
|
height = 22pt
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.Mantle}
|
||||||
|
foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
line-size = 1pt
|
||||||
|
|
||||||
|
font-0 = "RobotoMono Nerd Font:size=10;3"
|
||||||
|
|
||||||
|
modules-center = tray
|
||||||
|
|
||||||
|
; tray-position = center
|
||||||
|
|
||||||
|
; tray-detached = false
|
||||||
|
|
||||||
|
; tray-maxsize = 16
|
||||||
|
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
wm-restack = generic
|
||||||
|
|
||||||
|
[bar/xwindow]
|
||||||
|
|
||||||
|
width = 19%
|
||||||
|
offset-x = 18%
|
||||||
|
offset-y = 1%
|
||||||
|
height = 22pt
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
background = ${colors.Mantle}
|
||||||
|
foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
line-size = 1pt
|
||||||
|
|
||||||
|
font-0 = "RobotoMono Nerd Font:weight=bold:size=10;3"
|
||||||
|
font-1 = "Noto Sans CJK JP:style=Regular;size=10;1"
|
||||||
|
|
||||||
|
modules-center = space xwindow space
|
||||||
|
enable-ipc = true
|
||||||
|
|
||||||
|
wm-restack = generic
|
||||||
|
|
||||||
|
[module/xworkspaces]
|
||||||
|
type = internal/xworkspaces
|
||||||
|
|
||||||
|
label-active =
|
||||||
|
label-active-padding = 2
|
||||||
|
label-active-foreground = ${colors.Lavender}
|
||||||
|
label-active-font = 2
|
||||||
|
|
||||||
|
label-occupied =
|
||||||
|
label-occupied-padding = 2
|
||||||
|
label-occupied-font = 2
|
||||||
|
|
||||||
|
label-empty =
|
||||||
|
label-empty-foreground = ${colors.disabled}
|
||||||
|
label-empty-padding = 2
|
||||||
|
label-empty-font = 2
|
||||||
|
|
||||||
|
[module/xwindow]
|
||||||
|
|
||||||
|
type = internal/xwindow
|
||||||
|
format = <label>
|
||||||
|
format-background = ${colors.Mantle}
|
||||||
|
format-foreground = ${colors.Lavender}
|
||||||
|
format-padding = 2
|
||||||
|
|
||||||
|
label = %title%
|
||||||
|
label-maxlen = 40
|
||||||
|
|
||||||
|
label-empty = ~/
|
||||||
|
label-empty-foreground = ${colors.disabled}
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
format-volume-prefix = "墳 "
|
||||||
|
format-volume-prefix-foreground = ${colors.Rosewater}
|
||||||
|
format-volume = <label-volume>
|
||||||
|
format-volume-prefix-font = 3
|
||||||
|
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
label-muted = muted
|
||||||
|
label-muted-foreground = ${colors.disabled}
|
||||||
|
|
||||||
|
[network-base]
|
||||||
|
type = internal/network
|
||||||
|
interval = 5
|
||||||
|
format-connected = <label-connected>
|
||||||
|
format-disconnected = <label-disconnected>
|
||||||
|
label-disconnected = disconnected
|
||||||
|
format-connected-foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
inherit = network-base
|
||||||
|
interface-type = wireless
|
||||||
|
label-connected-font = 3
|
||||||
|
label-connected =
|
||||||
|
label-connected-foreground = ${colors.Rosewater}
|
||||||
|
|
||||||
|
[module/day]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date = %A
|
||||||
|
|
||||||
|
label = %date%
|
||||||
|
label-foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date = %d-%m-%Y
|
||||||
|
|
||||||
|
label = %date%
|
||||||
|
label-foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
[module/time]
|
||||||
|
type = internal/date
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
date = %H:%M:%S
|
||||||
|
|
||||||
|
label = %date%
|
||||||
|
label-foreground = ${colors.Lavender}
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
poll-interval = 5
|
||||||
|
full-at = 99
|
||||||
|
format-full-prefix = " "
|
||||||
|
format-charging-prefix = " "
|
||||||
|
format-discharging-prefix = " "
|
||||||
|
format-full-prefix-foreground = ${colors.Rosewater}
|
||||||
|
format-charging-prefix-foreground = ${colors.Rosewater}
|
||||||
|
format-discharging-prefix-foreground = ${colors.Red}
|
||||||
|
label-charging = %percentage%%
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
label-full = %percentage%%
|
||||||
|
|
||||||
|
[module/backlight]
|
||||||
|
type = internal/backlight
|
||||||
|
|
||||||
|
; Use the following command to list available cards:
|
||||||
|
; $ ls -1 /sys/class/backlight/
|
||||||
|
|
||||||
|
card = amdgpu_bl1
|
||||||
|
use-actual-brightness = true
|
||||||
|
format-prefix = "盛 "
|
||||||
|
format-prefix-foreground = ${colors.Rosewater}
|
||||||
|
format-prefix-font = 3
|
||||||
|
enable-scroll = true
|
||||||
|
|
||||||
|
[module/tray]
|
||||||
|
type = internal/tray
|
||||||
|
format-margin = 8px
|
||||||
|
; tray-spacing = 8px
|
||||||
|
tray-padding = 4px
|
||||||
|
|
||||||
|
[module/power]
|
||||||
|
type = custom/text
|
||||||
|
content =
|
||||||
|
content-font = 3
|
||||||
|
content-foreground = ${colors.Red}
|
||||||
|
content-margin = 1
|
||||||
|
click-left = "sh ~/.config/rofi/powermenu/type-6/powermenu.sh"
|
||||||
|
|
||||||
|
[module/weather]
|
||||||
|
type = custom/script
|
||||||
|
exec = "sh ~/.config/polybar/weather.sh"
|
||||||
|
interval = 700
|
||||||
|
|
||||||
|
; decor
|
||||||
|
|
||||||
|
[module/sep]
|
||||||
|
type = custom/text
|
||||||
|
content = "|"
|
||||||
|
content-foreground = ${colors.disabled}
|
||||||
|
|
||||||
|
[module/space]
|
||||||
|
type = custom/text
|
||||||
|
content = " "
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
pseudo-transparency = true
|
||||||
|
|
||||||
|
; vim:ft=dosini
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
import json
|
||||||
|
import requests
|
||||||
|
|
||||||
|
def wc_extract(wc):
|
||||||
|
wc = str(wc)
|
||||||
|
if wc in ("0", "1"):
|
||||||
|
if day == "1":
|
||||||
|
return ("☀️")
|
||||||
|
else:
|
||||||
|
return("🌙")
|
||||||
|
elif wc == "2":
|
||||||
|
if day == "1":
|
||||||
|
return ("⛅")
|
||||||
|
else:
|
||||||
|
return("☁️")
|
||||||
|
elif wc in ("3", "45", "48"):
|
||||||
|
return ("☁️")
|
||||||
|
elif wc in ("51", "53", "55", "61", "63", "65", "80", "81", "82"):
|
||||||
|
return ("🌧️")
|
||||||
|
elif wc in ("56", "57", "66", "67", "85", "86"):
|
||||||
|
return ("🌨️")
|
||||||
|
elif wc in ("71", "73", "75", "77"):
|
||||||
|
return ("❄️")
|
||||||
|
elif wc in ("95", "96", "99"):
|
||||||
|
return ("⛈️")
|
||||||
|
|
||||||
|
def json_extract(obj, path):
|
||||||
|
'''
|
||||||
|
Extracts an element from a nested dictionary or
|
||||||
|
a list of nested dictionaries along a specified path.
|
||||||
|
If the input is a dictionary, a list is returned.
|
||||||
|
If the input is a list of dictionary, a list of lists is returned.
|
||||||
|
obj - list or dict - input dictionary or list of dictionaries
|
||||||
|
path - list - list of strings that form the path to the desired element
|
||||||
|
'''
|
||||||
|
def extract(obj, path, ind, arr):
|
||||||
|
'''
|
||||||
|
Extracts an element from a nested dictionary
|
||||||
|
along a specified path and returns a list.
|
||||||
|
obj - dict - input dictionary
|
||||||
|
path - list - list of strings that form the JSON path
|
||||||
|
ind - int - starting index
|
||||||
|
arr - list - output list
|
||||||
|
'''
|
||||||
|
key = path[ind]
|
||||||
|
if ind + 1 < len(path):
|
||||||
|
if isinstance(obj, dict):
|
||||||
|
if key in obj.keys():
|
||||||
|
extract(obj.get(key), path, ind + 1, arr)
|
||||||
|
else:
|
||||||
|
arr.append(None)
|
||||||
|
elif isinstance(obj, list):
|
||||||
|
if not obj:
|
||||||
|
arr.append(None)
|
||||||
|
else:
|
||||||
|
for item in obj:
|
||||||
|
extract(item, path, ind, arr)
|
||||||
|
else:
|
||||||
|
arr.append(None)
|
||||||
|
if ind + 1 == len(path):
|
||||||
|
if isinstance(obj, list):
|
||||||
|
if not obj:
|
||||||
|
arr.append(None)
|
||||||
|
else:
|
||||||
|
for item in obj:
|
||||||
|
arr.append(item.get(key, None))
|
||||||
|
elif isinstance(obj, dict):
|
||||||
|
arr.append(obj.get(key, None))
|
||||||
|
else:
|
||||||
|
arr.append(None)
|
||||||
|
return arr
|
||||||
|
if isinstance(obj, dict):
|
||||||
|
return extract(obj, path, 0, [])
|
||||||
|
elif isinstance(obj, list):
|
||||||
|
outer_arr = []
|
||||||
|
for item in obj:
|
||||||
|
outer_arr.append(extract(item, path, 0, []))
|
||||||
|
return outer_arr
|
||||||
|
|
||||||
|
latitude = 26.50
|
||||||
|
longitude = 80.24
|
||||||
|
|
||||||
|
wurl = "https://api.open-meteo.com/v1/forecast?latitude=" + str(latitude) + "&longitude=" + str(longitude) + "&hourly=temperature_2m,is_day¤t_weather=true&timezone=auto"
|
||||||
|
|
||||||
|
wjson = requests.get(wurl).content
|
||||||
|
wjson = json.loads(wjson)
|
||||||
|
tmp = str(json_extract(wjson, ["current_weather", "temperature"])[0])
|
||||||
|
day = str(json_extract(wjson, ["current_weather", "is_day"])[0])
|
||||||
|
wcode = wc_extract(str(json_extract(wjson, ["current_weather", "weathercode"])[0]))
|
||||||
|
|
||||||
|
temp = ""
|
||||||
|
for i in tmp:
|
||||||
|
if i == ".":
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
temp += i
|
||||||
|
|
||||||
|
print(wcode, temp+"°C")
|
||||||
|
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
sleep 5
|
||||||
|
if 2>/dev/null 1>&2 ping -c 1 www.archlinux.org; then
|
||||||
|
python3 ~/.config/polybar/weather.py
|
||||||
|
else
|
||||||
|
echo '\_(ツ)_/'
|
||||||
|
fi
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #222D32FF;
|
||||||
|
background-alt: #29353BFF;
|
||||||
|
foreground: #B8C2C6FF;
|
||||||
|
selected: #00BCD4FF;
|
||||||
|
active: #21FF90FF;
|
||||||
|
urgent: #FF4B60FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #2F343FFF;
|
||||||
|
background-alt: #383C4AFF;
|
||||||
|
foreground: #BAC5D0FF;
|
||||||
|
selected: #5294E2FF;
|
||||||
|
active: #98C379FF;
|
||||||
|
urgent: #E06B74FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #000000FF;
|
||||||
|
background-alt: #101010FF;
|
||||||
|
foreground: #FFFFFFFF;
|
||||||
|
selected: #62AEEFFF;
|
||||||
|
active: #98C379FF;
|
||||||
|
urgent: #E06B74FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1E1D2FFF;
|
||||||
|
background-alt: #282839FF;
|
||||||
|
foreground: #D9E0EEFF;
|
||||||
|
selected: #7AA2F7FF;
|
||||||
|
active: #ABE9B3FF;
|
||||||
|
urgent: #F28FADFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #000B1EFF;
|
||||||
|
background-alt: #0A1528FF;
|
||||||
|
foreground: #0ABDC6FF;
|
||||||
|
selected: #0ABDC6FF;
|
||||||
|
active: #00FF00FF;
|
||||||
|
urgent: #FF0000FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1E1F29FF;
|
||||||
|
background-alt: #282A36FF;
|
||||||
|
foreground: #FFFFFFFF;
|
||||||
|
selected: #BD93F9FF;
|
||||||
|
active: #50FA7BFF;
|
||||||
|
urgent: #FF5555FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #323D43FF;
|
||||||
|
background-alt: #3C474DFF;
|
||||||
|
foreground: #DAD1BEFF;
|
||||||
|
selected: #7FBBB3FF;
|
||||||
|
active: #A7C080FF;
|
||||||
|
urgent: #E67E80FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #282828FF;
|
||||||
|
background-alt: #353535FF;
|
||||||
|
foreground: #EBDBB2FF;
|
||||||
|
selected: #83A598FF;
|
||||||
|
active: #B8BB26FF;
|
||||||
|
urgent: #FB4934FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1D1F28FF;
|
||||||
|
background-alt: #282A36FF;
|
||||||
|
foreground: #FDFDFDFF;
|
||||||
|
selected: #79E6F3FF;
|
||||||
|
active: #5ADECDFF;
|
||||||
|
urgent: #F37F97FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #021B21FF;
|
||||||
|
background-alt: #0C252BFF;
|
||||||
|
foreground: #F2F1B9FF;
|
||||||
|
selected: #44B5B1FF;
|
||||||
|
active: #7CBF9EFF;
|
||||||
|
urgent: #C2454EFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #2E3440FF;
|
||||||
|
background-alt: #383E4AFF;
|
||||||
|
foreground: #E5E9F0FF;
|
||||||
|
selected: #81A1C1FF;
|
||||||
|
active: #A3BE8CFF;
|
||||||
|
urgent: #BF616AFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #1E2127FF;
|
||||||
|
background-alt: #282B31FF;
|
||||||
|
foreground: #FFFFFFFF;
|
||||||
|
selected: #61AFEFFF;
|
||||||
|
active: #98C379FF;
|
||||||
|
urgent: #E06C75FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #F1F1F1FF;
|
||||||
|
background-alt: #E0E0E0FF;
|
||||||
|
foreground: #252525FF;
|
||||||
|
selected: #008EC4FF;
|
||||||
|
active: #10A778FF;
|
||||||
|
urgent: #C30771FF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #002B36FF;
|
||||||
|
background-alt: #073642FF;
|
||||||
|
foreground: #EEE8D5FF;
|
||||||
|
selected: #268BD2FF;
|
||||||
|
active: #859900FF;
|
||||||
|
urgent: #DC322FFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Levi Lacoss (fishyfishfish55)
|
||||||
|
* Github : @fishyfishfish55
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #15161EFF;
|
||||||
|
background-alt: #1A1B26FF;
|
||||||
|
foreground: #C0CAF5FF;
|
||||||
|
selected: #33467CFF;
|
||||||
|
active: #414868FF;
|
||||||
|
urgent: #F7768EFF;
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Colors
|
||||||
|
**/
|
||||||
|
|
||||||
|
* {
|
||||||
|
background: #F5E7DEFF;
|
||||||
|
background-alt: #EBDCD2FF;
|
||||||
|
foreground: #34302DFF;
|
||||||
|
selected: #D97742FF;
|
||||||
|
active: #BF8F60FF;
|
||||||
|
urgent: #B23636FF;
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 266 KiB |
|
After Width: | Height: | Size: 693 KiB |
|
After Width: | Height: | Size: 931 KiB |
|
After Width: | Height: | Size: 197 KiB |
|
After Width: | Height: | Size: 223 KiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 441 KiB |
|
After Width: | Height: | Size: 648 KiB |
|
After Width: | Height: | Size: 339 KiB |
|
After Width: | Height: | Size: 125 KiB |
|
After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 666 KiB |
|
After Width: | Height: | Size: 1.1 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 1.3 MiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 964 KiB |
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Rofi : Launcher (Modi Drun, Run, File Browser, Window)
|
||||||
|
#
|
||||||
|
## Available Styles
|
||||||
|
#
|
||||||
|
## style-1 style-2 style-3 style-4 style-5
|
||||||
|
## style-6 style-7 style-8 style-9 style-10
|
||||||
|
|
||||||
|
dir="$HOME/.config/rofi/launchers/type-6"
|
||||||
|
theme='style-10'
|
||||||
|
|
||||||
|
## Run
|
||||||
|
rofi \
|
||||||
|
-show drun \
|
||||||
|
-theme ${dir}/${theme}.rasi
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
dir="$HOME/.config/rofi/launchers/type-6"
|
||||||
|
theme='style-10'
|
||||||
|
|
||||||
|
## Run
|
||||||
|
rofi \
|
||||||
|
-show window \
|
||||||
|
-theme ${dir}/${theme}.rasi
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
dir="$HOME/.config/rofi/launchers/type-6"
|
||||||
|
theme='style-10'
|
||||||
|
|
||||||
|
## Run
|
||||||
|
rofi \
|
||||||
|
-show run \
|
||||||
|
-theme ${dir}/${theme}.rasi
|
||||||
@@ -0,0 +1,208 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Rofi Theme File
|
||||||
|
* Rofi Version: 1.7.3
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*****----- Configuration -----*****/
|
||||||
|
configuration {
|
||||||
|
modi: "drun,run,window";
|
||||||
|
show-icons: true;
|
||||||
|
display-drun: "Apps";
|
||||||
|
display-run: "Run";
|
||||||
|
display-window: "Window";
|
||||||
|
drun-display-format: "{name}";
|
||||||
|
window-format: "{w} · {c} · {t}";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Global Properties -----*****/
|
||||||
|
* {
|
||||||
|
font: "ProductSans 11";
|
||||||
|
background: #181825;
|
||||||
|
background-alt: #181825;
|
||||||
|
foreground: #FFFFFF;
|
||||||
|
selected: #292c3c;
|
||||||
|
active: #292c3c;
|
||||||
|
urgent: #292c3c;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Main Window -----*****/
|
||||||
|
window {
|
||||||
|
/* properties for window widget */
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
width: 1000px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
|
||||||
|
/* properties for all widgets */
|
||||||
|
enabled: true;
|
||||||
|
border-radius: 15px;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Main Box -----*****/
|
||||||
|
mainbox {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 0px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: horizontal;
|
||||||
|
children: [ "imagebox", "listbox" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
imagebox {
|
||||||
|
padding: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: url("~/.config/rofi/images/alena-aenami-bluehour-1k-crop.png", height);
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "inputbar", "dummy", "mode-switcher" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
listbox {
|
||||||
|
spacing: 20px;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: vertical;
|
||||||
|
children: [ "message", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Inputbar -----*****/
|
||||||
|
inputbar {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 10px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
children: [ "textbox-prompt-colon", "entry" ];
|
||||||
|
}
|
||||||
|
textbox-prompt-colon {
|
||||||
|
enabled: true;
|
||||||
|
expand: false;
|
||||||
|
str: "";
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
enabled: true;
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: text;
|
||||||
|
placeholder: "Search";
|
||||||
|
placeholder-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Mode Switcher -----*****/
|
||||||
|
mode-switcher{
|
||||||
|
enabled: true;
|
||||||
|
spacing: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
button selected {
|
||||||
|
background-color: @selected;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Listview -----*****/
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 1;
|
||||||
|
lines: 8;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
|
||||||
|
spacing: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
cursor: "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Elements -----*****/
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
spacing: 15px;
|
||||||
|
padding: 8px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: @foreground;
|
||||||
|
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: @selected;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
element selected.active {
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
size: 32px;
|
||||||
|
cursor: inherit;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.0;
|
||||||
|
}
|
||||||
|
error-message {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 20px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
@@ -0,0 +1,107 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Author : Aditya Shakya (adi1090x)
|
||||||
|
## Github : @adi1090x
|
||||||
|
#
|
||||||
|
## Rofi : Power Menu
|
||||||
|
#
|
||||||
|
## Available Styles
|
||||||
|
#
|
||||||
|
## style-1 style-2 style-3 style-4 style-5
|
||||||
|
|
||||||
|
# Current Theme
|
||||||
|
dir="$HOME/.config/rofi/powermenu/type-6"
|
||||||
|
theme='style-1'
|
||||||
|
|
||||||
|
# CMDs
|
||||||
|
lastlogin="`last $USER | head -n1 | tr -s ' ' | cut -d' ' -f5,6,7`"
|
||||||
|
uptime="`uptime -p | sed -e 's/up //g'`"
|
||||||
|
host=`hostname`
|
||||||
|
|
||||||
|
# Options
|
||||||
|
hibernate=''
|
||||||
|
shutdown=''
|
||||||
|
reboot=''
|
||||||
|
lock=''
|
||||||
|
suspend=''
|
||||||
|
logout=''
|
||||||
|
yes=''
|
||||||
|
no=''
|
||||||
|
|
||||||
|
# Rofi CMD
|
||||||
|
rofi_cmd() {
|
||||||
|
rofi -dmenu \
|
||||||
|
-p " $USER@$host" \
|
||||||
|
-mesg " Uptime: $uptime" \
|
||||||
|
-theme ${dir}/${theme}.rasi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Confirmation CMD
|
||||||
|
confirm_cmd() {
|
||||||
|
rofi -theme-str 'window {location: center; anchor: center; fullscreen: false; width: 350px;}' \
|
||||||
|
-theme-str 'mainbox {orientation: vertical; children: [ "message", "listview" ];}' \
|
||||||
|
-theme-str 'listview {columns: 2; lines: 1;}' \
|
||||||
|
-theme-str 'element-text {horizontal-align: 0.5;}' \
|
||||||
|
-theme-str 'textbox {horizontal-align: 0.5;}' \
|
||||||
|
-dmenu \
|
||||||
|
-p 'Confirmation' \
|
||||||
|
-mesg 'Are you Sure?' \
|
||||||
|
-theme ${dir}/${theme}.rasi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ask for confirmation
|
||||||
|
confirm_exit() {
|
||||||
|
echo -e "$yes\n$no" | confirm_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Pass variables to rofi dmenu
|
||||||
|
run_rofi() {
|
||||||
|
echo -e "$lock\n$suspend\n$logout\n$hibernate\n$reboot\n$shutdown" | rofi_cmd
|
||||||
|
}
|
||||||
|
|
||||||
|
# Execute Command
|
||||||
|
run_cmd() {
|
||||||
|
selected="$(confirm_exit)"
|
||||||
|
if [[ "$selected" == "$yes" ]]; then
|
||||||
|
if [[ $1 == '--shutdown' ]]; then
|
||||||
|
systemctl poweroff
|
||||||
|
elif [[ $1 == '--reboot' ]]; then
|
||||||
|
systemctl reboot
|
||||||
|
elif [[ $1 == '--hibernate' ]]; then
|
||||||
|
systemctl hibernate
|
||||||
|
elif [[ $1 == '--suspend' ]]; then
|
||||||
|
systemctl suspend
|
||||||
|
elif [[ $1 == '--logout' ]]; then
|
||||||
|
betterlockscreen -l
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Actions
|
||||||
|
chosen="$(run_rofi)"
|
||||||
|
case ${chosen} in
|
||||||
|
$shutdown)
|
||||||
|
run_cmd --shutdown
|
||||||
|
;;
|
||||||
|
$reboot)
|
||||||
|
run_cmd --reboot
|
||||||
|
;;
|
||||||
|
$hibernate)
|
||||||
|
run_cmd --hibernate
|
||||||
|
;;
|
||||||
|
$lock)
|
||||||
|
if [[ -x '/usr/bin/betterlockscreen' ]]; then
|
||||||
|
betterlockscreen -l
|
||||||
|
elif [[ -x '/usr/bin/i3lock' ]]; then
|
||||||
|
i3lock
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
$suspend)
|
||||||
|
run_cmd --suspend
|
||||||
|
;;
|
||||||
|
$logout)
|
||||||
|
run_cmd --logout
|
||||||
|
;;
|
||||||
|
esac
|
||||||
@@ -0,0 +1,147 @@
|
|||||||
|
/**
|
||||||
|
*
|
||||||
|
* Author : Aditya Shakya (adi1090x)
|
||||||
|
* Github : @adi1090x
|
||||||
|
*
|
||||||
|
* Rofi Theme File
|
||||||
|
* Rofi Version: 1.7.3
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*****----- Configuration -----*****/
|
||||||
|
configuration {
|
||||||
|
show-icons: false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Global Properties -----*****/
|
||||||
|
* {
|
||||||
|
font: "ProductSans 11";
|
||||||
|
background: #181825;
|
||||||
|
background-alt: #1e1e2e;
|
||||||
|
foreground: #FFFFFF;
|
||||||
|
selected: #b4befe;
|
||||||
|
active: #1e1e2e;
|
||||||
|
urgent: #1e1e2e;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
USE_BUTTONS=YES
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*****----- Main Window -----*****/
|
||||||
|
window {
|
||||||
|
transparency: "real";
|
||||||
|
location: center;
|
||||||
|
anchor: center;
|
||||||
|
fullscreen: false;
|
||||||
|
width: 760px;
|
||||||
|
x-offset: 0px;
|
||||||
|
y-offset: 0px;
|
||||||
|
|
||||||
|
padding: 0px;
|
||||||
|
border: 0px solid;
|
||||||
|
border-radius: 15px;
|
||||||
|
border-color: @selected;
|
||||||
|
cursor: "default";
|
||||||
|
background-color: @background;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Main Box -----*****/
|
||||||
|
mainbox {
|
||||||
|
background-color: transparent;
|
||||||
|
orientation: horizontal;
|
||||||
|
children: [ "imagebox", "listview" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Imagebox -----*****/
|
||||||
|
imagebox {
|
||||||
|
spacing: 30px;
|
||||||
|
padding: 20px;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: url("~/.config/rofi/images/alena-aenami-portal-crop.png", height);
|
||||||
|
children: [ "inputbar", "dummy", "message" ];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- User -----*****/
|
||||||
|
userimage {
|
||||||
|
margin: 0px 0px;
|
||||||
|
border: 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border-color: @background-alt;
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: url("~/.config/rofi/images/a.png", height);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Inputbar -----*****/
|
||||||
|
inputbar {
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @urgent;
|
||||||
|
text-color: @foreground;
|
||||||
|
children: [ "dummy", "prompt", "dummy"];
|
||||||
|
}
|
||||||
|
|
||||||
|
dummy {
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
prompt {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Message -----*****/
|
||||||
|
message {
|
||||||
|
enabled: true;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 15px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background;
|
||||||
|
text-color: @foreground;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
background-color: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Listview -----*****/
|
||||||
|
listview {
|
||||||
|
enabled: true;
|
||||||
|
columns: 2;
|
||||||
|
lines: 3;
|
||||||
|
cycle: true;
|
||||||
|
dynamic: true;
|
||||||
|
scrollbar: false;
|
||||||
|
layout: vertical;
|
||||||
|
reverse: false;
|
||||||
|
fixed-height: true;
|
||||||
|
fixed-columns: true;
|
||||||
|
|
||||||
|
spacing: 30px;
|
||||||
|
margin: 30px;
|
||||||
|
background-color: transparent;
|
||||||
|
cursor: "default";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****----- Elements -----*****/
|
||||||
|
element {
|
||||||
|
enabled: true;
|
||||||
|
padding: 40px 10px;
|
||||||
|
border-radius: 10px;
|
||||||
|
background-color: @background-alt;
|
||||||
|
text-color: @foreground;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
font: "feather bold 32";
|
||||||
|
background-color: transparent;
|
||||||
|
text-color: inherit;
|
||||||
|
cursor: inherit;
|
||||||
|
vertical-align: 0.5;
|
||||||
|
horizontal-align: 0.5;
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(selected);
|
||||||
|
text-color: var(background);
|
||||||
|
}
|
||||||
|
After Width: | Height: | Size: 2.5 MiB |
@@ -0,0 +1,192 @@
|
|||||||
|
|
||||||
|
# #######################################################################################
|
||||||
|
# AUTOGENERATED HYPR CONFIG.
|
||||||
|
# PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||||
|
# OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||||
|
# #######################################################################################
|
||||||
|
|
||||||
|
#
|
||||||
|
# Please note not all available settings / options are set here.
|
||||||
|
# For a full list, see the wiki
|
||||||
|
#
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||||
|
monitor=,preferred,auto,auto
|
||||||
|
monitor = DP-1, 1920x1080@144, auto, auto
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
|
||||||
|
# Execute your favorite apps at launch
|
||||||
|
# exec-once = waybar & hyprpaper & firefox
|
||||||
|
exec-once = waybar
|
||||||
|
exec-once = hyperpaper
|
||||||
|
|
||||||
|
# Source a file (multi-file configs)
|
||||||
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
|
# Set programs that you use
|
||||||
|
$terminal = kitty
|
||||||
|
$fileManager = nautilus
|
||||||
|
$menu = wofi --show drun
|
||||||
|
|
||||||
|
# Some default env vars.
|
||||||
|
env = XCURSOR_THEME,oreo_red
|
||||||
|
env = XCURSOR_SIZE,24
|
||||||
|
env = QT_QPA_PLATFORMTHEME,qt5ct # change to qt6ct if you have that
|
||||||
|
|
||||||
|
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||||
|
input {
|
||||||
|
kb_layout = us
|
||||||
|
kb_variant =
|
||||||
|
kb_model =
|
||||||
|
kb_options =
|
||||||
|
kb_rules =
|
||||||
|
|
||||||
|
follow_mouse = 1
|
||||||
|
|
||||||
|
touchpad {
|
||||||
|
natural_scroll = no
|
||||||
|
}
|
||||||
|
|
||||||
|
sensitivity = -0.1 # -1.0 to 1.0, 0 means no modification.
|
||||||
|
accel_profile = flat
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
general {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
gaps_in = 6
|
||||||
|
gaps_out = 14
|
||||||
|
border_size = 2
|
||||||
|
col.active_border = rgba(e78284ff) rgba(85c1dcff) rgba(ca9ee6ff) rgba(ea999cff) 45deg
|
||||||
|
col.inactive_border = rgba(1e1e2eff)
|
||||||
|
|
||||||
|
layout = dwindle
|
||||||
|
|
||||||
|
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||||
|
allow_tearing = false
|
||||||
|
}
|
||||||
|
|
||||||
|
decoration {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
|
||||||
|
rounding = 10
|
||||||
|
|
||||||
|
blur {
|
||||||
|
enabled = true
|
||||||
|
size = 3
|
||||||
|
passes = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
drop_shadow = yes
|
||||||
|
shadow_range = 4
|
||||||
|
shadow_render_power = 3
|
||||||
|
col.shadow = rgba(1a1a1aee)
|
||||||
|
}
|
||||||
|
|
||||||
|
animations {
|
||||||
|
enabled = yes
|
||||||
|
|
||||||
|
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||||
|
|
||||||
|
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||||
|
|
||||||
|
animation = windows, 1, 7, myBezier
|
||||||
|
animation = windowsOut, 1, 7, default, popin 80%
|
||||||
|
animation = border, 1, 10, default
|
||||||
|
animation = borderangle, 1, 8, default
|
||||||
|
animation = fade, 1, 7, default
|
||||||
|
animation = workspaces, 1, 6, default
|
||||||
|
}
|
||||||
|
|
||||||
|
dwindle {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||||
|
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||||
|
preserve_split = yes # you probably want this
|
||||||
|
}
|
||||||
|
|
||||||
|
master {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||||
|
new_is_master = true
|
||||||
|
}
|
||||||
|
|
||||||
|
gestures {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
workspace_swipe = off
|
||||||
|
}
|
||||||
|
|
||||||
|
misc {
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||||
|
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example per-device config
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
|
||||||
|
device {
|
||||||
|
name = epic-mouse-v1
|
||||||
|
sensitivity = -0.5
|
||||||
|
}
|
||||||
|
|
||||||
|
# Example windowrule v1
|
||||||
|
# windowrule = float, ^(kitty)$
|
||||||
|
# Example windowrule v2
|
||||||
|
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||||
|
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
|
||||||
|
|
||||||
|
|
||||||
|
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||||
|
$mainMod = SUPER
|
||||||
|
|
||||||
|
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||||
|
bind = $mainMod, Q, exec, $terminal
|
||||||
|
bind = $mainMod, C, killactive,
|
||||||
|
bind = $mainMod, M, exit,
|
||||||
|
bind = $mainMod, E, exec, $fileManager
|
||||||
|
bind = $mainMod, V, togglefloating,
|
||||||
|
bind = $mainMod, space, exec, $menu
|
||||||
|
bind = $mainMod, P, pseudo, # dwindle
|
||||||
|
bind = $mainMod, R, togglesplit, # dwindle
|
||||||
|
|
||||||
|
# Move focus with mainMod + arrow keys
|
||||||
|
bind = $mainMod, H, movefocus, l
|
||||||
|
bind = $mainMod, l, movefocus, r
|
||||||
|
bind = $mainMod, k, movefocus, u
|
||||||
|
bind = $mainMod, j, movefocus, d
|
||||||
|
|
||||||
|
# Switch workspaces with mainMod + [0-9]
|
||||||
|
bind = $mainMod, 1, workspace, 1
|
||||||
|
bind = $mainMod, 2, workspace, 2
|
||||||
|
bind = $mainMod, 3, workspace, 3
|
||||||
|
bind = $mainMod, 4, workspace, 4
|
||||||
|
bind = $mainMod, 5, workspace, 5
|
||||||
|
bind = $mainMod, 6, workspace, 6
|
||||||
|
bind = $mainMod, 7, workspace, 7
|
||||||
|
bind = $mainMod, 8, workspace, 8
|
||||||
|
bind = $mainMod, 9, workspace, 9
|
||||||
|
bind = $mainMod, 0, workspace, 10
|
||||||
|
|
||||||
|
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||||
|
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||||
|
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||||
|
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||||
|
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||||
|
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||||
|
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||||
|
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||||
|
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||||
|
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||||
|
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||||
|
|
||||||
|
# Example special workspace (scratchpad)
|
||||||
|
bind = $mainMod, S, togglespecialworkspace, magic
|
||||||
|
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||||
|
|
||||||
|
# Scroll through existing workspaces with mainMod + scroll
|
||||||
|
bind = $mainMod, mouse_down, workspace, e+1
|
||||||
|
bind = $mainMod, mouse_up, workspace, e-1
|
||||||
|
|
||||||
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||||
|
bindm = $mainMod, mouse:272, movewindow
|
||||||
|
bindm = $mainMod, mouse:273, resizewindow
|
||||||
@@ -0,0 +1,215 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"output": "DP-1",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 4,
|
||||||
|
"margin-top": 8,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
"margin-left": 12,
|
||||||
|
"margin-right": 12,
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"custom/spotify",
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"backlight",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/icon": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/launcher",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 10,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"max-length": 10,
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": "<b> {:%H:%M %d/%m}</b> ",
|
||||||
|
//"format": "{:%a}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode" : "month",
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"days": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"weeks": "<span color='#cdd6f4'><b>W{}</b></span>",
|
||||||
|
"weekdays": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"today": "<span color='#f38ba8'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {used}GiB",
|
||||||
|
"format-alt": " {used:0.1f}G",
|
||||||
|
"max-length": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureF}°F"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": " {}",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - NVIM": " NeoVim",
|
||||||
|
"(.*) — Mozilla Firefox": " Firefox",
|
||||||
|
" ": " Desktop",
|
||||||
|
"(.*) Spotify Free": " Spotify",
|
||||||
|
"(.*) Spotify": " Spotify",
|
||||||
|
" ~": " l6174@Radon",
|
||||||
|
"(.*) - Obsidian(.*)": " Obsidian",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces" : {
|
||||||
|
"on-click": "activate",
|
||||||
|
"active-only": false,
|
||||||
|
"all-outputs": true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"urgent": "",
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
},
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"*": 4
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} <b>{percent}%</b>",
|
||||||
|
"format-icons": ["", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} <b>{volume}%</b>",
|
||||||
|
"format-bluetooth": "{icon} <b>{volume}%</b>",
|
||||||
|
"format-bluetooth-muted": " ",
|
||||||
|
"format-muted": " ",
|
||||||
|
"format-icons": {
|
||||||
|
"headset": "",
|
||||||
|
"default": ["", "", ""],
|
||||||
|
},
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"interval": 30,
|
||||||
|
"format-wifi": " {essid}",
|
||||||
|
"format-ethernet": " Wired",
|
||||||
|
"fomat-disconnected": " Disconnected",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-ethernet": "{ifname} ",
|
||||||
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", ""],
|
||||||
|
"max-length": 25,
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 20,
|
||||||
|
"spacing": 10,
|
||||||
|
},
|
||||||
|
|
||||||
|
"idle_inhibitor": {
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"activated": " ",
|
||||||
|
"deactivated": " "
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-space": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-gap": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-arrow": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/spotify": {
|
||||||
|
"format": "{} ",
|
||||||
|
"max-length": 60,
|
||||||
|
"interval": "once",
|
||||||
|
"return-type": "json",
|
||||||
|
"exec": "~/.local/bin/spotifyctl",
|
||||||
|
"on-click": "playerctl --player=spotify play-pause && pkill -RTMIN+30 waybar",
|
||||||
|
"on-click-right": "playerctl --player=spotify loop track",
|
||||||
|
"on-scroll-down": "playerctl --player=spotify previous && pkill -RTMIN+30 waybar",
|
||||||
|
"on-scroll-up": "playerctl --player=spotify next && pkill -RTMIN+30 waybar",
|
||||||
|
"on-click-middle": "pkill --signal TERM spotify",
|
||||||
|
"signal": 30,
|
||||||
|
"smooth-scrolling-threshold": 1.0,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/power": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/power.sh",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
"custom/notification": {
|
||||||
|
"tooltip": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"notification": " ",
|
||||||
|
"none": " ",
|
||||||
|
"dnd-notification": " ",
|
||||||
|
"dnd-none": " ",
|
||||||
|
"inhibited-notification": " ",
|
||||||
|
"inhibited-none": " ",
|
||||||
|
"dnd-inhibited-notification": " ",
|
||||||
|
"dnd-inhibited-none": " "
|
||||||
|
},
|
||||||
|
"return-type": "json",
|
||||||
|
"exec-if": "which swaync-client",
|
||||||
|
"exec": "swaync-client -swb",
|
||||||
|
"on-click": "swaync-client -t -sw",
|
||||||
|
"on-click-right": "swaync-client -d -sw",
|
||||||
|
"escape": true
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/updates": {
|
||||||
|
"format": " {}",
|
||||||
|
"tooltip-format": "{}",
|
||||||
|
"escape": true,
|
||||||
|
"return-type": "json",
|
||||||
|
"exec": "~/.config/waybar/custom-scripts/updates",
|
||||||
|
"restart-interval": 60,
|
||||||
|
"on-click": "kitty -e ~/.config/waybar/custom-scripts/update",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
@@ -0,0 +1,152 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 4,
|
||||||
|
"margin-top": 5,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
"margin-left": 5,
|
||||||
|
"margin-right": 5,
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/icon",
|
||||||
|
"custom/separator-gap",
|
||||||
|
"cpu",
|
||||||
|
"memory",
|
||||||
|
"temperature",
|
||||||
|
"custom/separator-arrow",
|
||||||
|
"hyprland/window",
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/workspaces",
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"backlight",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
"tray",
|
||||||
|
"custom/separator-dot",
|
||||||
|
"clock",
|
||||||
|
"custom/power",
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/icon": {
|
||||||
|
"format": ""
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 10,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"max-length": 10,
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {used}GiB",
|
||||||
|
"format-alt": " {used:0.1f}G",
|
||||||
|
"max-length": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureF}°F"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": " {}",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - NVIM": " NeoVim",
|
||||||
|
"(.*) — Mozilla Firefox": " Mozilla Firefox",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"all-outputs": true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "",
|
||||||
|
"2": "",
|
||||||
|
"3": "",
|
||||||
|
"urgent": "",
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} <b>{percent}</b>",
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} <b>{volume}</b>",
|
||||||
|
"format-bluetooth": "{icon} {volume}%",
|
||||||
|
"format-bluetooth-muted": " ",
|
||||||
|
"format-muted": " ",
|
||||||
|
"format-icons": {
|
||||||
|
"headph": "",
|
||||||
|
"default": [" ", ""],
|
||||||
|
},
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"interval": 30,
|
||||||
|
"format-wifi": " {essid}",
|
||||||
|
"format-ethernet": " Wired",
|
||||||
|
"fomat-disconnected": " Disconnected",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-ethernet": "{ifname} ",
|
||||||
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
},
|
||||||
|
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": [" ", " ", " ", " ", " "],
|
||||||
|
"max-length": 25,
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 20,
|
||||||
|
"spacing": 10,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-dot": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "$HOME/.config/hypr/scripts/random-wallpaper"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-gap": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-arrow": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/spotify": {
|
||||||
|
"exec": "/usr/bin/python3 $HOME/.config/waybar/custom-scripts/mediaplayer.py --player spotify --verbose",
|
||||||
|
"format": "{} ",
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"on-scroll-up": "playerctl next",
|
||||||
|
"on-scroll-down": "playerctl previous"
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/powermenu",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,170 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 4,
|
||||||
|
"margin-top": 5,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
"margin-left": 5,
|
||||||
|
"margin-right": 5,
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/icon",
|
||||||
|
"clock",
|
||||||
|
"custom/spotify",
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"hyprland/window",
|
||||||
|
"custom/separator-arrow",
|
||||||
|
"hyprland/workspaces",
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"backlight",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
"tray",
|
||||||
|
"custom/power",
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/icon": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/launcher",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 10,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"max-length": 10,
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
clock": {
|
||||||
|
"format": "{: %d-%m-24 %H:%M}",
|
||||||
|
//"format": "{:%a}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode" : "month",
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"days": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"weeks": "<span color='#cdd6f4'><b>W{}</b></span>",
|
||||||
|
"weekdays": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"today": "<span color='#f38ba8'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {used}GiB",
|
||||||
|
"format-alt": " {used:0.1f}G",
|
||||||
|
"max-length": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureF}°F"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": " {}",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - NVIM": " NeoVim",
|
||||||
|
"(.*) — Mozilla Firefox": " Mozilla Firefox",
|
||||||
|
" ": " Desktop",
|
||||||
|
"(.*) Spotify Free": " Spotify",
|
||||||
|
"(.*) Spotify": " Spotify",
|
||||||
|
" ~": " l6174@Radon",
|
||||||
|
"(.*) - Obsidian(.*)": " Obsidian",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"all-outputs": true,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"1": "",
|
||||||
|
"2": "",
|
||||||
|
"3": "",
|
||||||
|
"urgent": "",
|
||||||
|
"active": "",
|
||||||
|
"default": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} <b>{percent}</b>",
|
||||||
|
"format-icons": ["", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} <b>{volume}</b>",
|
||||||
|
"format-bluetooth": "{icon} {volume}%",
|
||||||
|
"format-bluetooth-muted": " ",
|
||||||
|
"format-muted": " ",
|
||||||
|
"format-icons": {
|
||||||
|
"headset": "",
|
||||||
|
"default": ["", ""],
|
||||||
|
},
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"interval": 30,
|
||||||
|
"format-wifi": " {essid}",
|
||||||
|
"format-ethernet": " Wired",
|
||||||
|
"fomat-disconnected": " Disconnected",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-ethernet": "{ifname} ",
|
||||||
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": [" ", " ", " ", " ", " "],
|
||||||
|
"max-length": 25,
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 20,
|
||||||
|
"spacing": 10,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-dot": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "$HOME/.config/hypr/scripts/random-wallpaper"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-gap": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-arrow": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/spotify": {
|
||||||
|
"exec": "/usr/bin/python3 $HOME/.config/waybar/custom-scripts/mediaplayer.py --player spotify --verbose",
|
||||||
|
"format": " {} ",
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"on-scroll-up": "playerctl next",
|
||||||
|
"on-scroll-down": "playerctl previous"
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/powermenu",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,207 @@
|
|||||||
|
{
|
||||||
|
"layer": "top",
|
||||||
|
"position": "top",
|
||||||
|
"spacing": 4,
|
||||||
|
"margin-top": 5,
|
||||||
|
"margin-bottom": 0,
|
||||||
|
"margin-left": 5,
|
||||||
|
"margin-right": 5,
|
||||||
|
|
||||||
|
"modules-left": [
|
||||||
|
"custom/icon",
|
||||||
|
"custom/separator-space",
|
||||||
|
"hyprland/workspaces",
|
||||||
|
"custom/spotify",2
|
||||||
|
"custom/separator-arrow",
|
||||||
|
"hyprland/window",
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-center": [
|
||||||
|
"clock"
|
||||||
|
],
|
||||||
|
|
||||||
|
"modules-right": [
|
||||||
|
"backlight",
|
||||||
|
"pulseaudio",
|
||||||
|
"network",
|
||||||
|
"battery",
|
||||||
|
"tray",
|
||||||
|
"custom/inhibitor",
|
||||||
|
"custom/notification",
|
||||||
|
"custom/power",
|
||||||
|
],
|
||||||
|
|
||||||
|
"custom/icon": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/launcher",
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"cpu": {
|
||||||
|
"interval": 10,
|
||||||
|
"format": " {usage}%",
|
||||||
|
"max-length": 10,
|
||||||
|
"tooltip": false
|
||||||
|
},
|
||||||
|
|
||||||
|
"clock": {
|
||||||
|
"format": "<b> {:%H:%M %d/%m} </b>",
|
||||||
|
//"format": "{:%a}",
|
||||||
|
"tooltip-format": "<tt>{calendar}</tt>",
|
||||||
|
"calendar": {
|
||||||
|
"mode" : "month",
|
||||||
|
"format": {
|
||||||
|
"months": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"days": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"weeks": "<span color='#cdd6f4'><b>W{}</b></span>",
|
||||||
|
"weekdays": "<span color='#cdd6f4'><b>{}</b></span>",
|
||||||
|
"today": "<span color='#f38ba8'><b>{}</b></span>"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
"memory": {
|
||||||
|
"interval": 30,
|
||||||
|
"format": " {used}GiB",
|
||||||
|
"format-alt": " {used:0.1f}G",
|
||||||
|
"max-length": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
"temperature": {
|
||||||
|
"format": " {temperatureF}°F"
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/window": {
|
||||||
|
"format": " {}",
|
||||||
|
"rewrite": {
|
||||||
|
"(.*) - NVIM": " NeoVim",
|
||||||
|
"(.*) — Mozilla Firefox": " Firefox",
|
||||||
|
" ": " Desktop",
|
||||||
|
"(.*) Spotify Free": " Spotify",
|
||||||
|
"(.*) Spotify": " Spotify",
|
||||||
|
" ~": " l6174@Radon",
|
||||||
|
"(.*) - Obsidian(.*)": " Obsidian",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"hyprland/workspaces": {
|
||||||
|
"all-outputs": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"urgent": " ",
|
||||||
|
"persistent": " ",
|
||||||
|
"active": " ",
|
||||||
|
"empty": " "
|
||||||
|
},
|
||||||
|
"persistent-workspaces": {
|
||||||
|
"1": [],
|
||||||
|
"2": [],
|
||||||
|
"3": [],
|
||||||
|
"4": []
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
"backlight": {
|
||||||
|
"format": "{icon} <b>{percent}</b>",
|
||||||
|
"format-icons": ["", "", ""],
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"pulseaudio": {
|
||||||
|
"format": "{icon} <b>{volume}</b>",
|
||||||
|
"format-bluetooth": "{icon} {volume}%",
|
||||||
|
"format-bluetooth-muted": " ",
|
||||||
|
"format-muted": " ",
|
||||||
|
"format-icons": {
|
||||||
|
"headset": "",
|
||||||
|
"default": ["", "", ""],
|
||||||
|
},
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "pavucontrol",
|
||||||
|
},
|
||||||
|
|
||||||
|
"network": {
|
||||||
|
"interval": 30,
|
||||||
|
"format-wifi": " {essid}",
|
||||||
|
"format-ethernet": " Wired",
|
||||||
|
"fomat-disconnected": " Disconnected",
|
||||||
|
"tooltip-format-wifi": "{essid} ({signalStrength}%)",
|
||||||
|
"tooltip-format-ethernet": "{ifname} ",
|
||||||
|
"tooltip-format-disconnected": "Disconnected",
|
||||||
|
},
|
||||||
|
"battery": {
|
||||||
|
"states": {
|
||||||
|
"warning": 30,
|
||||||
|
"critical": 15
|
||||||
|
},
|
||||||
|
"format": "{icon} {capacity}%",
|
||||||
|
"format-icons": ["", "", "", "", "", ""],
|
||||||
|
"max-length": 25,
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"tray": {
|
||||||
|
"icon-size": 20,
|
||||||
|
"spacing": 10,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/inhibitor": {
|
||||||
|
"exec": "~/.local/bin/waybar-inhibitor",
|
||||||
|
"interval": 5,
|
||||||
|
"return-type": "json",
|
||||||
|
"tooltip": true,
|
||||||
|
"on-click": "~/.local/bin/inhibitor",
|
||||||
|
"signal": 10
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
"custom/separator-dot": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
"on-click": "$HOME/.config/hypr/scripts/random-wallpaper"
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-gap": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/separator-arrow": {
|
||||||
|
"format": " ",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
|
||||||
|
"custom/spotify": {
|
||||||
|
"exec": "/usr/bin/python3 $HOME/.config/waybar/custom-scripts/mediaplayer.py --player spotify --verbose",
|
||||||
|
"format": " {} ",
|
||||||
|
"return-type": "json",
|
||||||
|
"on-click": "playerctl play-pause",
|
||||||
|
"on-scroll-up": "playerctl next",
|
||||||
|
"on-scroll-down": "playerctl previous"
|
||||||
|
},
|
||||||
|
"custom/power": {
|
||||||
|
"format": "",
|
||||||
|
"on-click": "~/.config/rofi/bin/powermenu",
|
||||||
|
"tooltip": false,
|
||||||
|
},
|
||||||
|
"custom/notification": {
|
||||||
|
"tooltip": false,
|
||||||
|
"format": "{icon}",
|
||||||
|
"format-icons": {
|
||||||
|
"notification": " ",
|
||||||
|
"none": " ",
|
||||||
|
"dnd-notification": " ",
|
||||||
|
"dnd-none": " ",
|
||||||
|
"inhibited-notification": " ",
|
||||||
|
"inhibited-none": " ",
|
||||||
|
"dnd-inhibited-notification": " ",
|
||||||
|
"dnd-inhibited-none": " "
|
||||||
|
},
|
||||||
|
"return-type": "json",
|
||||||
|
"exec-if": "which swaync-client",
|
||||||
|
"exec": "swaync-client -swb",
|
||||||
|
"on-click": "swaync-client -t -sw",
|
||||||
|
"on-click-right": "swaync-client -d -sw",
|
||||||
|
"escape": true
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -0,0 +1,179 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
import gi
|
||||||
|
gi.require_version("Playerctl", "2.0")
|
||||||
|
from gi.repository import Playerctl, GLib
|
||||||
|
from gi.repository.Playerctl import Player
|
||||||
|
import argparse
|
||||||
|
import logging
|
||||||
|
import sys
|
||||||
|
import signal
|
||||||
|
import gi
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
def signal_handler(sig, frame):
|
||||||
|
logger.info("Received signal to stop, exiting")
|
||||||
|
sys.stdout.write("\n")
|
||||||
|
sys.stdout.flush()
|
||||||
|
# loop.quit()
|
||||||
|
sys.exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
class PlayerManager:
|
||||||
|
def __init__(self, selected_player=None):
|
||||||
|
self.manager = Playerctl.PlayerManager()
|
||||||
|
self.loop = GLib.MainLoop()
|
||||||
|
self.manager.connect(
|
||||||
|
"name-appeared", lambda *args: self.on_player_appeared(*args))
|
||||||
|
self.manager.connect(
|
||||||
|
"player-vanished", lambda *args: self.on_player_vanished(*args))
|
||||||
|
|
||||||
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
signal.signal(signal.SIGTERM, signal_handler)
|
||||||
|
signal.signal(signal.SIGPIPE, signal.SIG_DFL)
|
||||||
|
self.selected_player = selected_player
|
||||||
|
|
||||||
|
self.init_players()
|
||||||
|
|
||||||
|
def init_players(self):
|
||||||
|
for player in self.manager.props.player_names:
|
||||||
|
if self.selected_player is not None and self.selected_player != player.name:
|
||||||
|
logger.debug(f"{player.name} is not the filtered player, skipping it")
|
||||||
|
continue
|
||||||
|
self.init_player(player)
|
||||||
|
|
||||||
|
def run(self):
|
||||||
|
logger.info("Starting main loop")
|
||||||
|
self.loop.run()
|
||||||
|
|
||||||
|
def init_player(self, player):
|
||||||
|
logger.info(f"Initialize new player: {player.name}")
|
||||||
|
player = Playerctl.Player.new_from_name(player)
|
||||||
|
player.connect("playback-status",
|
||||||
|
self.on_playback_status_changed, None)
|
||||||
|
player.connect("metadata", self.on_metadata_changed, None)
|
||||||
|
self.manager.manage_player(player)
|
||||||
|
self.on_metadata_changed(player, player.props.metadata)
|
||||||
|
|
||||||
|
def get_players(self) -> List[Player]:
|
||||||
|
return self.manager.props.players
|
||||||
|
|
||||||
|
def write_output(self, text, player):
|
||||||
|
logger.debug(f"Writing output: {text}")
|
||||||
|
|
||||||
|
output = {"text": text,
|
||||||
|
"class": "custom-" + player.props.player_name,
|
||||||
|
"alt": player.props.player_name}
|
||||||
|
|
||||||
|
sys.stdout.write(json.dumps(output) + "\n")
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
def clear_output(self):
|
||||||
|
sys.stdout.write("\n")
|
||||||
|
sys.stdout.flush()
|
||||||
|
|
||||||
|
def on_playback_status_changed(self, player, status, _=None):
|
||||||
|
logger.debug(f"Playback status changed for player {player.props.player_name}: {status}")
|
||||||
|
self.on_metadata_changed(player, player.props.metadata)
|
||||||
|
|
||||||
|
def get_first_playing_player(self):
|
||||||
|
players = self.get_players()
|
||||||
|
logger.debug(f"Getting first playing player from {len(players)} players")
|
||||||
|
if len(players) > 0:
|
||||||
|
# if any are playing, show the first one that is playing
|
||||||
|
# reverse order, so that the most recently added ones are preferred
|
||||||
|
for player in players[::-1]:
|
||||||
|
if player.props.status == "Playing":
|
||||||
|
return player
|
||||||
|
# if none are playing, show the first one
|
||||||
|
return players[0]
|
||||||
|
else:
|
||||||
|
logger.debug("No players found")
|
||||||
|
return None
|
||||||
|
|
||||||
|
def show_most_important_player(self):
|
||||||
|
logger.debug("Showing most important player")
|
||||||
|
# show the currently playing player
|
||||||
|
# or else show the first paused player
|
||||||
|
# or else show nothing
|
||||||
|
current_player = self.get_first_playing_player()
|
||||||
|
if current_player is not None:
|
||||||
|
self.on_metadata_changed(current_player, current_player.props.metadata)
|
||||||
|
else:
|
||||||
|
self.clear_output()
|
||||||
|
|
||||||
|
def on_metadata_changed(self, player, metadata, _=None):
|
||||||
|
logger.debug(f"Metadata changed for player {player.props.player_name}")
|
||||||
|
player_name = player.props.player_name
|
||||||
|
title = player.get_title()
|
||||||
|
|
||||||
|
track_info = ""
|
||||||
|
if player_name == "spotify" and "mpris:trackid" in metadata.keys() and ":ad:" in player.props.metadata["mpris:trackid"]:
|
||||||
|
track_info = "Advertisement"
|
||||||
|
else:
|
||||||
|
track_info = title
|
||||||
|
|
||||||
|
if track_info:
|
||||||
|
if player.props.status == "Playing":
|
||||||
|
track_info = " " + track_info
|
||||||
|
else:
|
||||||
|
track_info = " " + track_info
|
||||||
|
# only print output if no other player is playing
|
||||||
|
current_playing = self.get_first_playing_player()
|
||||||
|
if current_playing is None or current_playing.props.player_name == player.props.player_name:
|
||||||
|
self.write_output(track_info, player)
|
||||||
|
else:
|
||||||
|
logger.debug(f"Other player {current_playing.props.player_name} is playing, skipping")
|
||||||
|
|
||||||
|
def on_player_appeared(self, _, player):
|
||||||
|
logger.info(f"Player has appeared: {player.name}")
|
||||||
|
if player is not None and (self.selected_player is None or player.name == self.selected_player):
|
||||||
|
self.init_player(player)
|
||||||
|
else:
|
||||||
|
logger.debug(
|
||||||
|
"New player appeared, but it's not the selected player, skipping")
|
||||||
|
|
||||||
|
def on_player_vanished(self, _, player):
|
||||||
|
logger.info(f"Player {player.props.player_name} has vanished")
|
||||||
|
self.show_most_important_player()
|
||||||
|
|
||||||
|
def parse_arguments():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
# Increase verbosity with every occurrence of -v
|
||||||
|
parser.add_argument("-v", "--verbose", action="count", default=0)
|
||||||
|
|
||||||
|
# Define for which player we"re listening
|
||||||
|
parser.add_argument("--player")
|
||||||
|
|
||||||
|
parser.add_argument("--enable-logging", action="store_true")
|
||||||
|
|
||||||
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
arguments = parse_arguments()
|
||||||
|
|
||||||
|
# Initialize logging
|
||||||
|
if arguments.enable_logging:
|
||||||
|
logfile = os.path.join(os.path.dirname(
|
||||||
|
os.path.realpath(__file__)), "media-player.log")
|
||||||
|
logging.basicConfig(filename=logfile, level=logging.DEBUG,
|
||||||
|
format="%(asctime)s %(name)s %(levelname)s:%(lineno)d %(message)s")
|
||||||
|
|
||||||
|
# Logging is set by default to WARN and higher.
|
||||||
|
# With every occurrence of -v it's lowered by one
|
||||||
|
logger.setLevel(max((3 - arguments.verbose) * 10, 0))
|
||||||
|
|
||||||
|
logger.info("Creating player manager")
|
||||||
|
if arguments.player:
|
||||||
|
logger.info(f"Filtering for player: {arguments.player}")
|
||||||
|
player = PlayerManager(arguments.player)
|
||||||
|
player.run()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
sleep 1
|
||||||
|
figlet "Update"
|
||||||
|
sleep 0.5
|
||||||
|
echo "."
|
||||||
|
sleep 0.5
|
||||||
|
echo "."
|
||||||
|
sleep 0.5
|
||||||
|
echo "."
|
||||||
|
sleep 0.5
|
||||||
|
arch-update
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# _ _ _ _
|
||||||
|
# | | | |_ __ __| | __ _| |_ ___ ___
|
||||||
|
# | | | | '_ \ / _` |/ _` | __/ _ \/ __|
|
||||||
|
# | |_| | |_) | (_| | (_| | || __/\__ \
|
||||||
|
# \___/| .__/ \__,_|\__,_|\__\___||___/
|
||||||
|
# |_|
|
||||||
|
#
|
||||||
|
# by Stephan Raabe (2023)
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Define threshholds for color indicators
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
threshhold_green=0
|
||||||
|
threshhold_yellow=25
|
||||||
|
threshhold_red=100
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Calculate available updates pacman and aur (with aur)
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
if ! updates_arch=$(checkupdates 2> /dev/null | wc -l ); then
|
||||||
|
updates_arch=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! updates_aur=$(paru -Qua | wc -l); then
|
||||||
|
updates_aur=0
|
||||||
|
fi
|
||||||
|
|
||||||
|
updates=$(("$updates_arch" + "$updates_aur"))
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Testing
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
# Overwrite updates with numbers for testing
|
||||||
|
# updates=50
|
||||||
|
|
||||||
|
# test JSON output
|
||||||
|
# printf '{"text": "0", "alt": "0", "tooltip": "0 Updates", "class": "red"}'
|
||||||
|
# exit
|
||||||
|
|
||||||
|
# -----------------------------------------------------
|
||||||
|
# Output in JSON format for Waybar Module custom-updates
|
||||||
|
# -----------------------------------------------------
|
||||||
|
|
||||||
|
css_class="green"
|
||||||
|
|
||||||
|
if [ "$updates" -gt $threshhold_yellow ]; then
|
||||||
|
css_class="yellow"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$updates" -gt $threshhold_red ]; then
|
||||||
|
css_class="red"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$updates" -gt $threshhold_green ]; then
|
||||||
|
printf '{"text": "%s", "alt": "%s", "tooltip": "%s Updates", "class": "%s"}' "$updates" "$updates" "$updates" "$css_class"
|
||||||
|
else
|
||||||
|
printf '{"text": "0", "alt": "0", "tooltip": "0 Updates", "class": "green"}'
|
||||||
|
fi
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* Catppuccin Mocha palette
|
||||||
|
* Maintainer: rubyowo
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
@define-color base #1e1e2e;
|
||||||
|
@define-color mantle #181825;
|
||||||
|
@define-color crust #11111b;
|
||||||
|
|
||||||
|
@define-color text #cdd6f4;
|
||||||
|
@define-color subtext0 #a6adc8;
|
||||||
|
@define-color subtext1 #bac2de;
|
||||||
|
|
||||||
|
@define-color surface0 #313244;
|
||||||
|
@define-color surface1 #45475a;
|
||||||
|
@define-color surface2 #585b70;
|
||||||
|
|
||||||
|
@define-color overlay0 #6c7086;
|
||||||
|
@define-color overlay1 #7f849c;
|
||||||
|
@define-color overlay2 #9399b2;
|
||||||
|
|
||||||
|
@define-color blue #89b4fa;
|
||||||
|
@define-color lavender #b4befe;
|
||||||
|
@define-color sapphire #74c7ec;
|
||||||
|
@define-color sky #89dceb;
|
||||||
|
@define-color teal #94e2d5;
|
||||||
|
@define-color green #a6e3a1;
|
||||||
|
@define-color yellow #f9e2af;
|
||||||
|
@define-color peach #fab387;
|
||||||
|
@define-color maroon #eba0ac;
|
||||||
|
@define-color red #f38ba8;
|
||||||
|
@define-color mauve #cba6f7;
|
||||||
|
@define-color pink #f5c2e7;
|
||||||
|
@define-color flamingo #f2cdcd;
|
||||||
|
@define-color rosewater #f5e0dc;
|
||||||
@@ -0,0 +1,181 @@
|
|||||||
|
@import "mocha.css";
|
||||||
|
|
||||||
|
* {
|
||||||
|
padding: 1px;
|
||||||
|
margin: 0px;
|
||||||
|
font-family: "Overpass", "JetBrains Mono Nerd Font";
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Set a Uniform Border Radius ------ */
|
||||||
|
.modules-left, .modules-center, .modules-right, #cpu, #memory, #temperature, #pulseaudio, #backlight, #custom-spotify, #custom-icon, #custom-updates, #network, #battery, #tray, #idle_inhibitor, #custom-power, #custom-notification {
|
||||||
|
border-radius: 99px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Modules Left ------ */
|
||||||
|
.modules-left {
|
||||||
|
background-color: @base;
|
||||||
|
padding-right: 5px;
|
||||||
|
padding-left: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Modules Center ------ */
|
||||||
|
.modules-center {
|
||||||
|
background-color: @base;
|
||||||
|
padding-right: 5px;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Modules Right ------ */
|
||||||
|
.modules-right {
|
||||||
|
background-color: @base;
|
||||||
|
padding-right: 5px;
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Cpu Usage, Temperature, and Memory ------ */
|
||||||
|
#cpu, #temperature, #memory {
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 5px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cpu { color: @peach; }
|
||||||
|
#memory { color: @mauve; }
|
||||||
|
#temperature { color: @maroon; }
|
||||||
|
|
||||||
|
/* ------ Window Title ------ */
|
||||||
|
#window {
|
||||||
|
color: @text;
|
||||||
|
padding-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
window#waybar {
|
||||||
|
background-color: rgba(0, 0, 0, 0);
|
||||||
|
border-bottom: 0px solid #ffffff;
|
||||||
|
/* color: #FFFFFF; */
|
||||||
|
background: transparent;
|
||||||
|
transition-property: background-color;
|
||||||
|
transition-duration: .5s;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -----------------------------------------------------
|
||||||
|
* Workspaces
|
||||||
|
* ----------------------------------------------------- */
|
||||||
|
|
||||||
|
#workspaces button.empty {
|
||||||
|
color: @surface2;
|
||||||
|
font-family: JetBrainsMono Nerd Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces {
|
||||||
|
margin: 0px 1px 0px 1px;
|
||||||
|
padding: 0px 12px 0px 0px;
|
||||||
|
font-family: JetBrainsMono Nerd Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button {
|
||||||
|
padding: 0px 2px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
color: @yellow;
|
||||||
|
font-family: JetBrainsMono Nerd Font;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
opacity:0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Pulseaudio ------ */
|
||||||
|
#pulseaudio {
|
||||||
|
color: @peach;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 8px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Backlight ------ */
|
||||||
|
#backlight {
|
||||||
|
color: @sky;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 5px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Network ------ */
|
||||||
|
#network {
|
||||||
|
color: @mauve;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 8px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Battery ------ */
|
||||||
|
#battery {
|
||||||
|
color: @maroon;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 5px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Clock ------ */
|
||||||
|
#clock {
|
||||||
|
padding-left: 10px;
|
||||||
|
color: @text;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 13px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ System Tray ------ */
|
||||||
|
#tray {
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 5px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------ Custom Modules ------ */
|
||||||
|
#custom-separator-arrow {
|
||||||
|
font-size: 14px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-separator-dot {
|
||||||
|
font-size: 15px;
|
||||||
|
color: @text;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-spotify {
|
||||||
|
color: @mauve;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 9px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-power {
|
||||||
|
color: @red;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 9px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
#idle_inhibitor {
|
||||||
|
color: @green;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 9px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
font-size: 15px;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#custom-notification {
|
||||||
|
color: @teal;
|
||||||
|
background-color: @surface1;
|
||||||
|
padding: 2px 9px;
|
||||||
|
margin: 4px 2px;
|
||||||
|
font-size: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tooltip {
|
||||||
|
background: @base;
|
||||||
|
border: 1px solid @blue;
|
||||||
|
}
|
||||||
@@ -3,7 +3,7 @@ local wezterm = require("wezterm")
|
|||||||
|
|
||||||
-- This table will hold the configuration.
|
-- This table will hold the configuration.
|
||||||
local config = {}
|
local config = {}
|
||||||
|
config.enable_wayland = false
|
||||||
config.default_prog = { "usr/bin/zsh", "-l" }
|
config.default_prog = { "usr/bin/zsh", "-l" }
|
||||||
-- In newer versions of wezterm, use the config_builder which will
|
-- In newer versions of wezterm, use the config_builder which will
|
||||||
-- help provide clearer error messages
|
-- help provide clearer error messages
|
||||||
|
|||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# EditorConfig helps developers define and maintain consistent
|
||||||
|
# coding styles between different editors and IDEs
|
||||||
|
# EditorConfig is awesome: https://EditorConfig.org
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8
|
||||||
|
indent_size = 2
|
||||||
|
indent_style = space
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
# go
|
||||||
|
[*.go]
|
||||||
|
indent_style = tab
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# python
|
||||||
|
[*.{ini,py,py.tpl,rst}]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# rust
|
||||||
|
[*.rs]
|
||||||
|
indent_size = 4
|
||||||
|
|
||||||
|
# documentation, utils
|
||||||
|
[*.{md,mdx,diff}]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
# windows shell scripts
|
||||||
|
[*.{cmd,bat,ps1}]
|
||||||
|
end_of_line = crlf
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2021 Catppuccin
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
<h3 align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/logos/exports/1544x1544_circle.png" width="100" alt="Logo"/><br/>
|
||||||
|
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||||
|
Catppuccin for <a href="https://hg.sr.ht/~scoopta/wofi">Wofi</a>
|
||||||
|
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png" height="30" width="0px"/>
|
||||||
|
</h3>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/quantumfate/wofi/stargazers"><img src="https://img.shields.io/github/stars/catppuccin/template?colorA=363a4f&colorB=b7bdf8&style=for-the-badge"></a>
|
||||||
|
<a href="https://github.com/quantumfate/wofi/issues"><img src="https://img.shields.io/github/issues/catppuccin/template?colorA=363a4f&colorB=f5a97f&style=for-the-badge"></a>
|
||||||
|
<a href="https://github.com/quantumfate/wofi/contributors"><img src="https://img.shields.io/github/contributors/catppuccin/template?colorA=363a4f&colorB=a6da95&style=for-the-badge"></a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/quantumfate/wofi/main/assets/preview.webp"/>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
## Previews
|
||||||
|
|
||||||
|
<details>
|
||||||
|
<summary>🌻 Latte</summary>
|
||||||
|
<img src="https://raw.githubusercontent.com/quantumfate/wofi/main/assets/latte.webp"/>
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>🪴 Frappé</summary>
|
||||||
|
<img src="https://raw.githubusercontent.com/quantumfate/wofi/main/assets/frappe.webp"/>
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>🌺 Macchiato</summary>
|
||||||
|
<img src="https://raw.githubusercontent.com/quantumfate/wofi/main/assets/macchiato.webp"/>
|
||||||
|
</details>
|
||||||
|
<details>
|
||||||
|
<summary>🌿 Mocha</summary>
|
||||||
|
<img src="https://raw.githubusercontent.com/quantumfate/wofi/main/assets/mocha.webp"/>
|
||||||
|
</details>
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
1. Clone this repository locally to your desired location. Typically something like `~/.config/`
|
||||||
|
2. Launch Wofi with your desired flavor (e.g. `latte`, `frappe`, `macchiato` or `mocha`).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
wofi --conf <your-path-to-wofi>/config --style <your-path-to-wofi>/<flavor>/style.css
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
I'm personally using a bash script:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
CONFIG="$HOME/.config/hypr/wofi/config/config"
|
||||||
|
STYLE="$HOME/.config/hypr/wofi/src/mocha/style.css"
|
||||||
|
|
||||||
|
if [[ ! $(pidof wofi) ]]; then
|
||||||
|
wofi --conf "${CONFIG}" --style "${STYLE}"
|
||||||
|
else
|
||||||
|
pkill wofi
|
||||||
|
fi
|
||||||
|
```
|
||||||
|
|
||||||
|
- Q: **_"Which flavor of CSS is supported."_**\
|
||||||
|
A: [GTK CSS](https://docs.gtk.org/gtk3/). Note that hsl-colors are not supported.
|
||||||
|
|
||||||
|
- Q: **_"Where can I find CSS targets for theme customization."_**\
|
||||||
|
A: On the [Wofi page](https://hg.sr.ht/~scoopta/wofi) and on the [man page](https://man.archlinux.org/man/wofi.7.en).
|
||||||
|
|
||||||
|
- Q: **_"My CSS imports are not working."_**\
|
||||||
|
A: Please read the [Wofi configuration](https://man.archlinux.org/man/wofi.5.en#CONFIG_OPTIONS) options. Especially in regards to `style` and `stylesheet`. We avoid import statements for simplicity.
|
||||||
|
|
||||||
|
## 💝 Thanks to
|
||||||
|
|
||||||
|
- [quantumfate](https://github.com/quantumfate)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" />
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
Copyright © 2021-present <a href="https://github.com/catppuccin" target="_blank">Catppuccin Org</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://github.com/catppuccin/catppuccin/blob/main/LICENSE"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
|
||||||
|
</p>
|
||||||
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,314 @@
|
|||||||
|
:root {
|
||||||
|
--ctp-latte-rosewater: #dc8a78;
|
||||||
|
--ctp-latte-rosewater-rgb: rgb(220, 138, 120);
|
||||||
|
--ctp-latte-rosewater-hsl: hsl(11, 59%, 67%);
|
||||||
|
--ctp-frappe-rosewater: #f2d5cf;
|
||||||
|
--ctp-frappe-rosewater-rgb: rgb(242, 213, 207);
|
||||||
|
--ctp-frappe-rosewater-hsl: hsl(10, 57%, 88%);
|
||||||
|
--ctp-macchiato-rosewater: #f4dbd6;
|
||||||
|
--ctp-macchiato-rosewater-rgb: rgb(244, 219, 214);
|
||||||
|
--ctp-macchiato-rosewater-hsl: hsl(10, 58%, 90%);
|
||||||
|
--ctp-mocha-rosewater: #f5e0dc;
|
||||||
|
--ctp-mocha-rosewater-rgb: rgb(245, 224, 220);
|
||||||
|
--ctp-mocha-rosewater-hsl: hsl(10, 56%, 91%);
|
||||||
|
--ctp-latte-flamingo: #dd7878;
|
||||||
|
--ctp-latte-flamingo-rgb: rgb(221, 120, 120);
|
||||||
|
--ctp-latte-flamingo-hsl: hsl(0, 60%, 67%);
|
||||||
|
--ctp-frappe-flamingo: #eebebe;
|
||||||
|
--ctp-frappe-flamingo-rgb: rgb(238, 190, 190);
|
||||||
|
--ctp-frappe-flamingo-hsl: hsl(0, 59%, 84%);
|
||||||
|
--ctp-macchiato-flamingo: #f0c6c6;
|
||||||
|
--ctp-macchiato-flamingo-rgb: rgb(240, 198, 198);
|
||||||
|
--ctp-macchiato-flamingo-hsl: hsl(0, 58%, 86%);
|
||||||
|
--ctp-mocha-flamingo: #f2cdcd;
|
||||||
|
--ctp-mocha-flamingo-rgb: rgb(242, 205, 205);
|
||||||
|
--ctp-mocha-flamingo-hsl: hsl(0, 59%, 88%);
|
||||||
|
--ctp-latte-pink: #ea76cb;
|
||||||
|
--ctp-latte-pink-rgb: rgb(234, 118, 203);
|
||||||
|
--ctp-latte-pink-hsl: hsl(316, 73%, 69%);
|
||||||
|
--ctp-frappe-pink: #f4b8e4;
|
||||||
|
--ctp-frappe-pink-rgb: rgb(244, 184, 228);
|
||||||
|
--ctp-frappe-pink-hsl: hsl(316, 73%, 84%);
|
||||||
|
--ctp-macchiato-pink: #f5bde6;
|
||||||
|
--ctp-macchiato-pink-rgb: rgb(245, 189, 230);
|
||||||
|
--ctp-macchiato-pink-hsl: hsl(316, 74%, 85%);
|
||||||
|
--ctp-mocha-pink: #f5c2e7;
|
||||||
|
--ctp-mocha-pink-rgb: rgb(245, 194, 231);
|
||||||
|
--ctp-mocha-pink-hsl: hsl(316, 72%, 86%);
|
||||||
|
--ctp-latte-mauve: #8839ef;
|
||||||
|
--ctp-latte-mauve-rgb: rgb(136, 57, 239);
|
||||||
|
--ctp-latte-mauve-hsl: hsl(266, 85%, 58%);
|
||||||
|
--ctp-frappe-mauve: #ca9ee6;
|
||||||
|
--ctp-frappe-mauve-rgb: rgb(202, 158, 230);
|
||||||
|
--ctp-frappe-mauve-hsl: hsl(277, 59%, 76%);
|
||||||
|
--ctp-macchiato-mauve: #c6a0f6;
|
||||||
|
--ctp-macchiato-mauve-rgb: rgb(198, 160, 246);
|
||||||
|
--ctp-macchiato-mauve-hsl: hsl(267, 83%, 80%);
|
||||||
|
--ctp-mocha-mauve: #cba6f7;
|
||||||
|
--ctp-mocha-mauve-rgb: rgb(203, 166, 247);
|
||||||
|
--ctp-mocha-mauve-hsl: hsl(267, 84%, 81%);
|
||||||
|
--ctp-latte-red: #d20f39;
|
||||||
|
--ctp-latte-red-rgb: rgb(210, 15, 57);
|
||||||
|
--ctp-latte-red-hsl: hsl(347, 87%, 44%);
|
||||||
|
--ctp-frappe-red: #e78284;
|
||||||
|
--ctp-frappe-red-rgb: rgb(231, 130, 132);
|
||||||
|
--ctp-frappe-red-hsl: hsl(359, 68%, 71%);
|
||||||
|
--ctp-macchiato-red: #ed8796;
|
||||||
|
--ctp-macchiato-red-rgb: rgb(237, 135, 150);
|
||||||
|
--ctp-macchiato-red-hsl: hsl(351, 74%, 73%);
|
||||||
|
--ctp-mocha-red: #f38ba8;
|
||||||
|
--ctp-mocha-red-rgb: rgb(243, 139, 168);
|
||||||
|
--ctp-mocha-red-hsl: hsl(343, 81%, 75%);
|
||||||
|
--ctp-latte-maroon: #e64553;
|
||||||
|
--ctp-latte-maroon-rgb: rgb(230, 69, 83);
|
||||||
|
--ctp-latte-maroon-hsl: hsl(355, 76%, 59%);
|
||||||
|
--ctp-frappe-maroon: #ea999c;
|
||||||
|
--ctp-frappe-maroon-rgb: rgb(234, 153, 156);
|
||||||
|
--ctp-frappe-maroon-hsl: hsl(358, 66%, 76%);
|
||||||
|
--ctp-macchiato-maroon: #ee99a0;
|
||||||
|
--ctp-macchiato-maroon-rgb: rgb(238, 153, 160);
|
||||||
|
--ctp-macchiato-maroon-hsl: hsl(355, 71%, 77%);
|
||||||
|
--ctp-mocha-maroon: #eba0ac;
|
||||||
|
--ctp-mocha-maroon-rgb: rgb(235, 160, 172);
|
||||||
|
--ctp-mocha-maroon-hsl: hsl(350, 65%, 77%);
|
||||||
|
--ctp-latte-peach: #fe640b;
|
||||||
|
--ctp-latte-peach-rgb: rgb(254, 100, 11);
|
||||||
|
--ctp-latte-peach-hsl: hsl(22, 99%, 52%);
|
||||||
|
--ctp-frappe-peach: #ef9f76;
|
||||||
|
--ctp-frappe-peach-rgb: rgb(239, 159, 118);
|
||||||
|
--ctp-frappe-peach-hsl: hsl(20, 79%, 70%);
|
||||||
|
--ctp-macchiato-peach: #f5a97f;
|
||||||
|
--ctp-macchiato-peach-rgb: rgb(245, 169, 127);
|
||||||
|
--ctp-macchiato-peach-hsl: hsl(21, 86%, 73%);
|
||||||
|
--ctp-mocha-peach: #fab387;
|
||||||
|
--ctp-mocha-peach-rgb: rgb(250, 179, 135);
|
||||||
|
--ctp-mocha-peach-hsl: hsl(23, 92%, 75%);
|
||||||
|
--ctp-latte-yellow: #df8e1d;
|
||||||
|
--ctp-latte-yellow-rgb: rgb(223, 142, 29);
|
||||||
|
--ctp-latte-yellow-hsl: hsl(35, 77%, 49%);
|
||||||
|
--ctp-frappe-yellow: #e5c890;
|
||||||
|
--ctp-frappe-yellow-rgb: rgb(229, 200, 144);
|
||||||
|
--ctp-frappe-yellow-hsl: hsl(40, 62%, 73%);
|
||||||
|
--ctp-macchiato-yellow: #eed49f;
|
||||||
|
--ctp-macchiato-yellow-rgb: rgb(238, 212, 159);
|
||||||
|
--ctp-macchiato-yellow-hsl: hsl(40, 70%, 78%);
|
||||||
|
--ctp-mocha-yellow: #f9e2af;
|
||||||
|
--ctp-mocha-yellow-rgb: rgb(249, 226, 175);
|
||||||
|
--ctp-mocha-yellow-hsl: hsl(41, 86%, 83%);
|
||||||
|
--ctp-latte-green: #40a02b;
|
||||||
|
--ctp-latte-green-rgb: rgb(64, 160, 43);
|
||||||
|
--ctp-latte-green-hsl: hsl(109, 58%, 40%);
|
||||||
|
--ctp-frappe-green: #a6d189;
|
||||||
|
--ctp-frappe-green-rgb: rgb(166, 209, 137);
|
||||||
|
--ctp-frappe-green-hsl: hsl(96, 44%, 68%);
|
||||||
|
--ctp-macchiato-green: #a6da95;
|
||||||
|
--ctp-macchiato-green-rgb: rgb(166, 218, 149);
|
||||||
|
--ctp-macchiato-green-hsl: hsl(105, 48%, 72%);
|
||||||
|
--ctp-mocha-green: #a6e3a1;
|
||||||
|
--ctp-mocha-green-rgb: rgb(166, 227, 161);
|
||||||
|
--ctp-mocha-green-hsl: hsl(115, 54%, 76%);
|
||||||
|
--ctp-latte-teal: #179299;
|
||||||
|
--ctp-latte-teal-rgb: rgb(23, 146, 153);
|
||||||
|
--ctp-latte-teal-hsl: hsl(183, 74%, 35%);
|
||||||
|
--ctp-frappe-teal: #81c8be;
|
||||||
|
--ctp-frappe-teal-rgb: rgb(129, 200, 190);
|
||||||
|
--ctp-frappe-teal-hsl: hsl(172, 39%, 65%);
|
||||||
|
--ctp-macchiato-teal: #8bd5ca;
|
||||||
|
--ctp-macchiato-teal-rgb: rgb(139, 213, 202);
|
||||||
|
--ctp-macchiato-teal-hsl: hsl(171, 47%, 69%);
|
||||||
|
--ctp-mocha-teal: #94e2d5;
|
||||||
|
--ctp-mocha-teal-rgb: rgb(148, 226, 213);
|
||||||
|
--ctp-mocha-teal-hsl: hsl(170, 57%, 73%);
|
||||||
|
--ctp-latte-sky: #04a5e5;
|
||||||
|
--ctp-latte-sky-rgb: rgb(4, 165, 229);
|
||||||
|
--ctp-latte-sky-hsl: hsl(197, 97%, 46%);
|
||||||
|
--ctp-frappe-sky: #99d1db;
|
||||||
|
--ctp-frappe-sky-rgb: rgb(153, 209, 219);
|
||||||
|
--ctp-frappe-sky-hsl: hsl(189, 48%, 73%);
|
||||||
|
--ctp-macchiato-sky: #91d7e3;
|
||||||
|
--ctp-macchiato-sky-rgb: rgb(145, 215, 227);
|
||||||
|
--ctp-macchiato-sky-hsl: hsl(189, 59%, 73%);
|
||||||
|
--ctp-mocha-sky: #89dceb;
|
||||||
|
--ctp-mocha-sky-rgb: rgb(137, 220, 235);
|
||||||
|
--ctp-mocha-sky-hsl: hsl(189, 71%, 73%);
|
||||||
|
--ctp-latte-sapphire: #209fb5;
|
||||||
|
--ctp-latte-sapphire-rgb: rgb(32, 159, 181);
|
||||||
|
--ctp-latte-sapphire-hsl: hsl(189, 70%, 42%);
|
||||||
|
--ctp-frappe-sapphire: #85c1dc;
|
||||||
|
--ctp-frappe-sapphire-rgb: rgb(133, 193, 220);
|
||||||
|
--ctp-frappe-sapphire-hsl: hsl(199, 55%, 69%);
|
||||||
|
--ctp-macchiato-sapphire: #7dc4e4;
|
||||||
|
--ctp-macchiato-sapphire-rgb: rgb(125, 196, 228);
|
||||||
|
--ctp-macchiato-sapphire-hsl: hsl(199, 66%, 69%);
|
||||||
|
--ctp-mocha-sapphire: #74c7ec;
|
||||||
|
--ctp-mocha-sapphire-rgb: rgb(116, 199, 236);
|
||||||
|
--ctp-mocha-sapphire-hsl: hsl(199, 76%, 69%);
|
||||||
|
--ctp-latte-blue: #1e66f5;
|
||||||
|
--ctp-latte-blue-rgb: rgb(30, 102, 245);
|
||||||
|
--ctp-latte-blue-hsl: hsl(220, 91%, 54%);
|
||||||
|
--ctp-frappe-blue: #8caaee;
|
||||||
|
--ctp-frappe-blue-rgb: rgb(140, 170, 238);
|
||||||
|
--ctp-frappe-blue-hsl: hsl(222, 74%, 74%);
|
||||||
|
--ctp-macchiato-blue: #8aadf4;
|
||||||
|
--ctp-macchiato-blue-rgb: rgb(138, 173, 244);
|
||||||
|
--ctp-macchiato-blue-hsl: hsl(220, 83%, 75%);
|
||||||
|
--ctp-mocha-blue: #89b4fa;
|
||||||
|
--ctp-mocha-blue-rgb: rgb(137, 180, 250);
|
||||||
|
--ctp-mocha-blue-hsl: hsl(217, 92%, 76%);
|
||||||
|
--ctp-latte-lavender: #7287fd;
|
||||||
|
--ctp-latte-lavender-rgb: rgb(114, 135, 253);
|
||||||
|
--ctp-latte-lavender-hsl: hsl(231, 97%, 72%);
|
||||||
|
--ctp-frappe-lavender: #babbf1;
|
||||||
|
--ctp-frappe-lavender-rgb: rgb(186, 187, 241);
|
||||||
|
--ctp-frappe-lavender-hsl: hsl(239, 66%, 84%);
|
||||||
|
--ctp-macchiato-lavender: #b7bdf8;
|
||||||
|
--ctp-macchiato-lavender-rgb: rgb(183, 189, 248);
|
||||||
|
--ctp-macchiato-lavender-hsl: hsl(234, 82%, 85%);
|
||||||
|
--ctp-mocha-lavender: #b4befe;
|
||||||
|
--ctp-mocha-lavender-rgb: rgb(180, 190, 254);
|
||||||
|
--ctp-mocha-lavender-hsl: hsl(232, 97%, 85%);
|
||||||
|
--ctp-latte-text: #4c4f69;
|
||||||
|
--ctp-latte-text-rgb: rgb(76, 79, 105);
|
||||||
|
--ctp-latte-text-hsl: hsl(234, 16%, 35%);
|
||||||
|
--ctp-frappe-text: #c6d0f5;
|
||||||
|
--ctp-frappe-text-rgb: rgb(198, 208, 245);
|
||||||
|
--ctp-frappe-text-hsl: hsl(227, 70%, 87%);
|
||||||
|
--ctp-macchiato-text: #cad3f5;
|
||||||
|
--ctp-macchiato-text-rgb: rgb(202, 211, 245);
|
||||||
|
--ctp-macchiato-text-hsl: hsl(227, 68%, 88%);
|
||||||
|
--ctp-mocha-text: #cdd6f4;
|
||||||
|
--ctp-mocha-text-rgb: rgb(205, 214, 244);
|
||||||
|
--ctp-mocha-text-hsl: hsl(226, 64%, 88%);
|
||||||
|
--ctp-latte-subtext1: #5c5f77;
|
||||||
|
--ctp-latte-subtext1-rgb: rgb(92, 95, 119);
|
||||||
|
--ctp-latte-subtext1-hsl: hsl(233, 13%, 41%);
|
||||||
|
--ctp-frappe-subtext1: #b5bfe2;
|
||||||
|
--ctp-frappe-subtext1-rgb: rgb(181, 191, 226);
|
||||||
|
--ctp-frappe-subtext1-hsl: hsl(227, 44%, 80%);
|
||||||
|
--ctp-macchiato-subtext1: #b8c0e0;
|
||||||
|
--ctp-macchiato-subtext1-rgb: rgb(184, 192, 224);
|
||||||
|
--ctp-macchiato-subtext1-hsl: hsl(228, 39%, 80%);
|
||||||
|
--ctp-mocha-subtext1: #bac2de;
|
||||||
|
--ctp-mocha-subtext1-rgb: rgb(186, 194, 222);
|
||||||
|
--ctp-mocha-subtext1-hsl: hsl(227, 35%, 80%);
|
||||||
|
--ctp-latte-subtext0: #6c6f85;
|
||||||
|
--ctp-latte-subtext0-rgb: rgb(108, 111, 133);
|
||||||
|
--ctp-latte-subtext0-hsl: hsl(233, 10%, 47%);
|
||||||
|
--ctp-frappe-subtext0: #a5adce;
|
||||||
|
--ctp-frappe-subtext0-rgb: rgb(165, 173, 206);
|
||||||
|
--ctp-frappe-subtext0-hsl: hsl(228, 29%, 73%);
|
||||||
|
--ctp-macchiato-subtext0: #a5adcb;
|
||||||
|
--ctp-macchiato-subtext0-rgb: rgb(165, 173, 203);
|
||||||
|
--ctp-macchiato-subtext0-hsl: hsl(227, 27%, 72%);
|
||||||
|
--ctp-mocha-subtext0: #a6adc8;
|
||||||
|
--ctp-mocha-subtext0-rgb: rgb(166, 173, 200);
|
||||||
|
--ctp-mocha-subtext0-hsl: hsl(228, 24%, 72%);
|
||||||
|
--ctp-latte-overlay2: #7c7f93;
|
||||||
|
--ctp-latte-overlay2-rgb: rgb(124, 127, 147);
|
||||||
|
--ctp-latte-overlay2-hsl: hsl(232, 10%, 53%);
|
||||||
|
--ctp-frappe-overlay2: #949cbb;
|
||||||
|
--ctp-frappe-overlay2-rgb: rgb(148, 156, 187);
|
||||||
|
--ctp-frappe-overlay2-hsl: hsl(228, 22%, 66%);
|
||||||
|
--ctp-macchiato-overlay2: #939ab7;
|
||||||
|
--ctp-macchiato-overlay2-rgb: rgb(147, 154, 183);
|
||||||
|
--ctp-macchiato-overlay2-hsl: hsl(228, 20%, 65%);
|
||||||
|
--ctp-mocha-overlay2: #9399b2;
|
||||||
|
--ctp-mocha-overlay2-rgb: rgb(147, 153, 178);
|
||||||
|
--ctp-mocha-overlay2-hsl: hsl(228, 17%, 64%);
|
||||||
|
--ctp-latte-overlay1: #8c8fa1;
|
||||||
|
--ctp-latte-overlay1-rgb: rgb(140, 143, 161);
|
||||||
|
--ctp-latte-overlay1-hsl: hsl(231, 10%, 59%);
|
||||||
|
--ctp-frappe-overlay1: #838ba7;
|
||||||
|
--ctp-frappe-overlay1-rgb: rgb(131, 139, 167);
|
||||||
|
--ctp-frappe-overlay1-hsl: hsl(227, 17%, 58%);
|
||||||
|
--ctp-macchiato-overlay1: #8087a2;
|
||||||
|
--ctp-macchiato-overlay1-rgb: rgb(128, 135, 162);
|
||||||
|
--ctp-macchiato-overlay1-hsl: hsl(228, 15%, 57%);
|
||||||
|
--ctp-mocha-overlay1: #7f849c;
|
||||||
|
--ctp-mocha-overlay1-rgb: rgb(127, 132, 156);
|
||||||
|
--ctp-mocha-overlay1-hsl: hsl(230, 13%, 55%);
|
||||||
|
--ctp-latte-overlay0: #9ca0b0;
|
||||||
|
--ctp-latte-overlay0-rgb: rgb(156, 160, 176);
|
||||||
|
--ctp-latte-overlay0-hsl: hsl(228, 11%, 65%);
|
||||||
|
--ctp-frappe-overlay0: #737994;
|
||||||
|
--ctp-frappe-overlay0-rgb: rgb(115, 121, 148);
|
||||||
|
--ctp-frappe-overlay0-hsl: hsl(229, 13%, 52%);
|
||||||
|
--ctp-macchiato-overlay0: #6e738d;
|
||||||
|
--ctp-macchiato-overlay0-rgb: rgb(110, 115, 141);
|
||||||
|
--ctp-macchiato-overlay0-hsl: hsl(230, 12%, 49%);
|
||||||
|
--ctp-mocha-overlay0: #6c7086;
|
||||||
|
--ctp-mocha-overlay0-rgb: rgb(108, 112, 134);
|
||||||
|
--ctp-mocha-overlay0-hsl: hsl(231, 11%, 47%);
|
||||||
|
--ctp-latte-surface2: #acb0be;
|
||||||
|
--ctp-latte-surface2-rgb: rgb(172, 176, 190);
|
||||||
|
--ctp-latte-surface2-hsl: hsl(227, 12%, 71%);
|
||||||
|
--ctp-frappe-surface2: #626880;
|
||||||
|
--ctp-frappe-surface2-rgb: rgb(98, 104, 128);
|
||||||
|
--ctp-frappe-surface2-hsl: hsl(228, 13%, 44%);
|
||||||
|
--ctp-macchiato-surface2: #5b6078;
|
||||||
|
--ctp-macchiato-surface2-rgb: rgb(91, 96, 120);
|
||||||
|
--ctp-macchiato-surface2-hsl: hsl(230, 14%, 41%);
|
||||||
|
--ctp-mocha-surface2: #585b70;
|
||||||
|
--ctp-mocha-surface2-rgb: rgb(88, 91, 112);
|
||||||
|
--ctp-mocha-surface2-hsl: hsl(233, 12%, 39%);
|
||||||
|
--ctp-latte-surface1: #bcc0cc;
|
||||||
|
--ctp-latte-surface1-rgb: rgb(188, 192, 204);
|
||||||
|
--ctp-latte-surface1-hsl: hsl(225, 14%, 77%);
|
||||||
|
--ctp-frappe-surface1: #51576d;
|
||||||
|
--ctp-frappe-surface1-rgb: rgb(81, 87, 109);
|
||||||
|
--ctp-frappe-surface1-hsl: hsl(227, 15%, 37%);
|
||||||
|
--ctp-macchiato-surface1: #494d64;
|
||||||
|
--ctp-macchiato-surface1-rgb: rgb(73, 77, 100);
|
||||||
|
--ctp-macchiato-surface1-hsl: hsl(231, 16%, 34%);
|
||||||
|
--ctp-mocha-surface1: #45475a;
|
||||||
|
--ctp-mocha-surface1-rgb: rgb(69, 71, 90);
|
||||||
|
--ctp-mocha-surface1-hsl: hsl(234, 13%, 31%);
|
||||||
|
--ctp-latte-surface0: #ccd0da;
|
||||||
|
--ctp-latte-surface0-rgb: rgb(204, 208, 218);
|
||||||
|
--ctp-latte-surface0-hsl: hsl(223, 16%, 83%);
|
||||||
|
--ctp-frappe-surface0: #414559;
|
||||||
|
--ctp-frappe-surface0-rgb: rgb(65, 69, 89);
|
||||||
|
--ctp-frappe-surface0-hsl: hsl(230, 16%, 30%);
|
||||||
|
--ctp-macchiato-surface0: #363a4f;
|
||||||
|
--ctp-macchiato-surface0-rgb: rgb(54, 58, 79);
|
||||||
|
--ctp-macchiato-surface0-hsl: hsl(230, 19%, 26%);
|
||||||
|
--ctp-mocha-surface0: #313244;
|
||||||
|
--ctp-mocha-surface0-rgb: rgb(49, 50, 68);
|
||||||
|
--ctp-mocha-surface0-hsl: hsl(237, 16%, 23%);
|
||||||
|
--ctp-latte-base: #eff1f5;
|
||||||
|
--ctp-latte-base-rgb: rgb(239, 241, 245);
|
||||||
|
--ctp-latte-base-hsl: hsl(220, 23%, 95%);
|
||||||
|
--ctp-frappe-base: #303446;
|
||||||
|
--ctp-frappe-base-rgb: rgb(48, 52, 70);
|
||||||
|
--ctp-frappe-base-hsl: hsl(229, 19%, 23%);
|
||||||
|
--ctp-macchiato-base: #24273a;
|
||||||
|
--ctp-macchiato-base-rgb: rgb(36, 39, 58);
|
||||||
|
--ctp-macchiato-base-hsl: hsl(232, 23%, 18%);
|
||||||
|
--ctp-mocha-base: #1e1e2e;
|
||||||
|
--ctp-mocha-base-rgb: rgb(30, 30, 46);
|
||||||
|
--ctp-mocha-base-hsl: hsl(240, 21%, 15%);
|
||||||
|
--ctp-latte-mantle: #e6e9ef;
|
||||||
|
--ctp-latte-mantle-rgb: rgb(230, 233, 239);
|
||||||
|
--ctp-latte-mantle-hsl: hsl(220, 22%, 92%);
|
||||||
|
--ctp-frappe-mantle: #292c3c;
|
||||||
|
--ctp-frappe-mantle-rgb: rgb(41, 44, 60);
|
||||||
|
--ctp-frappe-mantle-hsl: hsl(231, 19%, 20%);
|
||||||
|
--ctp-macchiato-mantle: #1e2030;
|
||||||
|
--ctp-macchiato-mantle-rgb: rgb(30, 32, 48);
|
||||||
|
--ctp-macchiato-mantle-hsl: hsl(233, 23%, 15%);
|
||||||
|
--ctp-mocha-mantle: #181825;
|
||||||
|
--ctp-mocha-mantle-rgb: rgb(24, 24, 37);
|
||||||
|
--ctp-mocha-mantle-hsl: hsl(240, 21%, 12%);
|
||||||
|
--ctp-latte-crust: #dce0e8;
|
||||||
|
--ctp-latte-crust-rgb: rgb(220, 224, 232);
|
||||||
|
--ctp-latte-crust-hsl: hsl(220, 21%, 89%);
|
||||||
|
--ctp-frappe-crust: #232634;
|
||||||
|
--ctp-frappe-crust-rgb: rgb(35, 38, 52);
|
||||||
|
--ctp-frappe-crust-hsl: hsl(229, 20%, 17%);
|
||||||
|
--ctp-macchiato-crust: #181926;
|
||||||
|
--ctp-macchiato-crust-rgb: rgb(24, 25, 38);
|
||||||
|
--ctp-macchiato-crust-hsl: hsl(236, 23%, 12%);
|
||||||
|
--ctp-mocha-crust: #11111b;
|
||||||
|
--ctp-mocha-crust-rgb: rgb(17, 17, 27);
|
||||||
|
--ctp-mocha-crust-hsl: hsl(240, 23%, 9%);
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
show=drun
|
||||||
|
width=750
|
||||||
|
height=400
|
||||||
|
always_parse_args=true
|
||||||
|
show_all=false
|
||||||
|
term=kitty
|
||||||
|
hide_scroll=true
|
||||||
|
print_command=true
|
||||||
|
insensitive=true
|
||||||
|
prompt=
|
||||||
|
columns=2
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
CONFIG="$HOME/.config/wofi/config/config"
|
||||||
|
STYLE="$HOME/.config/wofi/src/mocha/style.css"
|
||||||
|
|
||||||
|
if [[ ! $(pidof wofi) ]]; then
|
||||||
|
wofi --conf "${CONFIG}" --style "${STYLE}"
|
||||||
|
else
|
||||||
|
pkill wofi
|
||||||
|
fi
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
@define-color rosewater #f2d5cf;
|
||||||
|
@define-color rosewater-rgb rgb(242, 213, 207);
|
||||||
|
@define-color flamingo #eebebe;
|
||||||
|
@define-color flamingo-rgb rgb(238, 190, 190);
|
||||||
|
@define-color pink #f4b8e4;
|
||||||
|
@define-color pink-rgb rgb(244, 184, 228);
|
||||||
|
@define-color mauve #ca9ee6;
|
||||||
|
@define-color mauve-rgb rgb(202, 158, 230);
|
||||||
|
@define-color red #e78284;
|
||||||
|
@define-color red-rgb rgb(231, 130, 132);
|
||||||
|
@define-color maroon #ea999c;
|
||||||
|
@define-color maroon-rgb rgb(234, 153, 156);
|
||||||
|
@define-color peach #ef9f76;
|
||||||
|
@define-color peach-rgb rgb(239, 159, 118);
|
||||||
|
@define-color yellow #e5c890;
|
||||||
|
@define-color yellow-rgb rgb(229, 200, 144);
|
||||||
|
@define-color green #a6d189;
|
||||||
|
@define-color green-rgb rgb(166, 209, 137);
|
||||||
|
@define-color teal #81c8be;
|
||||||
|
@define-color teal-rgb rgb(129, 200, 190);
|
||||||
|
@define-color sky #99d1db;
|
||||||
|
@define-color sky-rgb rgb(153, 209, 219);
|
||||||
|
@define-color sapphire #85c1dc;
|
||||||
|
@define-color sapphire-rgb rgb(133, 193, 220);
|
||||||
|
@define-color blue #8caaee;
|
||||||
|
@define-color blue-rgb rgb(140, 170, 238);
|
||||||
|
@define-color lavender #babbf1;
|
||||||
|
@define-color lavender-rgb rgb(186, 187, 241);
|
||||||
|
@define-color text #c6d0f5;
|
||||||
|
@define-color text-rgb rgb(198, 208, 245);
|
||||||
|
@define-color subtext1 #b5bfe2;
|
||||||
|
@define-color subtext1-rgb rgb(181, 191, 226);
|
||||||
|
@define-color subtext0 #a5adce;
|
||||||
|
@define-color subtext0-rgb rgb(165, 173, 206);
|
||||||
|
@define-color overlay2 #949cbb;
|
||||||
|
@define-color overlay2-rgb rgb(148, 156, 187);
|
||||||
|
@define-color overlay1 #838ba7;
|
||||||
|
@define-color overlay1-rgb rgb(131, 139, 167);
|
||||||
|
@define-color overlay0 #737994;
|
||||||
|
@define-color overlay0-rgb rgb(115, 121, 148);
|
||||||
|
@define-color surface2 #626880;
|
||||||
|
@define-color surface2-rgb rgb(98, 104, 128);
|
||||||
|
@define-color surface1 #51576d;
|
||||||
|
@define-color surface1-rgb rgb(81, 87, 109);
|
||||||
|
@define-color surface0 #414559;
|
||||||
|
@define-color surface0-rgb rgb(65, 69, 89);
|
||||||
|
@define-color base #303446;
|
||||||
|
@define-color base-rgb rgb(48, 52, 70);
|
||||||
|
@define-color mantle #292c3c;
|
||||||
|
@define-color mantle-rgb rgb(41, 44, 60);
|
||||||
|
@define-color crust #232634;
|
||||||
|
@define-color crust-rgb rgb(35, 38, 52);
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: 'Inconsolata Nerd Font', monospace;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0.16em solid @lavender;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
background-color: @base;
|
||||||
|
animation: slideIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Slide In */
|
||||||
|
@keyframes slideIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inner Box */
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fade In */
|
||||||
|
@keyframes fadeIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Outer Box */
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll */
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
#input {
|
||||||
|
margin: 5px 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
color: @text;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input image {
|
||||||
|
border: none;
|
||||||
|
color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input * {
|
||||||
|
outline: 4px solid @red!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text */
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: @text;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry arrow {
|
||||||
|
border: none;
|
||||||
|
color: @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selected Entry */
|
||||||
|
#entry:selected {
|
||||||
|
border: 0.11em solid @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected #text {
|
||||||
|
color: @mauve;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:drop(active) {
|
||||||
|
background-color: @lavender!important;
|
||||||
|
}
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
@define-color rosewater #dc8a78;
|
||||||
|
@define-color rosewater-rgb rgb(220, 138, 120);
|
||||||
|
@define-color flamingo #dd7878;
|
||||||
|
@define-color flamingo-rgb rgb(221, 120, 120);
|
||||||
|
@define-color pink #ea76cb;
|
||||||
|
@define-color pink-rgb rgb(234, 118, 203);
|
||||||
|
@define-color mauve #8839ef;
|
||||||
|
@define-color mauve-rgb rgb(136, 57, 239);
|
||||||
|
@define-color red #d20f39;
|
||||||
|
@define-color red-rgb rgb(210, 15, 57);
|
||||||
|
@define-color maroon #e64553;
|
||||||
|
@define-color maroon-rgb rgb(230, 69, 83);
|
||||||
|
@define-color peach #fe640b;
|
||||||
|
@define-color peach-rgb rgb(254, 100, 11);
|
||||||
|
@define-color yellow #df8e1d;
|
||||||
|
@define-color yellow-rgb rgb(223, 142, 29);
|
||||||
|
@define-color green #40a02b;
|
||||||
|
@define-color green-rgb rgb(64, 160, 43);
|
||||||
|
@define-color teal #179299;
|
||||||
|
@define-color teal-rgb rgb(23, 146, 153);
|
||||||
|
@define-color sky #04a5e5;
|
||||||
|
@define-color sky-rgb rgb(4, 165, 229);
|
||||||
|
@define-color sapphire #209fb5;
|
||||||
|
@define-color sapphire-rgb rgb(32, 159, 181);
|
||||||
|
@define-color blue #1e66f5;
|
||||||
|
@define-color blue-rgb rgb(30, 102, 245);
|
||||||
|
@define-color lavender #7287fd;
|
||||||
|
@define-color lavender-rgb rgb(114, 135, 253);
|
||||||
|
@define-color text #4c4f69;
|
||||||
|
@define-color text-rgb rgb(76, 79, 105);
|
||||||
|
@define-color subtext1 #5c5f77;
|
||||||
|
@define-color subtext1-rgb rgb(92, 95, 119);
|
||||||
|
@define-color subtext0 #6c6f85;
|
||||||
|
@define-color subtext0-rgb rgb(108, 111, 133);
|
||||||
|
@define-color overlay2 #7c7f93;
|
||||||
|
@define-color overlay2-rgb rgb(124, 127, 147);
|
||||||
|
@define-color overlay1 #8c8fa1;
|
||||||
|
@define-color overlay1-rgb rgb(140, 143, 161);
|
||||||
|
@define-color overlay0 #9ca0b0;
|
||||||
|
@define-color overlay0-rgb rgb(156, 160, 176);
|
||||||
|
@define-color surface2 #acb0be;
|
||||||
|
@define-color surface2-rgb rgb(172, 176, 190);
|
||||||
|
@define-color surface1 #bcc0cc;
|
||||||
|
@define-color surface1-rgb rgb(188, 192, 204);
|
||||||
|
@define-color surface0 #ccd0da;
|
||||||
|
@define-color surface0-rgb rgb(204, 208, 218);
|
||||||
|
@define-color base #eff1f5;
|
||||||
|
@define-color base-rgb rgb(239, 241, 245);
|
||||||
|
@define-color mantle #e6e9ef;
|
||||||
|
@define-color mantle-rgb rgb(230, 233, 239);
|
||||||
|
@define-color crust #dce0e8;
|
||||||
|
@define-color crust-rgb rgb(220, 224, 232);
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: 'Inconsolata Nerd Font', monospace;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0.16em solid @lavender;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
background-color: @base;
|
||||||
|
animation: slideIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Slide In */
|
||||||
|
@keyframes slideIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inner Box */
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fade In */
|
||||||
|
@keyframes fadeIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Outer Box */
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll */
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
#input {
|
||||||
|
margin: 5px 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
color: @text;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input image {
|
||||||
|
border: none;
|
||||||
|
color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input * {
|
||||||
|
outline: 4px solid @red!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text */
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: @text;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry arrow {
|
||||||
|
border: none;
|
||||||
|
color: @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selected Entry */
|
||||||
|
#entry:selected {
|
||||||
|
border: 0.11em solid @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected #text {
|
||||||
|
color: @mauve;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:drop(active) {
|
||||||
|
background-color: @lavender!important;
|
||||||
|
}
|
||||||
@@ -0,0 +1,164 @@
|
|||||||
|
@define-color rosewater #f4dbd6;
|
||||||
|
@define-color rosewater-rgb rgb(244, 219, 214);
|
||||||
|
@define-color flamingo #f0c6c6;
|
||||||
|
@define-color flamingo-rgb rgb(240, 198, 198);
|
||||||
|
@define-color pink #f5bde6;
|
||||||
|
@define-color pink-rgb rgb(245, 189, 230);
|
||||||
|
@define-color mauve #c6a0f6;
|
||||||
|
@define-color mauve-rgb rgb(198, 160, 246);
|
||||||
|
@define-color red #ed8796;
|
||||||
|
@define-color red-rgb rgb(237, 135, 150);
|
||||||
|
@define-color maroon #ee99a0;
|
||||||
|
@define-color maroon-rgb rgb(238, 153, 160);
|
||||||
|
@define-color peach #f5a97f;
|
||||||
|
@define-color peach-rgb rgb(245, 169, 127);
|
||||||
|
@define-color yellow #eed49f;
|
||||||
|
@define-color yellow-rgb rgb(238, 212, 159);
|
||||||
|
@define-color green #a6da95;
|
||||||
|
@define-color green-rgb rgb(166, 218, 149);
|
||||||
|
@define-color teal #8bd5ca;
|
||||||
|
@define-color teal-rgb rgb(139, 213, 202);
|
||||||
|
@define-color sky #91d7e3;
|
||||||
|
@define-color sky-rgb rgb(145, 215, 227);
|
||||||
|
@define-color sapphire #7dc4e4;
|
||||||
|
@define-color sapphire-rgb rgb(125, 196, 228);
|
||||||
|
@define-color blue #8aadf4;
|
||||||
|
@define-color blue-rgb rgb(138, 173, 244);
|
||||||
|
@define-color lavender #b7bdf8;
|
||||||
|
@define-color lavender-rgb rgb(183, 189, 248);
|
||||||
|
@define-color text #cad3f5;
|
||||||
|
@define-color text-rgb rgb(202, 211, 245);
|
||||||
|
@define-color subtext1 #b8c0e0;
|
||||||
|
@define-color subtext1-rgb rgb(184, 192, 224);
|
||||||
|
@define-color subtext0 #a5adcb;
|
||||||
|
@define-color subtext0-rgb rgb(165, 173, 203);
|
||||||
|
@define-color overlay2 #939ab7;
|
||||||
|
@define-color overlay2-rgb rgb(147, 154, 183);
|
||||||
|
@define-color overlay1 #8087a2;
|
||||||
|
@define-color overlay1-rgb rgb(128, 135, 162);
|
||||||
|
@define-color overlay0 #6e738d;
|
||||||
|
@define-color overlay0-rgb rgb(110, 115, 141);
|
||||||
|
@define-color surface2 #5b6078;
|
||||||
|
@define-color surface2-rgb rgb(91, 96, 120);
|
||||||
|
@define-color surface1 #494d64;
|
||||||
|
@define-color surface1-rgb rgb(73, 77, 100);
|
||||||
|
@define-color surface0 #363a4f;
|
||||||
|
@define-color surface0-rgb rgb(54, 58, 79);
|
||||||
|
@define-color base #24273a;
|
||||||
|
@define-color base-rgb rgb(36, 39, 58);
|
||||||
|
@define-color mantle #1e2030;
|
||||||
|
@define-color mantle-rgb rgb(30, 32, 48);
|
||||||
|
@define-color crust #181926;
|
||||||
|
@define-color crust-rgb rgb(24, 25, 38);
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: 'Inconsolata Nerd Font', monospace;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0.16em solid @lavender;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
background-color: @base;
|
||||||
|
animation: slideIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Slide In */
|
||||||
|
@keyframes slideIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inner Box */
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fade In */
|
||||||
|
@keyframes fadeIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Outer Box */
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll */
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
#input {
|
||||||
|
margin: 5px 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
color: @text;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input image {
|
||||||
|
border: none;
|
||||||
|
color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input * {
|
||||||
|
outline: 4px solid @red!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text */
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: @text;
|
||||||
|
animation: fadeIn 0.5s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry arrow {
|
||||||
|
border: none;
|
||||||
|
color: @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selected Entry */
|
||||||
|
#entry:selected {
|
||||||
|
border: 0.11em solid @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected #text {
|
||||||
|
color: @mauve;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:drop(active) {
|
||||||
|
background-color: @lavender!important;
|
||||||
|
}
|
||||||
@@ -0,0 +1,165 @@
|
|||||||
|
@define-color rosewater #f5e0dc;
|
||||||
|
@define-color rosewater-rgb rgb(245, 224, 220);
|
||||||
|
@define-color flamingo #f2cdcd;
|
||||||
|
@define-color flamingo-rgb rgb(242, 205, 205);
|
||||||
|
@define-color pink #f5c2e7;
|
||||||
|
@define-color pink-rgb rgb(245, 194, 231);
|
||||||
|
@define-color mauve #cba6f7;
|
||||||
|
@define-color mauve-rgb rgb(203, 166, 247);
|
||||||
|
@define-color red #f38ba8;
|
||||||
|
@define-color red-rgb rgb(243, 139, 168);
|
||||||
|
@define-color maroon #eba0ac;
|
||||||
|
@define-color maroon-rgb rgb(235, 160, 172);
|
||||||
|
@define-color peach #fab387;
|
||||||
|
@define-color peach-rgb rgb(250, 179, 135);
|
||||||
|
@define-color yellow #f9e2af;
|
||||||
|
@define-color yellow-rgb rgb(249, 226, 175);
|
||||||
|
@define-color green #a6e3a1;
|
||||||
|
@define-color green-rgb rgb(166, 227, 161);
|
||||||
|
@define-color teal #94e2d5;
|
||||||
|
@define-color teal-rgb rgb(148, 226, 213);
|
||||||
|
@define-color sky #89dceb;
|
||||||
|
@define-color sky-rgb rgb(137, 220, 235);
|
||||||
|
@define-color sapphire #74c7ec;
|
||||||
|
@define-color sapphire-rgb rgb(116, 199, 236);
|
||||||
|
@define-color blue #89b4fa;
|
||||||
|
@define-color blue-rgb rgb(137, 180, 250);
|
||||||
|
@define-color lavender #b4befe;
|
||||||
|
@define-color lavender-rgb rgb(180, 190, 254);
|
||||||
|
@define-color text #cdd6f4;
|
||||||
|
@define-color text-rgb rgb(205, 214, 244);
|
||||||
|
@define-color subtext1 #bac2de;
|
||||||
|
@define-color subtext1-rgb rgb(186, 194, 222);
|
||||||
|
@define-color subtext0 #a6adc8;
|
||||||
|
@define-color subtext0-rgb rgb(166, 173, 200);
|
||||||
|
@define-color overlay2 #9399b2;
|
||||||
|
@define-color overlay2-rgb rgb(147, 153, 178);
|
||||||
|
@define-color overlay1 #7f849c;
|
||||||
|
@define-color overlay1-rgb rgb(127, 132, 156);
|
||||||
|
@define-color overlay0 #6c7086;
|
||||||
|
@define-color overlay0-rgb rgb(108, 112, 134);
|
||||||
|
@define-color surface2 #585b70;
|
||||||
|
@define-color surface2-rgb rgb(88, 91, 112);
|
||||||
|
@define-color surface1 #45475a;
|
||||||
|
@define-color surface1-rgb rgb(69, 71, 90);
|
||||||
|
@define-color surface0 #313244;
|
||||||
|
@define-color surface0-rgb rgb(49, 50, 68);
|
||||||
|
@define-color base #1e1e2e;
|
||||||
|
@define-color base-rgb rgb(30, 30, 46);
|
||||||
|
@define-color mantle #181825;
|
||||||
|
@define-color mantle-rgb rgb(24, 24, 37);
|
||||||
|
@define-color crust #11111b;
|
||||||
|
@define-color crust-rgb rgb(17, 17, 27);
|
||||||
|
|
||||||
|
* {
|
||||||
|
font-family: 'Inconsolata Nerd Font', monospace;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Window */
|
||||||
|
window {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: 0.16em solid @lavender;
|
||||||
|
border-radius: 1em;
|
||||||
|
background-color: @base;
|
||||||
|
animation: slideIn 0.1s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Slide In */
|
||||||
|
@keyframes slideIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Inner Box */
|
||||||
|
#inner-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.1s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fade In */
|
||||||
|
@keyframes fadeIn {
|
||||||
|
0% {
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
100% {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Outer Box */
|
||||||
|
#outer-box {
|
||||||
|
margin: 5px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll */
|
||||||
|
#scroll {
|
||||||
|
margin: 0px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Input */
|
||||||
|
#input {
|
||||||
|
margin: 5px 20px;
|
||||||
|
padding: 10px;
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.1em;
|
||||||
|
color: @text;
|
||||||
|
background-color: @base;
|
||||||
|
animation: fadeIn 0.1s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input image {
|
||||||
|
border: none;
|
||||||
|
color: @red;
|
||||||
|
}
|
||||||
|
|
||||||
|
#input * {
|
||||||
|
outline: 4px solid @red!important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Text */
|
||||||
|
#text {
|
||||||
|
margin: 5px;
|
||||||
|
border: none;
|
||||||
|
color: @text;
|
||||||
|
animation: fadeIn 0.1s ease-in-out both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry {
|
||||||
|
background-color: @base;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry arrow {
|
||||||
|
border: none;
|
||||||
|
color: @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Selected Entry */
|
||||||
|
#entry:selected {
|
||||||
|
border: 0.11em solid @lavender;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:selected #text {
|
||||||
|
color: @mauve;
|
||||||
|
}
|
||||||
|
|
||||||
|
#entry:drop(active) {
|
||||||
|
background-color: @lavender!important;
|
||||||
|
}
|
||||||