done
This commit is contained in:
@@ -145,10 +145,8 @@ labwc-alpine/
|
||||
│ └── fuji_light.jpg
|
||||
│
|
||||
├── configs/ # Конфигурационные файлы
|
||||
│ ├── hypr/ # Hyprland (если используется)
|
||||
│ │ ├── hypridle.conf
|
||||
│ │ ├── hyprland.lua
|
||||
│ │ └── hyprlock.conf
|
||||
│ ├── swaylock/ # Блокировка экрана
|
||||
│ │ └── config
|
||||
│ │
|
||||
│ ├── labwc/ # Основная конфигурация Labwc
|
||||
│ │ ├── autostart
|
||||
@@ -156,8 +154,7 @@ labwc-alpine/
|
||||
│ │ ├── menu.xml
|
||||
│ │ ├── rc.xml
|
||||
│ │ ├── shutdown
|
||||
│ │ ├── themerc-override
|
||||
│ │ └── update_theme.sh
|
||||
│ │ └── themerc-override
|
||||
│ │
|
||||
│ ├── waybar/ # Панель Waybar
|
||||
│ │ ├── config.jsonc
|
||||
@@ -168,34 +165,9 @@ labwc-alpine/
|
||||
│ │ ├── cliphist-img.sh
|
||||
│ │ └── style.css
|
||||
│ │
|
||||
│ ├── qt6ct/ # Настройки Qt6
|
||||
│ │ └── qt6ct.conf
|
||||
│ │
|
||||
│ └── alacritty/ # Терминал Alacritty
|
||||
│ └── alacritty.toml
|
||||
│
|
||||
├── palettes/ # Цветовые палитры
|
||||
│ ├── alpine/
|
||||
│ │ ├── alpine_palette_dark
|
||||
│ │ ├── alpine_palette_light
|
||||
│ │ ├── alpine_palette_pastel_dark
|
||||
│ │ └── alpine_palette_pastel_light
|
||||
│ │
|
||||
│ └── fuji/
|
||||
│ ├── fuji_palette_dark
|
||||
│ ├── fuji_palette_light
|
||||
│ ├── fuji_palette_pastel_dark
|
||||
│ └── fuji_palette_pastel_light
|
||||
│
|
||||
├── fonts/ # Шрифты
|
||||
│ └── Widock TRIAL Bold.otf
|
||||
│
|
||||
├── scripts/ # скрипты
|
||||
│ ├── alpine_dark.sh
|
||||
│ ├── alpine_light.sh
|
||||
│ ├── fuji_dark.sh
|
||||
│ └── fuji_light.sh
|
||||
│
|
||||
├── install.sh # Главный установочный скрипт
|
||||
├── LICENSE # Лицензия
|
||||
└── README.md # Этот файл
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
general {
|
||||
# Команда, которая выполняется при вызове блокировки через систему/dbus
|
||||
lock_cmd = hyprlock
|
||||
}
|
||||
|
||||
# ПРАВИЛО 1: Блокировка экрана через 5 минут бездействия
|
||||
listener {
|
||||
timeout = 300 # 5 минут (300 секунд)
|
||||
on-timeout = hyprlock # Только блокируем экран
|
||||
}
|
||||
|
||||
# ПРАВИЛО 2: Выключение мониторов через 5.5 минут (через 30 секунд после блокировки)
|
||||
listener {
|
||||
timeout = 330 # 5 минут 30 секунд
|
||||
on-timeout = wlopm --off \* # Гасим все мониторы
|
||||
on-resume = wlopm --on \* # Включаем при активности
|
||||
}
|
||||
@@ -1,364 +0,0 @@
|
||||
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- AUTOGENERATED HYPRLAND CONFIG. --
|
||||
-- EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS. --
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
|
||||
hl.config({ autogenerated = true }) -- remove this line to remove the warning
|
||||
|
||||
-- This is an example Hyprland Lua config file.
|
||||
-- Refer to the wiki for more information.
|
||||
-- https://wiki.hypr.land/Configuring/Start/
|
||||
|
||||
-- Please note not all available settings / options are set here.
|
||||
-- For a full list, see the wiki
|
||||
|
||||
-- You can (and should!!) split this configuration into multiple files
|
||||
-- Create your files separately and then require them like this:
|
||||
-- require("myColors")
|
||||
|
||||
|
||||
------------------
|
||||
---- MONITORS ----
|
||||
------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Monitors/
|
||||
hl.monitor({
|
||||
output = "",
|
||||
mode = "preferred",
|
||||
position = "auto",
|
||||
scale = "auto",
|
||||
})
|
||||
|
||||
|
||||
---------------------
|
||||
---- MY PROGRAMS ----
|
||||
---------------------
|
||||
|
||||
-- Set programs that you use
|
||||
local terminal = "kitty"
|
||||
local fileManager = "dolphin"
|
||||
local menu = "hyprlauncher"
|
||||
|
||||
|
||||
-------------------
|
||||
---- AUTOSTART ----
|
||||
-------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Autostart/
|
||||
|
||||
-- Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
-- Or execute your favorite apps at launch like this:
|
||||
--
|
||||
-- hl.on("hyprland.start", function ()
|
||||
-- hl.exec_cmd(terminal)
|
||||
-- hl.exec_cmd("nm-applet")
|
||||
-- hl.exec_cmd("waybar & hyprpaper & firefox")
|
||||
-- end)
|
||||
|
||||
|
||||
-------------------------------
|
||||
---- ENVIRONMENT VARIABLES ----
|
||||
-------------------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
||||
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
|
||||
|
||||
-----------------------
|
||||
----- PERMISSIONS -----
|
||||
-----------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Permissions/
|
||||
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
-- for security reasons
|
||||
|
||||
-- hl.config({
|
||||
-- ecosystem = {
|
||||
-- enforce_permissions = true,
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow")
|
||||
-- hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow")
|
||||
-- hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow")
|
||||
|
||||
|
||||
-----------------------
|
||||
---- LOOK AND FEEL ----
|
||||
-----------------------
|
||||
|
||||
-- Refer to https://wiki.hypr.land/Configuring/Basics/Variables/
|
||||
hl.config({
|
||||
general = {
|
||||
gaps_in = 5,
|
||||
gaps_out = 20,
|
||||
|
||||
border_size = 2,
|
||||
|
||||
col = {
|
||||
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||
inactive_border = "rgba(595959aa)",
|
||||
},
|
||||
|
||||
-- Set to true to enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false,
|
||||
|
||||
-- Please see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Tearing/ before you turn this on
|
||||
allow_tearing = false,
|
||||
|
||||
layout = "dwindle",
|
||||
},
|
||||
|
||||
decoration = {
|
||||
rounding = 10,
|
||||
rounding_power = 2,
|
||||
|
||||
-- Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
|
||||
shadow = {
|
||||
enabled = true,
|
||||
range = 4,
|
||||
render_power = 3,
|
||||
color = 0xee1a1a1a,
|
||||
},
|
||||
|
||||
blur = {
|
||||
enabled = true,
|
||||
size = 3,
|
||||
passes = 1,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
|
||||
animations = {
|
||||
enabled = true,
|
||||
},
|
||||
})
|
||||
|
||||
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||
|
||||
-- Default springs
|
||||
hl.curve("easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 })
|
||||
|
||||
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
||||
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
||||
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
||||
|
||||
-- Ref https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||
-- "Smart gaps" / "No gaps when only"
|
||||
-- uncomment all if you wish to use that.
|
||||
-- hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
|
||||
-- hl.workspace_rule({ workspace = "f[1]", gaps_out = 0, gaps_in = 0 })
|
||||
-- hl.window_rule({
|
||||
-- name = "no-gaps-wtv1",
|
||||
-- match = { float = false, workspace = "w[tv1]" },
|
||||
-- border_size = 0,
|
||||
-- rounding = 0,
|
||||
-- })
|
||||
-- hl.window_rule({
|
||||
-- name = "no-gaps-f1",
|
||||
-- match = { float = false, workspace = "f[1]" },
|
||||
-- border_size = 0,
|
||||
-- rounding = 0,
|
||||
-- })
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Dwindle-Layout/ for more
|
||||
hl.config({
|
||||
dwindle = {
|
||||
preserve_split = true, -- You probably want this
|
||||
},
|
||||
})
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Master-Layout/ for more
|
||||
hl.config({
|
||||
master = {
|
||||
new_status = "master",
|
||||
},
|
||||
})
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Scrolling-Layout/ for more
|
||||
hl.config({
|
||||
scrolling = {
|
||||
fullscreen_on_one_column = true,
|
||||
},
|
||||
})
|
||||
|
||||
----------------
|
||||
---- MISC ----
|
||||
----------------
|
||||
|
||||
hl.config({
|
||||
misc = {
|
||||
force_default_wallpaper = -1, -- Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false, -- If true disables the random hyprland logo / anime girl background. :(
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
---------------
|
||||
---- INPUT ----
|
||||
---------------
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = "us",
|
||||
kb_variant = "",
|
||||
kb_model = "",
|
||||
kb_options = "",
|
||||
kb_rules = "",
|
||||
|
||||
follow_mouse = 1,
|
||||
|
||||
sensitivity = 0, -- -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
hl.gesture({
|
||||
fingers = 3,
|
||||
direction = "horizontal",
|
||||
action = "workspace"
|
||||
})
|
||||
|
||||
-- Example per-device config
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Devices/ for more
|
||||
hl.device({
|
||||
name = "epic-mouse-v1",
|
||||
sensitivity = -0.5,
|
||||
})
|
||||
|
||||
|
||||
---------------------
|
||||
---- KEYBINDINGS ----
|
||||
---------------------
|
||||
|
||||
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||
|
||||
-- Example binds, see https://wiki.hypr.land/Configuring/Basics/Binds/ for more
|
||||
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd(terminal))
|
||||
local closeWindowBind = hl.bind(mainMod .. " + C", hl.dsp.window.close())
|
||||
-- closeWindowBind:set_enabled(false)
|
||||
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
|
||||
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
|
||||
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
||||
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(menu))
|
||||
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
|
||||
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit")) -- dwindle only
|
||||
|
||||
-- Move focus with mainMod + arrow keys
|
||||
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
|
||||
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
|
||||
hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" }))
|
||||
hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" }))
|
||||
|
||||
-- Switch workspaces with mainMod + [0-9]
|
||||
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
for i = 1, 10 do
|
||||
local key = i % 10 -- 10 maps to key 0
|
||||
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i}))
|
||||
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
|
||||
end
|
||||
|
||||
-- Example special workspace (scratchpad)
|
||||
hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special("magic"))
|
||||
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }))
|
||||
|
||||
-- Scroll through existing workspaces with mainMod + scroll
|
||||
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||
|
||||
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||
|
||||
-- Laptop multimedia keys for volume and LCD brightness
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
||||
|
||||
-- Requires playerctl
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
||||
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||
|
||||
|
||||
--------------------------------
|
||||
---- WINDOWS AND WORKSPACES ----
|
||||
--------------------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Window-Rules/
|
||||
-- and https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||
|
||||
-- Example window rules that are useful
|
||||
|
||||
local suppressMaximizeRule = hl.window_rule({
|
||||
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = "suppress-maximize-events",
|
||||
match = { class = ".*" },
|
||||
|
||||
suppress_event = "maximize",
|
||||
})
|
||||
-- suppressMaximizeRule:set_enabled(false)
|
||||
|
||||
hl.window_rule({
|
||||
-- Fix some dragging issues with XWayland
|
||||
name = "fix-xwayland-drags",
|
||||
match = {
|
||||
class = "^$",
|
||||
title = "^$",
|
||||
xwayland = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
pin = false,
|
||||
},
|
||||
|
||||
no_focus = true,
|
||||
})
|
||||
|
||||
-- Layer rules also return a handle.
|
||||
-- local overlayLayerRule = hl.layer_rule({
|
||||
-- name = "no-anim-overlay",
|
||||
-- match = { namespace = "^my-overlay$" },
|
||||
-- no_anim = true,
|
||||
-- })
|
||||
-- overlayLayerRule:set_enabled(false)
|
||||
|
||||
-- Hyprland-run windowrule
|
||||
hl.window_rule({
|
||||
name = "move-hyprland-run",
|
||||
match = { class = "hyprland-run" },
|
||||
|
||||
move = "20 monitor_h-120",
|
||||
float = true,
|
||||
})
|
||||
@@ -1,91 +0,0 @@
|
||||
source = /home/ivan/.config/aether/theme/hyprlock.conf
|
||||
$font_time = Widock TRIAL
|
||||
$font = JetBrainsMono Nerd Font
|
||||
|
||||
general {
|
||||
hide_cursor = false
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot # Сделает скриншот текущего экрана
|
||||
blur_passes = 3 # Эффект размытия (оптимально 2-3)
|
||||
blur_size = 7
|
||||
|
||||
# ЗАТЕМНЕНИЕ: Снижаем яркость картинки (0.0 — полностью черный, 1.0 — исходная яркость)
|
||||
# Значение 0.5 уменьшит яркость скриншота ровно наполовину
|
||||
brightness = 0.5
|
||||
noise = 0.05
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
rounding = 0
|
||||
size = 150, 50
|
||||
outline_thickness = 2
|
||||
font_family = $font
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.15
|
||||
dots_center = true
|
||||
fade_on_empty = false
|
||||
placeholder_text = <i>you shall not pass</i>
|
||||
hide_input = false
|
||||
position = 0, -100
|
||||
halign = center
|
||||
valign = center
|
||||
|
||||
# Используем точные переменные из файла Aether
|
||||
font_color = $font_color
|
||||
inner_color = $inner_color
|
||||
outer_color = $outer_color
|
||||
check_color = $check_color
|
||||
}
|
||||
|
||||
# ЧАСЫ
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%H")"
|
||||
color = $font_color
|
||||
font_size = 150
|
||||
font_family = $font_time
|
||||
position = 0, -250
|
||||
halign = center
|
||||
valign = top
|
||||
shadow_passes = 0
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%M")"
|
||||
color = $font_color
|
||||
font_size = 150
|
||||
font_family = $font_time
|
||||
position = 0, -400
|
||||
halign = center
|
||||
valign = top
|
||||
shadow_passes = 0
|
||||
}
|
||||
|
||||
# ДАТА
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +'%A')"
|
||||
color = $font_color
|
||||
font_size = 18
|
||||
font_family = $font_time
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
shadow_passes = 0
|
||||
}
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +'%d %B')"
|
||||
color = $font_color
|
||||
font_size = 18
|
||||
font_family = $font_time
|
||||
position = 0, -40
|
||||
halign = center
|
||||
valign = center
|
||||
shadow_passes = 0
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"name": "spotify-popup",
|
||||
"position": "top",
|
||||
"height": 0,
|
||||
"layer": "background",
|
||||
"exclusive_zone": false,
|
||||
"popup_gap": 0,
|
||||
"popup_autohide": true,
|
||||
"css_path": "style.css",
|
||||
|
||||
"margin": {
|
||||
"right": 400
|
||||
},
|
||||
|
||||
"end": [
|
||||
{
|
||||
"type": "music",
|
||||
"name": "spotify-music",
|
||||
"player_type": "mpris",
|
||||
"format": "",
|
||||
"show_status_icon": false,
|
||||
"cover_image_size": 120
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
@define-color background #0e0e06;
|
||||
@define-color foreground #c9c7e1;
|
||||
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", "Font Awesome 7 Free", "Font Awesome 7 Free Solid", "Font Awesome 7 Brands", sans-serif;
|
||||
/*font-size: 12px;*/
|
||||
/*border: none;*/
|
||||
border-radius: 0;
|
||||
}
|
||||
window#ironbar {
|
||||
background: #0e0e06;
|
||||
}
|
||||
#spotify-popup {
|
||||
background: rgba(14, 14, 6, 0.75);
|
||||
color: #c9c7e1;
|
||||
min-height: 28px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#spotify-music {
|
||||
padding: 0 10px;
|
||||
color: #c9c7e1;
|
||||
}
|
||||
|
||||
#spotify-music .icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#spotify-music .cover {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
#spotify-music {
|
||||
background: red !important;
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
# синхронизация окружения
|
||||
dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=labwc &
|
||||
systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &
|
||||
|
||||
# базовые сервисы
|
||||
waybar &
|
||||
mako &
|
||||
hypridle &
|
||||
hyprpolkitagent &
|
||||
ironbar &
|
||||
|
||||
# буфер обмена
|
||||
wl-paste --type text --watch cliphist store &
|
||||
wl-paste --type image --watch cliphist store &
|
||||
|
||||
# тема и обои
|
||||
~/.config/labwc/update_theme.sh &
|
||||
|
||||
# аудиоэффекты
|
||||
(sleep 2 && easyeffects --gapplication-service) &
|
||||
|
||||
# polkit agent
|
||||
systemctl --user start hyprpolkitagent.service &
|
||||
@@ -1,8 +0,0 @@
|
||||
# раскладка и ее порядок
|
||||
XKB_DEFAULT_LAYOUT=us,ru
|
||||
|
||||
# смена раскладки на сочетание клавиш
|
||||
XKB_DEFAULT_OPTIONS=grp:ctrl_space_toggle
|
||||
|
||||
# тема для Qt-приложений
|
||||
QT_QPA_PLATFORMTHEME=qt6ct
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openbox_menu>
|
||||
<menu id="root-menu" label="">
|
||||
|
||||
<item label="reconfigure">
|
||||
<action name="Reconfigure" />
|
||||
<action name="Execute" command="sh -c '~/.config/labwc/update_theme.sh; killall waybar; waybar &'" />
|
||||
</item> <separator />
|
||||
|
||||
<item label="logout"><action name="Exit"/></item> <separator />
|
||||
|
||||
<item label="lock"><action name="Execute" command="hyprlock" /></item> <separator />
|
||||
|
||||
<item label="sleep"><action name="Execute" command="systemctl suspend" /></item> <separator />
|
||||
|
||||
<item label="reboot"><action name="Execute" command="systemctl reboot" /></item> <separator />
|
||||
|
||||
<item label="shutdown"><action name="Execute" command="systemctl poweroff" /></item>
|
||||
|
||||
</menu>
|
||||
</openbox_menu>
|
||||
@@ -1,194 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<labwc_config>
|
||||
<!-- настройка кол-ва рабочих столов -->
|
||||
<desktops>
|
||||
<names>
|
||||
<name>1</name>
|
||||
<name>2</name>
|
||||
<name>3</name>
|
||||
<name>4</name>
|
||||
</names>
|
||||
</desktops>
|
||||
|
||||
<!-- настройка поведения окон от курсора -->
|
||||
<focus>
|
||||
<followMouse>yes</followMouse>
|
||||
<raiseOnFocus>no</raiseOnFocus>
|
||||
</focus>
|
||||
|
||||
<core>
|
||||
<theme>
|
||||
<name>DynamicAether</name>
|
||||
</theme>
|
||||
<windowSwitcher style="thumbnail" preview="yes" outlines="yes" />
|
||||
</core>
|
||||
|
||||
|
||||
<!-- настройка биндов -->
|
||||
<keyboard>
|
||||
<default />
|
||||
|
||||
|
||||
<!-- ==================== РАБОТА С ОКНАМИ ==================== -->
|
||||
|
||||
<!-- закрытие окон -->
|
||||
<keybind key="W-w"> <!-- Win+W -->
|
||||
<action name="Close" />
|
||||
</keybind>
|
||||
|
||||
<!-- растянуть окно в полноэкранный режим -->
|
||||
<keybind key="S-W-f"> <!-- Shift+Win+F -->
|
||||
<action name="ToggleFullscreen" />
|
||||
</keybind>
|
||||
|
||||
<!-- максимизировать окно. работает в обратную сторону -->
|
||||
<keybind key="W-f"> <!-- Win+F -->
|
||||
<action name="ToggleMaximize" />
|
||||
</keybind>
|
||||
|
||||
<!-- свернуть окно -->
|
||||
<keybind key="S-C-f"> <!-- Shift+Ctrl+F -->
|
||||
<action name="Iconify" />
|
||||
</keybind>
|
||||
|
||||
<!-- снап окна влево (полэкрана) -->
|
||||
<keybind key="W-;"> <!-- Win+; -->
|
||||
<action name="SnapToEdge" direction="Left" />
|
||||
</keybind>
|
||||
|
||||
|
||||
|
||||
<!-- снап окна вправо (полэкрана) -->
|
||||
<keybind key="W-'"> <!-- Win+' -->
|
||||
<action name="SnapToEdge" direction="Right" />
|
||||
</keybind>
|
||||
|
||||
<!-- cнап окна в левый верхний угол (четверть экрана) -->
|
||||
<keybind key="W-p"> <!-- Win+[ -->
|
||||
<action name="SnapToEdge" direction="up-Left" />
|
||||
</keybind>
|
||||
|
||||
<!-- cнап окна в левый нижний угол (четверть экрана) -->
|
||||
<keybind key="W-,"> <!-- Win+. -->
|
||||
<action name="SnapToEdge" direction="down-Left" />
|
||||
</keybind>
|
||||
|
||||
<!-- cнап окна в правый верхний угол (четверть экрана) -->
|
||||
<keybind key="W-]"> <!-- Win+] -->
|
||||
<action name="SnapToEdge" direction="up-Right" />
|
||||
</keybind>
|
||||
|
||||
<!-- cнап окна в правый нижний угол (четверть экрана) -->
|
||||
<keybind key="W-/"> <!-- Win+/ -->
|
||||
<action name="SnapToEdge" direction="down-Right" />
|
||||
</keybind>
|
||||
|
||||
|
||||
<!-- cнап окна вверх (полэкрана) -->
|
||||
<keybind key="W-["> <!-- Win+] -->
|
||||
<action name="SnapToEdge" direction="up" />
|
||||
</keybind>
|
||||
|
||||
<!-- cнап окна вниз (полэкрана) -->
|
||||
<keybind key="W-."> <!-- Win+] -->
|
||||
<action name="SnapToEdge" direction="down" />
|
||||
</keybind>
|
||||
|
||||
|
||||
<!-- переместить окно на левый монитор -->
|
||||
<keybind key="A-S-a"> <!-- Right Ctrl + <- (left) -->
|
||||
<action name="MoveToOutput" direction="left" />
|
||||
</keybind>
|
||||
|
||||
<!-- переместить окно на правый монитор -->
|
||||
<keybind key="A-S-d"> <!-- Right Ctrl + -> (right) -->
|
||||
<action name="MoveToOutput" direction="right" />
|
||||
</keybind>
|
||||
|
||||
<!-- ==================== РАБОТА С РАБОЧИМИ СТОЛАМИ ==================== -->
|
||||
|
||||
<!-- перейти на раб стол 1 -->
|
||||
<keybind key="W-1"> <!-- Win+1 -->
|
||||
<action name="GoToDesktop">
|
||||
<to>1</to>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- перейти на раб стол 2 -->
|
||||
<keybind key="W-2"> <!-- Win+2 -->
|
||||
<action name="GoToDesktop">
|
||||
<to>2</to>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- перейти на раб стол 3 -->
|
||||
<keybind key="W-3"> <!-- Win+3 -->
|
||||
<action name="GoToDesktop">
|
||||
<to>3</to>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- перейти на раб стол 4 -->
|
||||
<keybind key="W-4"> <!-- Win+4 -->
|
||||
<action name="GoToDesktop">
|
||||
<to>4</to>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- ==================== ЗАПУСК ПРИЛОЖЕНИЙ ==================== -->
|
||||
|
||||
<!-- запустить меню приложений(wofi) -->
|
||||
<keybind key="W-space"> <!-- Win+Space -->
|
||||
<action name="Execute" command="wofi --show drun" />
|
||||
</keybind>
|
||||
|
||||
<!-- запустить терминал(alacritty) -->
|
||||
<keybind key="W-return"> <!-- Win+Return(enter) -->
|
||||
<action name="Execute" command="alacritty --config-file ~/.config/aether/theme/alacritty.toml" />
|
||||
</keybind>
|
||||
|
||||
<!-- запустить проводник(dolphin) -->
|
||||
<keybind key="W-e"> <!-- Win+E -->
|
||||
<action name="Execute" command="dolphin" />
|
||||
</keybind>
|
||||
|
||||
<!-- заблокировать пк -->
|
||||
<keybind key="W-l"> <!-- Win+L -->
|
||||
<action name="Execute" command="hyprlock" />
|
||||
</keybind>
|
||||
|
||||
<!-- сделать скриншот области(скриншот не сохраняется на диск) -->
|
||||
<keybind key="W-S-s"> <!-- Shift+Win+S -->
|
||||
<action name="Execute">
|
||||
<command>sh -c 'grim -g "$(slurp)" - | wl-copy'</command>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
<!-- запустить clipboard -->
|
||||
<keybind key="C-W-v"> <!-- Ctrl+Win+v -->
|
||||
<action name="Execute">
|
||||
<command>~/.config/wofi/cliphist-img.sh</command>
|
||||
</action>
|
||||
</keybind>
|
||||
|
||||
|
||||
<!-- ==================== УПРАВЛЕНИЕ МУЛЬТИМЕДИЕЙ ====================-->
|
||||
|
||||
<!-- остановить/запустить -->
|
||||
<keybind key="A-R-s"> <!-- Right Alt+s -->
|
||||
<action name="Execute" command="playerctl --player=spotify,%any play-pause" />
|
||||
</keybind>
|
||||
|
||||
<!-- следующий трек -->
|
||||
<keybind key="A-R-d"> <!-- Right Alt+d -->
|
||||
<action name="Execute" command="playerctl --player=spotify,%any next" />
|
||||
</keybind>
|
||||
|
||||
<!-- предыдущий трек -->
|
||||
<keybind key="A-R-a"> <!-- Right Alt+a -->
|
||||
<action name="Execute" command="playerctl --player=spotify,%any previous" />
|
||||
</keybind>
|
||||
|
||||
</keyboard>
|
||||
|
||||
</labwc_config>
|
||||
@@ -1,2 +0,0 @@
|
||||
# очистка clipboard
|
||||
cliphist wipe &
|
||||
@@ -1,17 +0,0 @@
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: #F9EDE4
|
||||
window.inactive.border.color: #141414
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: #141414
|
||||
window.inactive.title.bg.color: #141414
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: #F9EDE4
|
||||
window.inactive.label.text.color: #F9EDE4
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: #F9EDE4
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC)
|
||||
window.inactive.button.image.color: #F9EDE4
|
||||
@@ -1,8 +0,0 @@
|
||||
window.active.title.bg: #040608
|
||||
window.active.title.text: #D4CFCB
|
||||
window.active.border.color: #040608
|
||||
window.inactive.title.bg: #040608
|
||||
window.inactive.title.text: #D4CFCB
|
||||
window.inactive.border.color: #040608
|
||||
window.active.border.width: 2
|
||||
window.inactive.border.width: 1
|
||||
@@ -1,41 +0,0 @@
|
||||
#!/bin/bash
|
||||
TARGET_FILE="$HOME/.config/aether/theme/waybar.css"
|
||||
THEME_FILE="$HOME/.config/labwc/themerc-override"
|
||||
|
||||
BG_FOLDER="$HOME/.config/aether/theme/backgrounds"
|
||||
WALLPAPER=$(find "$BG_FOLDER" -type f | head -n 1)
|
||||
|
||||
if [ -f "$TARGET_FILE" ]; then
|
||||
BG_COLOR=$(grep "background" "$TARGET_FILE" | awk '{print $3}' | tr -d ';')
|
||||
FG_COLOR=$(grep "foreground" "$TARGET_FILE" | awk '{print $3}' | tr -d ';')
|
||||
|
||||
if [ ! -z "$BG_COLOR" ] && [ ! -z "$FG_COLOR" ]; then
|
||||
cat << EOF > "$THEME_FILE"
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: $FG_COLOR
|
||||
window.inactive.border.color: $BG_COLOR
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: $BG_COLOR
|
||||
window.inactive.title.bg.color: $BG_COLOR
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: $FG_COLOR
|
||||
window.inactive.label.text.color: $FG_COLOR
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: $FG_COLOR
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC)
|
||||
window.inactive.button.image.color: $FG_COLOR
|
||||
EOF
|
||||
fi
|
||||
fi
|
||||
|
||||
killall swaybg 2>/dev/null
|
||||
|
||||
if [ ! -z "$WALLPAPER" ] && [ -f "$WALLPAPER" ]; then
|
||||
swaybg -m fill -i "$WALLPAPER" &
|
||||
else
|
||||
swaybg -c "$BG_COLOR" &
|
||||
fi
|
||||
@@ -1,81 +0,0 @@
|
||||
стек:
|
||||
labwc
|
||||
waybar
|
||||
swaylock(замена hyprlock)
|
||||
swayidle(замена hypridle)
|
||||
polkit-gnome(замена hyprpolkit)
|
||||
dolphin
|
||||
kate
|
||||
google-chrome
|
||||
pipewire
|
||||
kitty(alacritty)
|
||||
v2ray
|
||||
v2rayA
|
||||
telegram
|
||||
htop
|
||||
gparted
|
||||
pavucontrol
|
||||
qdirstat
|
||||
easyeffects
|
||||
lsp-plugins-lv2
|
||||
obsidian
|
||||
ristretto
|
||||
mpv
|
||||
wofi
|
||||
cliphist
|
||||
sddm
|
||||
pango
|
||||
xorg-server-xwayland
|
||||
mesa-dri
|
||||
nvidia-open-dkms
|
||||
wl-clipboard
|
||||
gtk-layer-shell
|
||||
grim
|
||||
slurp
|
||||
swaybg
|
||||
mako
|
||||
seatd
|
||||
dbus
|
||||
polkit
|
||||
fontconfig
|
||||
noto-fonts-ttf
|
||||
ttf-dejavu
|
||||
alsa-pipewire
|
||||
wireplumber
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
qt6-wayland
|
||||
qt5-wayland
|
||||
base-system
|
||||
void-repo-nonfree
|
||||
fuse
|
||||
fuse-common
|
||||
ca-certificates
|
||||
curl
|
||||
xdg-utils
|
||||
dhcpcd
|
||||
sudo
|
||||
acpid
|
||||
breeze-icons
|
||||
ffmpeg
|
||||
libnotify
|
||||
ttf-jetbrains-mono
|
||||
adwaita-icon-theme
|
||||
xdg-desktop-portal-gtk
|
||||
unzip
|
||||
zip
|
||||
p7zip
|
||||
qt5ct
|
||||
qt6ct
|
||||
linux-firmware
|
||||
ttf-font-awesome
|
||||
|
||||
|
||||
aether(буду писать замену)
|
||||
|
||||
установка чистого void linux
|
||||
|
||||
обновление системы
|
||||
sudo xbps-install -Syu
|
||||
sudo xbps-install -u xbps
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
[Appearance]
|
||||
color_scheme_path=/usr/share/qt6ct/colors/darker.conf
|
||||
custom_palette=true
|
||||
icon_theme=breeze-dark
|
||||
standard_dialogs=default
|
||||
style=Fusion
|
||||
|
||||
[Fonts]
|
||||
fixed="JetBrainsMono Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0"
|
||||
general="JetBrainsMonoNL Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=2
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
||||
@@ -1,65 +0,0 @@
|
||||
{
|
||||
"layer": "top",
|
||||
"position": "top",
|
||||
"height": 25,
|
||||
"spacing": 0,
|
||||
"modules-left": ["wlr/taskbar"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["network", "custom/spotify", "custom/v2raya", "custom/language", "pulseaudio", "cpu", "memory", "tray"],
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
"icon-size": 15,
|
||||
"tooltip-format": "{title}",
|
||||
"on-click": "activate"
|
||||
},
|
||||
"custom/language": {
|
||||
"exec": "xkblayout-state print %s | tr 'a-z' 'A-Z'",
|
||||
"interval": 1,
|
||||
"format": " {} "
|
||||
},
|
||||
"custom/spotify": {
|
||||
"format": "[{}] ",
|
||||
"exec": "playerctl metadata --format '{{artist}} - {{title}}' spotify 2>/dev/null || echo ''",
|
||||
"on-click": "ironbar bar spotify-popup toggle-popup spotify-music",
|
||||
"interval": 3,
|
||||
"max-length": 50
|
||||
},
|
||||
"custom/v2raya": {
|
||||
"format": "PROXY{}",
|
||||
"return-type": "json",
|
||||
"interval": 2,
|
||||
"exec": "/home/ivan/.config/waybar/v2raya-toggle.sh",
|
||||
"on-click": "/home/ivan/.config/waybar/v2raya-toggle.sh toggle",
|
||||
"signal": 10
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%d-%m-%Y}"
|
||||
},
|
||||
"cpu": {
|
||||
"format": " {usage}%",
|
||||
"tooltip": false,
|
||||
"on-click": "alacritty -e htop"
|
||||
},
|
||||
"memory": {
|
||||
"format": " {}%"
|
||||
},
|
||||
"network": {
|
||||
"min-length": 10,
|
||||
"format-wifi": " {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthDownBytes}",
|
||||
"format-disconnected": "⚠ DONT",
|
||||
"interval": 1
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": " {volume}%",
|
||||
"format-muted": " Muted",
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"tray": {
|
||||
"icon-size": 10,
|
||||
"spacing": 15
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", "Font Awesome 7 Free", "Font Awesome 7 Free Solid", "Font Awesome 7 Brands", sans-serif;
|
||||
font-size: 12px;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
@import "/home/ivan/.config/aether/theme/waybar.css";
|
||||
|
||||
window#waybar {
|
||||
background: alpha(@background, 0.75);
|
||||
color: @foreground;
|
||||
min-height: 28px;
|
||||
}
|
||||
|
||||
#clock,
|
||||
#cpu,
|
||||
#memory,
|
||||
#network,
|
||||
#pulseaudio,
|
||||
#taskbar,
|
||||
#custom-spotify,
|
||||
#tray {
|
||||
padding: 0 10px;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
color: alpha(@foreground, 0.6);
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background-color: alpha(@foreground, 0.2);
|
||||
box-shadow: inset 0 -2px 0 0 @foreground;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#custom-v2raya.enabled {
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#custom-v2raya.disabled {
|
||||
color: @background;
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Проверяем, запущен ли процесс v2rayA
|
||||
if pgrep -x "v2raya" > /dev/null; then
|
||||
if [ "$1" = "toggle" ]; then
|
||||
sudo systemctl stop v2raya.service 2>/dev/null || sudo killall v2raya
|
||||
echo "{\"text\": \" \", \"class\": \"disabled\", \"tooltip\": \"v2rayA выключен\"}"
|
||||
else
|
||||
echo "{\"text\": \" \", \"class\": \"enabled\", \"tooltip\": \"v2rayA включен\"}"
|
||||
fi
|
||||
else
|
||||
if [ "$1" = "toggle" ]; then
|
||||
sudo systemctl start v2raya.service 2>/dev/null || sudo v2raya --daemon &
|
||||
echo "{\"text\": \" \", \"class\": \"enabled\", \"tooltip\": \"v2rayA включен\"}"
|
||||
else
|
||||
echo "{\"text\": \" \", \"class\": \"disabled\", \"tooltip\": \"v2rayA выключен\"}"
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
export WAYLAND_DISPLAY=wayland-0
|
||||
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
||||
|
||||
thumb_dir="${XDG_CACHE_HOME:-$HOME/.cache}/cliphist/thumbs"
|
||||
mkdir -p "$thumb_dir"
|
||||
|
||||
make_thumb() { # $1 - исходник, $2 - результат
|
||||
if command -v gdk-pixbuf-thumbnailer >/dev/null 2>&1; then
|
||||
gdk-pixbuf-thumbnailer -s 256 "$1" "$2" 2>/dev/null
|
||||
elif command -v magick >/dev/null 2>&1; then
|
||||
magick "$1" -resize '256x256>' "$2" 2>/dev/null
|
||||
elif command -v convert >/dev/null 2>&1; then
|
||||
convert "$1" -resize '256x256>' "$2" 2>/dev/null
|
||||
fi
|
||||
# если тулза нет/ошибка — отдаём оригинал, wofi сам смасштабирует
|
||||
[ -s "$2" ] || cp -f "$1" "$2"
|
||||
}
|
||||
|
||||
wofi_input=""
|
||||
|
||||
while read -r line; do
|
||||
[[ "$line" == *"<meta http-equiv="* ]] && continue
|
||||
[[ -z "$line" ]] && continue
|
||||
|
||||
id="${line%%[[:space:]]*}"
|
||||
|
||||
if [[ "$line" == *binary* ]]; then
|
||||
thumb_path="${thumb_dir}/${id}.png"
|
||||
|
||||
if [ ! -s "$thumb_path" ]; then
|
||||
tmp="$(mktemp)"
|
||||
# ВАЖНО: передаём строку через pipe,
|
||||
# иначе decode прочитает stdin цикла и «съест» список
|
||||
printf '%s\n' "$line" | cliphist decode > "$tmp" 2>/dev/null
|
||||
[ -s "$tmp" ] && make_thumb "$tmp" "$thumb_path"
|
||||
rm -f "$tmp"
|
||||
fi
|
||||
|
||||
if [ -s "$thumb_path" ]; then
|
||||
wofi_input+="img:${thumb_path}\n"
|
||||
else
|
||||
wofi_input+="${line}\n"
|
||||
fi
|
||||
else
|
||||
wofi_input+="${line}\n"
|
||||
fi
|
||||
done <<< "$(cliphist list)"
|
||||
|
||||
choice="$(printf '%b' "$wofi_input" | wofi -I --dmenu --cache-file=/dev/null \
|
||||
-Dimage_size=100 -Dynamic_lines=true --prompt "Буфер обмена")"
|
||||
|
||||
[ -z "$choice" ] && exit 0
|
||||
|
||||
if [[ "$choice" == img:* ]]; then
|
||||
f="${choice#img:}"
|
||||
id="$(basename "$f" .png)"
|
||||
printf '%s\t' "$id" | cliphist decode | wl-copy
|
||||
else
|
||||
printf '%s\n' "$choice" | cliphist decode | wl-copy
|
||||
fi
|
||||
@@ -1,53 +0,0 @@
|
||||
@import "/home/ivan/.config/aether/theme/wofi.css";
|
||||
|
||||
#img {
|
||||
padding: 5px;
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
}
|
||||
|
||||
#entry {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
|
||||
window {
|
||||
background-color: @bg;
|
||||
border: 2px solid @gray3;
|
||||
}
|
||||
|
||||
input {
|
||||
background-color: @bg;
|
||||
color: @fg;
|
||||
border: 1px solid @gray2;
|
||||
}
|
||||
|
||||
input:selected {
|
||||
background-color: @gray1;
|
||||
color: @fg_bright;
|
||||
}
|
||||
|
||||
#entry {
|
||||
color: @fg;
|
||||
background-color: @bg;
|
||||
padding: 5px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: @gray1;
|
||||
color: @fg_bright;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @bg;
|
||||
}
|
||||
|
||||
scrollbar slider {
|
||||
background-color: @gray2;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
scrollbar slider:hover {
|
||||
background-color: @gray3;
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# Default Colors
|
||||
[colors.primary]
|
||||
background = "#0b0b0b"
|
||||
foreground = "#acacac"
|
||||
bright_foreground = "#e3e3e3"
|
||||
|
||||
# Normal colors
|
||||
[colors.normal]
|
||||
black = "#0b0b0b"
|
||||
red = "#f08778"
|
||||
green = "#53bf97"
|
||||
yellow = "#fdcc60"
|
||||
blue = "#60b8d6"
|
||||
magenta = "#ec7171"
|
||||
cyan = "#98e6ca"
|
||||
white = "#fafafa"
|
||||
|
||||
# Bright colors
|
||||
[colors.bright]
|
||||
black = "#747474"
|
||||
red = "#f58c7d"
|
||||
green = "#58c49c"
|
||||
yellow = "#ffd165"
|
||||
blue = "#65bddb"
|
||||
magenta = "#f17676"
|
||||
cyan = "#9debcf"
|
||||
white = "#ffffff"
|
||||
@@ -1,17 +0,0 @@
|
||||
general {
|
||||
# Команда, которая выполняется при вызове блокировки через систему/dbus
|
||||
lock_cmd = hyprlock
|
||||
}
|
||||
|
||||
# ПРАВИЛО 1: Блокировка экрана через 5 минут бездействия
|
||||
listener {
|
||||
timeout = 300 # 5 минут (300 секунд)
|
||||
on-timeout = hyprlock # Только блокируем экран
|
||||
}
|
||||
|
||||
# ПРАВИЛО 2: Выключение мониторов через 5.5 минут (через 30 секунд после блокировки)
|
||||
listener {
|
||||
timeout = 330 # 5 минут 30 секунд
|
||||
on-timeout = wlopm --off \* # Гасим все мониторы
|
||||
on-resume = wlopm --on \* # Включаем при активности
|
||||
}
|
||||
@@ -1,364 +0,0 @@
|
||||
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
-- AUTOGENERATED HYPRLAND CONFIG. --
|
||||
-- EDIT THIS CONFIG ACCORDING TO THE WIKI INSTRUCTIONS. --
|
||||
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
|
||||
|
||||
hl.config({ autogenerated = true }) -- remove this line to remove the warning
|
||||
|
||||
-- This is an example Hyprland Lua config file.
|
||||
-- Refer to the wiki for more information.
|
||||
-- https://wiki.hypr.land/Configuring/Start/
|
||||
|
||||
-- Please note not all available settings / options are set here.
|
||||
-- For a full list, see the wiki
|
||||
|
||||
-- You can (and should!!) split this configuration into multiple files
|
||||
-- Create your files separately and then require them like this:
|
||||
-- require("myColors")
|
||||
|
||||
|
||||
------------------
|
||||
---- MONITORS ----
|
||||
------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Monitors/
|
||||
hl.monitor({
|
||||
output = "",
|
||||
mode = "preferred",
|
||||
position = "auto",
|
||||
scale = "auto",
|
||||
})
|
||||
|
||||
|
||||
---------------------
|
||||
---- MY PROGRAMS ----
|
||||
---------------------
|
||||
|
||||
-- Set programs that you use
|
||||
local terminal = "kitty"
|
||||
local fileManager = "dolphin"
|
||||
local menu = "hyprlauncher"
|
||||
|
||||
|
||||
-------------------
|
||||
---- AUTOSTART ----
|
||||
-------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Autostart/
|
||||
|
||||
-- Autostart necessary processes (like notifications daemons, status bars, etc.)
|
||||
-- Or execute your favorite apps at launch like this:
|
||||
--
|
||||
-- hl.on("hyprland.start", function ()
|
||||
-- hl.exec_cmd(terminal)
|
||||
-- hl.exec_cmd("nm-applet")
|
||||
-- hl.exec_cmd("waybar & hyprpaper & firefox")
|
||||
-- end)
|
||||
|
||||
|
||||
-------------------------------
|
||||
---- ENVIRONMENT VARIABLES ----
|
||||
-------------------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Environment-variables/
|
||||
|
||||
hl.env("XCURSOR_SIZE", "24")
|
||||
hl.env("HYPRCURSOR_SIZE", "24")
|
||||
|
||||
|
||||
-----------------------
|
||||
----- PERMISSIONS -----
|
||||
-----------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Permissions/
|
||||
-- Please note permission changes here require a Hyprland restart and are not applied on-the-fly
|
||||
-- for security reasons
|
||||
|
||||
-- hl.config({
|
||||
-- ecosystem = {
|
||||
-- enforce_permissions = true,
|
||||
-- },
|
||||
-- })
|
||||
|
||||
-- hl.permission("/usr/(bin|local/bin)/grim", "screencopy", "allow")
|
||||
-- hl.permission("/usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland", "screencopy", "allow")
|
||||
-- hl.permission("/usr/(bin|local/bin)/hyprpm", "plugin", "allow")
|
||||
|
||||
|
||||
-----------------------
|
||||
---- LOOK AND FEEL ----
|
||||
-----------------------
|
||||
|
||||
-- Refer to https://wiki.hypr.land/Configuring/Basics/Variables/
|
||||
hl.config({
|
||||
general = {
|
||||
gaps_in = 5,
|
||||
gaps_out = 20,
|
||||
|
||||
border_size = 2,
|
||||
|
||||
col = {
|
||||
active_border = { colors = {"rgba(33ccffee)", "rgba(00ff99ee)"}, angle = 45 },
|
||||
inactive_border = "rgba(595959aa)",
|
||||
},
|
||||
|
||||
-- Set to true to enable resizing windows by clicking and dragging on borders and gaps
|
||||
resize_on_border = false,
|
||||
|
||||
-- Please see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Tearing/ before you turn this on
|
||||
allow_tearing = false,
|
||||
|
||||
layout = "dwindle",
|
||||
},
|
||||
|
||||
decoration = {
|
||||
rounding = 10,
|
||||
rounding_power = 2,
|
||||
|
||||
-- Change transparency of focused and unfocused windows
|
||||
active_opacity = 1.0,
|
||||
inactive_opacity = 1.0,
|
||||
|
||||
shadow = {
|
||||
enabled = true,
|
||||
range = 4,
|
||||
render_power = 3,
|
||||
color = 0xee1a1a1a,
|
||||
},
|
||||
|
||||
blur = {
|
||||
enabled = true,
|
||||
size = 3,
|
||||
passes = 1,
|
||||
vibrancy = 0.1696,
|
||||
},
|
||||
},
|
||||
|
||||
animations = {
|
||||
enabled = true,
|
||||
},
|
||||
})
|
||||
|
||||
-- Default curves and animations, see https://wiki.hypr.land/Configuring/Advanced-and-Cool/Animations/
|
||||
hl.curve("easeOutQuint", { type = "bezier", points = { {0.23, 1}, {0.32, 1} } })
|
||||
hl.curve("easeInOutCubic", { type = "bezier", points = { {0.65, 0.05}, {0.36, 1} } })
|
||||
hl.curve("linear", { type = "bezier", points = { {0, 0}, {1, 1} } })
|
||||
hl.curve("almostLinear", { type = "bezier", points = { {0.5, 0.5}, {0.75, 1} } })
|
||||
hl.curve("quick", { type = "bezier", points = { {0.15, 0}, {0.1, 1} } })
|
||||
|
||||
-- Default springs
|
||||
hl.curve("easy", { type = "spring", mass = 1, stiffness = 238.1191, dampening = 24.21279333 })
|
||||
|
||||
hl.animation({ leaf = "global", enabled = true, speed = 10, bezier = "default" })
|
||||
hl.animation({ leaf = "border", enabled = true, speed = 5.39, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "windows", enabled = true, speed = 4.79, spring = "easy" })
|
||||
hl.animation({ leaf = "windowsIn", enabled = true, speed = 4.1, spring = "easy", style = "popin 87%" })
|
||||
hl.animation({ leaf = "windowsOut", enabled = true, speed = 1.49, bezier = "linear", style = "popin 87%" })
|
||||
hl.animation({ leaf = "fadeIn", enabled = true, speed = 1.73, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeOut", enabled = true, speed = 1.46, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fade", enabled = true, speed = 3.03, bezier = "quick" })
|
||||
hl.animation({ leaf = "layers", enabled = true, speed = 3.81, bezier = "easeOutQuint" })
|
||||
hl.animation({ leaf = "layersIn", enabled = true, speed = 4, bezier = "easeOutQuint", style = "fade" })
|
||||
hl.animation({ leaf = "layersOut", enabled = true, speed = 1.5, bezier = "linear", style = "fade" })
|
||||
hl.animation({ leaf = "fadeLayersIn", enabled = true, speed = 1.79, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "fadeLayersOut", enabled = true, speed = 1.39, bezier = "almostLinear" })
|
||||
hl.animation({ leaf = "workspaces", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "workspacesIn", enabled = true, speed = 1.21, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "workspacesOut", enabled = true, speed = 1.94, bezier = "almostLinear", style = "fade" })
|
||||
hl.animation({ leaf = "zoomFactor", enabled = true, speed = 7, bezier = "quick" })
|
||||
|
||||
-- Ref https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||
-- "Smart gaps" / "No gaps when only"
|
||||
-- uncomment all if you wish to use that.
|
||||
-- hl.workspace_rule({ workspace = "w[tv1]", gaps_out = 0, gaps_in = 0 })
|
||||
-- hl.workspace_rule({ workspace = "f[1]", gaps_out = 0, gaps_in = 0 })
|
||||
-- hl.window_rule({
|
||||
-- name = "no-gaps-wtv1",
|
||||
-- match = { float = false, workspace = "w[tv1]" },
|
||||
-- border_size = 0,
|
||||
-- rounding = 0,
|
||||
-- })
|
||||
-- hl.window_rule({
|
||||
-- name = "no-gaps-f1",
|
||||
-- match = { float = false, workspace = "f[1]" },
|
||||
-- border_size = 0,
|
||||
-- rounding = 0,
|
||||
-- })
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Dwindle-Layout/ for more
|
||||
hl.config({
|
||||
dwindle = {
|
||||
preserve_split = true, -- You probably want this
|
||||
},
|
||||
})
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Master-Layout/ for more
|
||||
hl.config({
|
||||
master = {
|
||||
new_status = "master",
|
||||
},
|
||||
})
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Layouts/Scrolling-Layout/ for more
|
||||
hl.config({
|
||||
scrolling = {
|
||||
fullscreen_on_one_column = true,
|
||||
},
|
||||
})
|
||||
|
||||
----------------
|
||||
---- MISC ----
|
||||
----------------
|
||||
|
||||
hl.config({
|
||||
misc = {
|
||||
force_default_wallpaper = -1, -- Set to 0 or 1 to disable the anime mascot wallpapers
|
||||
disable_hyprland_logo = false, -- If true disables the random hyprland logo / anime girl background. :(
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
---------------
|
||||
---- INPUT ----
|
||||
---------------
|
||||
|
||||
hl.config({
|
||||
input = {
|
||||
kb_layout = "us",
|
||||
kb_variant = "",
|
||||
kb_model = "",
|
||||
kb_options = "",
|
||||
kb_rules = "",
|
||||
|
||||
follow_mouse = 1,
|
||||
|
||||
sensitivity = 0, -- -1.0 - 1.0, 0 means no modification.
|
||||
|
||||
touchpad = {
|
||||
natural_scroll = false,
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
hl.gesture({
|
||||
fingers = 3,
|
||||
direction = "horizontal",
|
||||
action = "workspace"
|
||||
})
|
||||
|
||||
-- Example per-device config
|
||||
-- See https://wiki.hypr.land/Configuring/Advanced-and-Cool/Devices/ for more
|
||||
hl.device({
|
||||
name = "epic-mouse-v1",
|
||||
sensitivity = -0.5,
|
||||
})
|
||||
|
||||
|
||||
---------------------
|
||||
---- KEYBINDINGS ----
|
||||
---------------------
|
||||
|
||||
local mainMod = "SUPER" -- Sets "Windows" key as main modifier
|
||||
|
||||
-- Example binds, see https://wiki.hypr.land/Configuring/Basics/Binds/ for more
|
||||
hl.bind(mainMod .. " + Q", hl.dsp.exec_cmd(terminal))
|
||||
local closeWindowBind = hl.bind(mainMod .. " + C", hl.dsp.window.close())
|
||||
-- closeWindowBind:set_enabled(false)
|
||||
hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("command -v hyprshutdown >/dev/null 2>&1 && hyprshutdown || hyprctl dispatch 'hl.dsp.exit()'"))
|
||||
hl.bind(mainMod .. " + E", hl.dsp.exec_cmd(fileManager))
|
||||
hl.bind(mainMod .. " + V", hl.dsp.window.float({ action = "toggle" }))
|
||||
hl.bind(mainMod .. " + R", hl.dsp.exec_cmd(menu))
|
||||
hl.bind(mainMod .. " + P", hl.dsp.window.pseudo())
|
||||
hl.bind(mainMod .. " + J", hl.dsp.layout("togglesplit")) -- dwindle only
|
||||
|
||||
-- Move focus with mainMod + arrow keys
|
||||
hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" }))
|
||||
hl.bind(mainMod .. " + right", hl.dsp.focus({ direction = "right" }))
|
||||
hl.bind(mainMod .. " + up", hl.dsp.focus({ direction = "up" }))
|
||||
hl.bind(mainMod .. " + down", hl.dsp.focus({ direction = "down" }))
|
||||
|
||||
-- Switch workspaces with mainMod + [0-9]
|
||||
-- Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
for i = 1, 10 do
|
||||
local key = i % 10 -- 10 maps to key 0
|
||||
hl.bind(mainMod .. " + " .. key, hl.dsp.focus({ workspace = i}))
|
||||
hl.bind(mainMod .. " + SHIFT + " .. key, hl.dsp.window.move({ workspace = i }))
|
||||
end
|
||||
|
||||
-- Example special workspace (scratchpad)
|
||||
hl.bind(mainMod .. " + S", hl.dsp.workspace.toggle_special("magic"))
|
||||
hl.bind(mainMod .. " + SHIFT + S", hl.dsp.window.move({ workspace = "special:magic" }))
|
||||
|
||||
-- Scroll through existing workspaces with mainMod + scroll
|
||||
hl.bind(mainMod .. " + mouse_down", hl.dsp.focus({ workspace = "e+1" }))
|
||||
hl.bind(mainMod .. " + mouse_up", hl.dsp.focus({ workspace = "e-1" }))
|
||||
|
||||
-- Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
hl.bind(mainMod .. " + mouse:272", hl.dsp.window.drag(), { mouse = true })
|
||||
hl.bind(mainMod .. " + mouse:273", hl.dsp.window.resize(), { mouse = true })
|
||||
|
||||
-- Laptop multimedia keys for volume and LCD brightness
|
||||
hl.bind("XF86AudioRaiseVolume", hl.dsp.exec_cmd("wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioLowerVolume", hl.dsp.exec_cmd("wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"), { locked = true, repeating = true })
|
||||
hl.bind("XF86AudioMicMute", hl.dsp.exec_cmd("wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessUp", hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%+"), { locked = true, repeating = true })
|
||||
hl.bind("XF86MonBrightnessDown",hl.dsp.exec_cmd("brightnessctl -e4 -n2 set 5%-"), { locked = true, repeating = true })
|
||||
|
||||
-- Requires playerctl
|
||||
hl.bind("XF86AudioNext", hl.dsp.exec_cmd("playerctl next"), { locked = true })
|
||||
hl.bind("XF86AudioPause", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("XF86AudioPlay", hl.dsp.exec_cmd("playerctl play-pause"), { locked = true })
|
||||
hl.bind("XF86AudioPrev", hl.dsp.exec_cmd("playerctl previous"), { locked = true })
|
||||
|
||||
|
||||
--------------------------------
|
||||
---- WINDOWS AND WORKSPACES ----
|
||||
--------------------------------
|
||||
|
||||
-- See https://wiki.hypr.land/Configuring/Basics/Window-Rules/
|
||||
-- and https://wiki.hypr.land/Configuring/Basics/Workspace-Rules/
|
||||
|
||||
-- Example window rules that are useful
|
||||
|
||||
local suppressMaximizeRule = hl.window_rule({
|
||||
-- Ignore maximize requests from all apps. You'll probably like this.
|
||||
name = "suppress-maximize-events",
|
||||
match = { class = ".*" },
|
||||
|
||||
suppress_event = "maximize",
|
||||
})
|
||||
-- suppressMaximizeRule:set_enabled(false)
|
||||
|
||||
hl.window_rule({
|
||||
-- Fix some dragging issues with XWayland
|
||||
name = "fix-xwayland-drags",
|
||||
match = {
|
||||
class = "^$",
|
||||
title = "^$",
|
||||
xwayland = true,
|
||||
float = true,
|
||||
fullscreen = false,
|
||||
pin = false,
|
||||
},
|
||||
|
||||
no_focus = true,
|
||||
})
|
||||
|
||||
-- Layer rules also return a handle.
|
||||
-- local overlayLayerRule = hl.layer_rule({
|
||||
-- name = "no-anim-overlay",
|
||||
-- match = { namespace = "^my-overlay$" },
|
||||
-- no_anim = true,
|
||||
-- })
|
||||
-- overlayLayerRule:set_enabled(false)
|
||||
|
||||
-- Hyprland-run windowrule
|
||||
hl.window_rule({
|
||||
name = "move-hyprland-run",
|
||||
match = { class = "hyprland-run" },
|
||||
|
||||
move = "20 monitor_h-120",
|
||||
float = true,
|
||||
})
|
||||
@@ -1,91 +0,0 @@
|
||||
source = /home/ivan/.config/aether/theme/hyprlock.conf
|
||||
$font_time = Widock TRIAL
|
||||
$font = JetBrainsMono Nerd Font
|
||||
|
||||
general {
|
||||
hide_cursor = false
|
||||
}
|
||||
|
||||
background {
|
||||
monitor =
|
||||
path = screenshot # Сделает скриншот текущего экрана
|
||||
blur_passes = 3 # Эффект размытия (оптимально 2-3)
|
||||
blur_size = 7
|
||||
|
||||
# ЗАТЕМНЕНИЕ: Снижаем яркость картинки (0.0 — полностью черный, 1.0 — исходная яркость)
|
||||
# Значение 0.5 уменьшит яркость скриншота ровно наполовину
|
||||
brightness = 0.5
|
||||
noise = 0.05
|
||||
}
|
||||
|
||||
input-field {
|
||||
monitor =
|
||||
rounding = 0
|
||||
size = 150, 50
|
||||
outline_thickness = 2
|
||||
font_family = $font
|
||||
dots_size = 0.25
|
||||
dots_spacing = 0.15
|
||||
dots_center = true
|
||||
fade_on_empty = false
|
||||
placeholder_text = <i>you shall not pass</i>
|
||||
hide_input = false
|
||||
position = 0, -100
|
||||
halign = center
|
||||
valign = center
|
||||
|
||||
# Используем точные переменные из файла Aether
|
||||
font_color = $font_color
|
||||
inner_color = $inner_color
|
||||
outer_color = $outer_color
|
||||
check_color = $check_color
|
||||
}
|
||||
|
||||
# ЧАСЫ
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%H")"
|
||||
color = $font_color
|
||||
font_size = 150
|
||||
font_family = $font_time
|
||||
position = 0, -250
|
||||
halign = center
|
||||
valign = top
|
||||
shadow_passes = 0
|
||||
}
|
||||
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo -e "$(date +"%M")"
|
||||
color = $font_color
|
||||
font_size = 150
|
||||
font_family = $font_time
|
||||
position = 0, -400
|
||||
halign = center
|
||||
valign = top
|
||||
shadow_passes = 0
|
||||
}
|
||||
|
||||
# ДАТА
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +'%A')"
|
||||
color = $font_color
|
||||
font_size = 18
|
||||
font_family = $font_time
|
||||
position = 0, -20
|
||||
halign = center
|
||||
valign = center
|
||||
shadow_passes = 0
|
||||
}
|
||||
label {
|
||||
monitor =
|
||||
text = cmd[update:1000] echo "$(date +'%d %B')"
|
||||
color = $font_color
|
||||
font_size = 18
|
||||
font_family = $font_time
|
||||
position = 0, -40
|
||||
halign = center
|
||||
valign = center
|
||||
shadow_passes = 0
|
||||
}
|
||||
@@ -2,14 +2,13 @@
|
||||
waybar &
|
||||
mako &
|
||||
|
||||
swaybg \
|
||||
-m fill \
|
||||
-i "$HOME/backgrounds/fuji_light.jpg" &
|
||||
|
||||
# буфер обмена
|
||||
wl-paste --type text --watch cliphist store &
|
||||
wl-paste --type image --watch cliphist store &
|
||||
|
||||
# обои
|
||||
# потом заменить на ~/.config/labwc/update_theme.sh &
|
||||
~/.config/labwc/scripts/base_theme_dark.sh &
|
||||
|
||||
|
||||
# polkit agent
|
||||
systemctl --user start hyprpolkitagent.service &
|
||||
# polkit authentication agent
|
||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
|
||||
|
||||
@@ -2,7 +2,4 @@
|
||||
XKB_DEFAULT_LAYOUT=us,ru
|
||||
|
||||
# смена раскладки на сочетание клавиш
|
||||
XKB_DEFAULT_OPTIONS=grp:ctrl_space_toggle
|
||||
|
||||
# тема для Qt-приложений
|
||||
QT_QPA_PLATFORMTHEME=qt6ct
|
||||
XKB_DEFAULT_OPTIONS=grp:ctrl_space_toggle
|
||||
+26
-47
@@ -11,52 +11,21 @@
|
||||
<separator />
|
||||
|
||||
|
||||
<menu id="themes-menu" label="themes">
|
||||
|
||||
<menu id="alpine-menu" label="alpine">
|
||||
|
||||
<item label="light">
|
||||
<action name="Execute" command="sh -c 'themesd alpine light'"/>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="dark">
|
||||
<action name="Execute" command="sh -c 'themesd alpine dark'"/>
|
||||
</item>
|
||||
|
||||
</menu>
|
||||
|
||||
<menu id="fuji-menu" label="fuji">
|
||||
|
||||
<item label="light">
|
||||
<action name="Execute" command="sh -c 'themesd fuji light'"/>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="dark">
|
||||
<action name="Execute" command="sh -c 'themesd fuji dark'"/>
|
||||
</item>
|
||||
|
||||
</menu>
|
||||
|
||||
</menu>
|
||||
|
||||
|
||||
<separator />
|
||||
|
||||
|
||||
<menu id="apps-menu" label="apps">
|
||||
<item label="terminal">
|
||||
<action name="Execute" command="alacritty --config-file ~/.config/alacritty/alacritty.toml"/>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="telegram">
|
||||
<action name="Execute" command="swaylock"/>
|
||||
<action name="Execute" command="Telegram"/>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="librewolf">
|
||||
<action name="Execute" command="librewolf"/>
|
||||
<item label="firefox">
|
||||
<action name="Execute" command="firefox"/>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
@@ -77,11 +46,6 @@
|
||||
<action name="Execute" command="subl"/>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="steam">
|
||||
<action name="Execute" command="steam"/>
|
||||
</item>
|
||||
|
||||
</menu>
|
||||
|
||||
@@ -97,19 +61,34 @@
|
||||
<separator />
|
||||
|
||||
<item label="logout">
|
||||
<action name="Exit"/>
|
||||
<action name="If">
|
||||
<prompt message="Do you really want to exit the compositor?" />
|
||||
<then>
|
||||
<action name="Exit" />
|
||||
</then>
|
||||
</action>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="reboot">
|
||||
<action name="Execute" command="reboot"/>
|
||||
<action name="If">
|
||||
<prompt message="Do you really want to reboot your system?" />
|
||||
<then>
|
||||
<action name="Execute" command="reboot"/>
|
||||
</then>
|
||||
</action>
|
||||
</item>
|
||||
|
||||
<separator />
|
||||
|
||||
<item label="shutdown">
|
||||
<action name="Execute" command="poweroff"/>
|
||||
<action name="If">
|
||||
<prompt message="Do you really want to poweroff your system?" />
|
||||
<then>
|
||||
<action name="Execute" command="poweroff"/>
|
||||
</then>
|
||||
</action>
|
||||
</item>
|
||||
</menu>
|
||||
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#0c0c0c
|
||||
#121212
|
||||
#7e49b2
|
||||
#1c1c1c
|
||||
#c8c8c8
|
||||
@@ -1,5 +0,0 @@
|
||||
#c8c8c8
|
||||
#1c1c1c
|
||||
#7e49b2
|
||||
#121212
|
||||
#0c0c0c
|
||||
@@ -146,17 +146,17 @@
|
||||
|
||||
<!-- запустить терминал(alacritty) -->
|
||||
<keybind key="W-return"> <!-- Win+Return(enter) -->
|
||||
<action name="Execute" command="alacritty --config-file ~/.config/aether/theme/alacritty.toml" />
|
||||
<action name="Execute" command="alacritty --config-file ~/.config/alacritty/alacritty.toml" />
|
||||
</keybind>
|
||||
|
||||
<!-- запустить проводник(dolphin) -->
|
||||
<keybind key="W-e"> <!-- Win+E -->
|
||||
<action name="Execute" command="dolphin" />
|
||||
<action name="Execute" command="pcmanfm" />
|
||||
</keybind>
|
||||
|
||||
<!-- заблокировать пк -->
|
||||
<keybind key="W-l"> <!-- Win+L -->
|
||||
<action name="Execute" command="hyprlock" />
|
||||
<action name="Execute" command="swaylock" />
|
||||
</keybind>
|
||||
|
||||
<!-- сделать скриншот области(скриншот не сохраняется на диск) -->
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
PALETTE="$HOME/.config/labwc/palettes/alpine/palette-dark"
|
||||
|
||||
BG_COLOR=$(sed -n '1p' "$PALETTE")
|
||||
SUB_BG_COLOR=$(sed -n '2p' "$PALETTE")
|
||||
ACCENT_COLOR=$(sed -n '3p' "$PALETTE")
|
||||
SUB_FG_COLOR=$(sed -n '4p' "$PALETTE")
|
||||
FG_COLOR=$(sed -n '5p' "$PALETTE")
|
||||
|
||||
|
||||
cat << EOF > "$HOME/.config/labwc/themerc-override"
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: $FG_COLOR
|
||||
window.inactive.border.color: $BG_COLOR
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: $FG_COLOR
|
||||
window.inactive.title.bg.color: $FG_COLOR
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: $BG_COLOR
|
||||
window.inactive.label.text.color: $BG_COLOR
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: $BG_COLOR
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна
|
||||
window.inactive.button.image.color: $BG_COLOR
|
||||
EOF
|
||||
|
||||
killall swaybg 2>/dev/null
|
||||
|
||||
swaybg \
|
||||
-m fill \
|
||||
-i "$HOME/backgrounds/alpine_bg_dark_sign.jpg" &
|
||||
|
||||
sh -c 'labwc --reconfigure; killall waybar; waybar &'
|
||||
@@ -1,38 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
PALETTE="$HOME/.config/labwc/palettes/alpine/palette-light"
|
||||
|
||||
BG_COLOR=$(sed -n '1p' "$PALETTE")
|
||||
SUB_BG_COLOR=$(sed -n '2p' "$PALETTE")
|
||||
ACCENT_COLOR=$(sed -n '3p' "$PALETTE")
|
||||
SUB_FG_COLOR=$(sed -n '4p' "$PALETTE")
|
||||
FG_COLOR=$(sed -n '5p' "$PALETTE")
|
||||
|
||||
|
||||
cat << EOF > "$HOME/.config/labwc/themerc-override"
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: $FG_COLOR
|
||||
window.inactive.border.color: $BG_COLOR
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: $FG_COLOR
|
||||
window.inactive.title.bg.color: $FG_COLOR
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: $BG_COLOR
|
||||
window.inactive.label.text.color: $BG_COLOR
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: $BG_COLOR
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна
|
||||
window.inactive.button.image.color: $BG_COLOR
|
||||
EOF
|
||||
|
||||
killall swaybg 2>/dev/null
|
||||
|
||||
swaybg \
|
||||
-m fill \
|
||||
-i "$HOME/backgrounds/alpine_bg_light_sign.jpg" &
|
||||
|
||||
sh -c 'labwc --reconfigure; killall waybar; waybar &'
|
||||
@@ -1,17 +1,15 @@
|
||||
# цвет рамки active и inactive
|
||||
window.active.border.color: #F9EDE4
|
||||
window.inactive.border.color: #141414
|
||||
window.active.border.color: #98309c
|
||||
window.inactive.border.color: #0b0b0b
|
||||
|
||||
# цвет фона заголовка active и inactive
|
||||
window.active.title.bg.color: #141414
|
||||
window.inactive.title.bg.color: #141414
|
||||
window.active.title.bg.color: #b8b8b8
|
||||
window.inactive.title.bg.color: #e3e3e3
|
||||
|
||||
# цвет текста заголовка окна
|
||||
window.active.label.text.color: #F9EDE4
|
||||
window.inactive.label.text.color: #F9EDE4
|
||||
window.active.label.text.color: #0b0b0b
|
||||
window.inactive.label.text.color: #0b0b0b
|
||||
|
||||
# цвет иконок кнопок для АКТИВНОГО окна
|
||||
window.active.button.unpressed.image.color: #F9EDE4
|
||||
|
||||
# цвет иконок кнопок для НЕАКТИВНОГО окна (ОБЯЗАТЕЛЬНЫЙ КЛЮЧ LABWC)
|
||||
window.inactive.button.image.color: #F9EDE4
|
||||
# цвет иконок кнопок для окна
|
||||
window.active.button.unpressed.image.color: #0b0b0b
|
||||
window.inactive.button.image.color: #0b0b0b
|
||||
@@ -1,32 +0,0 @@
|
||||
[Appearance]
|
||||
color_scheme_path=/usr/share/qt6ct/colors/darker.conf
|
||||
custom_palette=true
|
||||
icon_theme=breeze-dark
|
||||
standard_dialogs=default
|
||||
style=Fusion
|
||||
|
||||
[Fonts]
|
||||
fixed="JetBrainsMono Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0"
|
||||
general="JetBrainsMonoNL Nerd Font,10,-1,5,400,0,0,0,0,0,0,0,0,0,0,1,Regular,0,0"
|
||||
|
||||
[Interface]
|
||||
activate_item_on_single_click=1
|
||||
buttonbox_layout=2
|
||||
cursor_flash_time=1000
|
||||
dialog_buttons_have_icons=1
|
||||
double_click_interval=400
|
||||
gui_effects=@Invalid()
|
||||
keyboard_scheme=2
|
||||
menus_have_icons=true
|
||||
show_shortcuts_in_context_menus=true
|
||||
stylesheets=@Invalid()
|
||||
toolbutton_style=4
|
||||
underline_shortcut=1
|
||||
wheel_scroll_lines=3
|
||||
|
||||
[SettingsWindow]
|
||||
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m\0\0\0\0\0\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x2\xde\0\0\x2m)
|
||||
|
||||
[Troubleshooting]
|
||||
force_raster_widgets=1
|
||||
ignored_applications=@Invalid()
|
||||
@@ -0,0 +1,123 @@
|
||||
# ~/.config/swaylock/config
|
||||
|
||||
|
||||
# ============================================
|
||||
# BACKGROUND
|
||||
# ============================================
|
||||
|
||||
# Снимок текущего экрана
|
||||
screenshots
|
||||
|
||||
# Размытие: <радиус>x<проходы>
|
||||
effect-blur=7x3
|
||||
|
||||
# Виньетка (затемнение по краям)
|
||||
# effect-vignette=0.5:0.5
|
||||
|
||||
# Заполнять экран скриншотом
|
||||
scaling=fill
|
||||
|
||||
|
||||
# ============================================
|
||||
# FONT
|
||||
# ============================================
|
||||
|
||||
font=JetBrainsMono Nerd Font
|
||||
font-size=18
|
||||
|
||||
|
||||
# ============================================
|
||||
# CLOCK / DATE
|
||||
# ============================================
|
||||
|
||||
clock
|
||||
|
||||
# Часы
|
||||
#timestr=%H:%M
|
||||
|
||||
|
||||
# ============================================
|
||||
# INDICATOR
|
||||
# ============================================
|
||||
|
||||
indicator
|
||||
|
||||
# Радиус кольца
|
||||
indicator-radius=75
|
||||
|
||||
# Толщина кольца
|
||||
indicator-thickness=10
|
||||
|
||||
# Позиция индикатора.
|
||||
# По умолчанию — по центру.
|
||||
# Если нужна ручная позиция — раскомментируй:
|
||||
#indicator-x-position=960
|
||||
#indicator-y-position=540
|
||||
|
||||
|
||||
# ============================================
|
||||
# COLORS
|
||||
# ============================================
|
||||
|
||||
text-color=fefefeff
|
||||
|
||||
inside-color=090909a8
|
||||
|
||||
ring-color=acacacff
|
||||
|
||||
|
||||
# ============================================
|
||||
# PASSWORD CHECK
|
||||
# ============================================
|
||||
|
||||
inside-ver-color=090909a8
|
||||
|
||||
ring-ver-color=dadadaff
|
||||
|
||||
text-ver-color=fefefeff
|
||||
|
||||
|
||||
# ============================================
|
||||
# WRONG PASSWORD
|
||||
# ============================================
|
||||
|
||||
inside-wrong-color=090909a8
|
||||
|
||||
ring-wrong-color=acacacff
|
||||
|
||||
text-wrong-color=fefefeff
|
||||
|
||||
|
||||
# ============================================
|
||||
# CLEAR
|
||||
# ============================================
|
||||
|
||||
inside-clear-color=090909a8
|
||||
|
||||
ring-clear-color=acacacff
|
||||
|
||||
text-clear-color=fefefeff
|
||||
|
||||
|
||||
# ============================================
|
||||
# SEPARATOR
|
||||
# ============================================
|
||||
|
||||
separator-color=090909ff
|
||||
|
||||
|
||||
# ============================================
|
||||
# KEY HIGHLIGHT
|
||||
# ============================================
|
||||
|
||||
key-hl-color=dadadaff
|
||||
|
||||
bs-hl-color=acacacff
|
||||
|
||||
|
||||
# ============================================
|
||||
# PASSWORD / BEHAVIOUR
|
||||
# ============================================
|
||||
|
||||
# Показывать количество неудачных попыток
|
||||
show-failed-attempts
|
||||
+34
-13
@@ -5,7 +5,7 @@
|
||||
"spacing": 0,
|
||||
"modules-left": ["wlr/taskbar"],
|
||||
"modules-center": ["clock"],
|
||||
"modules-right": ["network", "custom/spotify", "custom/v2raya", "custom/language", "pulseaudio", "cpu", "memory", "tray"],
|
||||
"modules-right": ["network", "bluetooth", "custom/spotify", "custom/language", "pulseaudio", "cpu", "memory", "battery", "wlr/tray"],
|
||||
|
||||
"wlr/taskbar": {
|
||||
"format": "{icon}",
|
||||
@@ -21,18 +21,10 @@
|
||||
"custom/spotify": {
|
||||
"format": "[{}] ",
|
||||
"exec": "playerctl metadata --format '{{artist}} - {{title}}' spotify 2>/dev/null || echo ''",
|
||||
"on-click": "ironbar bar spotify-popup toggle-popup spotify-music",
|
||||
"interval": 3,
|
||||
"restart-interval": 1,
|
||||
"on-click": "spotify",
|
||||
"max-length": 50
|
||||
},
|
||||
"custom/v2raya": {
|
||||
"format": "PROXY{}",
|
||||
"return-type": "json",
|
||||
"interval": 2,
|
||||
"exec": "/home/ivan/.config/waybar/v2raya-toggle.sh",
|
||||
"on-click": "/home/ivan/.config/waybar/v2raya-toggle.sh toggle",
|
||||
"signal": 10
|
||||
},
|
||||
"clock": {
|
||||
"format": "{:%H:%M}",
|
||||
"format-alt": "{:%d-%m-%Y}"
|
||||
@@ -50,14 +42,43 @@
|
||||
"format-wifi": " {bandwidthDownBytes}",
|
||||
"format-ethernet": " {bandwidthDownBytes}",
|
||||
"format-disconnected": "⚠ DONT",
|
||||
"interval": 1
|
||||
"interval": 1,
|
||||
"on-click": "alacritty -e nmtui"
|
||||
},
|
||||
"bluetooth": {
|
||||
"format": "",
|
||||
"format-disabled": "",
|
||||
"format-off": "",
|
||||
"format-connected": " {num_connections}",
|
||||
|
||||
"tooltip-format": "{device_enumerate}",
|
||||
|
||||
"on-click": "blueman-manager"
|
||||
},
|
||||
"battery": {
|
||||
"format": "{capacity}% {icon}",
|
||||
"format-charging": " {capacity}% {icon}",
|
||||
"format-plugged": " {capacity}%",
|
||||
|
||||
"format-icons": [
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
|
||||
"states": {
|
||||
"warning": 30,
|
||||
"critical": 15
|
||||
}
|
||||
},
|
||||
"pulseaudio": {
|
||||
"format": " {volume}%",
|
||||
"format-muted": " Muted",
|
||||
"on-click": "pavucontrol"
|
||||
},
|
||||
"tray": {
|
||||
"wlr/tray": {
|
||||
"icon-size": 10,
|
||||
"spacing": 15
|
||||
}
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
* {
|
||||
font-family: "JetBrainsMono Nerd Font", "Font Awesome 7 Free", "Font Awesome 7 Free Solid", "Font Awesome 7 Brands", sans-serif;
|
||||
font-family: "JetBrainsMono Nerd Font";
|
||||
font-size: 12px;
|
||||
border: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
@import "/home/ivan/.config/aether/theme/waybar.css";
|
||||
|
||||
window#waybar {
|
||||
background: alpha(@background, 0.75);
|
||||
color: @foreground;
|
||||
background: alpha(#e3e3e3, 0.75);
|
||||
color: #0b0b0b;
|
||||
min-height: 28px;
|
||||
}
|
||||
|
||||
@@ -22,24 +20,16 @@ window#waybar {
|
||||
#custom-spotify,
|
||||
#tray {
|
||||
padding: 0 10px;
|
||||
color: @foreground;
|
||||
color: #0b0b0b;
|
||||
}
|
||||
|
||||
#taskbar button {
|
||||
color: alpha(@foreground, 0.6);
|
||||
color: alpha(#0b0b0b, 0.6);
|
||||
padding: 0 8px;
|
||||
}
|
||||
|
||||
#taskbar button.active {
|
||||
background-color: alpha(@foreground, 0.2);
|
||||
box-shadow: inset 0 -2px 0 0 @foreground;
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#custom-v2raya.enabled {
|
||||
color: @foreground;
|
||||
}
|
||||
|
||||
#custom-v2raya.disabled {
|
||||
color: @background;
|
||||
background-color: alpha(#0b0b0b, 0.2);
|
||||
box-shadow: inset 0 -2px 0 0 #0b0b0b;
|
||||
color: #0b0b0b;
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Проверяем, запущен ли процесс v2rayA
|
||||
if pgrep -x "v2raya" > /dev/null; then
|
||||
if [ "$1" = "toggle" ]; then
|
||||
sudo systemctl stop v2raya.service 2>/dev/null || sudo killall v2raya
|
||||
|
||||
+13
-15
@@ -1,5 +1,3 @@
|
||||
@import "/home/ivan/.config/aether/theme/wofi.css";
|
||||
|
||||
#img {
|
||||
padding: 5px;
|
||||
width: 120px;
|
||||
@@ -12,42 +10,42 @@
|
||||
|
||||
|
||||
window {
|
||||
background-color: @bg;
|
||||
border: 2px solid @gray3;
|
||||
background-color: #090909;
|
||||
border: 2px solid #fefefe;
|
||||
}
|
||||
|
||||
input {
|
||||
background-color: @bg;
|
||||
color: @fg;
|
||||
border: 1px solid @gray2;
|
||||
background-color: #090909;
|
||||
color: #fefefe;
|
||||
border: 1px solid #62605a;
|
||||
}
|
||||
|
||||
input:selected {
|
||||
background-color: @gray1;
|
||||
color: @fg_bright;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
#entry {
|
||||
color: @fg;
|
||||
background-color: @bg;
|
||||
color: #fefefe;
|
||||
background-color: #090909;
|
||||
padding: 5px;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
#entry:selected {
|
||||
background-color: @gray1;
|
||||
color: @fg_bright;
|
||||
background-color: #c3c3c3;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: @bg;
|
||||
background-color: #090909;
|
||||
}
|
||||
|
||||
scrollbar slider {
|
||||
background-color: @gray2;
|
||||
background-color: #62605a;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
scrollbar slider:hover {
|
||||
background-color: @gray3;
|
||||
background-color: #808080;
|
||||
}
|
||||
|
||||
Binary file not shown.
+17
-90
@@ -82,7 +82,7 @@ sudo apk add \
|
||||
curl \
|
||||
cmake \
|
||||
libcurl \
|
||||
libcurl-dev \
|
||||
curl-dev \
|
||||
opencv \
|
||||
opencv-dev \
|
||||
waybar \
|
||||
@@ -98,12 +98,20 @@ sudo apk add \
|
||||
wireplumber \
|
||||
alsa-utils \
|
||||
networkmanager \
|
||||
nm-applet \
|
||||
pcmanfm-gtk3 \
|
||||
network-manager-applet \
|
||||
pcmanfm \
|
||||
firefox \
|
||||
swaylock \
|
||||
swaylock-effects \
|
||||
playerctl \
|
||||
font-jetbrains-mono
|
||||
font-jetbrains-mono \
|
||||
ristretto \
|
||||
grim \
|
||||
bluez \
|
||||
pavucontrol \
|
||||
brightnessctl \
|
||||
networkmanager-tui \
|
||||
blueman \
|
||||
htop
|
||||
|
||||
success "all packages installed"
|
||||
|
||||
@@ -126,61 +134,7 @@ else
|
||||
fi
|
||||
|
||||
|
||||
# 5. Build zenith-cli
|
||||
|
||||
if [ -d "$HOME/zenith-cli/.git" ]; then
|
||||
info "zenith-cli already exists, updating..."
|
||||
|
||||
cd "$HOME/zenith-cli"
|
||||
git pull
|
||||
else
|
||||
if [ -e "$HOME/zenith-cli" ]; then
|
||||
error "$HOME/zenith-cli exists but is not a git repository"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
info "cloning zenith-cli repository..."
|
||||
|
||||
git clone \
|
||||
https://zenithcode.duckdns.org/s13bby/zenith-cli.git \
|
||||
"$HOME/zenith-cli"
|
||||
fi
|
||||
|
||||
if [ ! -f "$HOME/zenith-cli/build.sh" ]; then
|
||||
error "zenith-cli/build.sh not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
info "making build script executable..."
|
||||
chmod +x "$HOME/zenith-cli/build.sh"
|
||||
|
||||
info "building zenith-cli..."
|
||||
sh "$HOME/zenith-cli/build.sh"
|
||||
|
||||
if [ ! -f "$HOME/zenith-cli/zenith-cli" ]; then
|
||||
error "zenith-cli binary was not created"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
info "installing zenith-cli to ~/.local/bin..."
|
||||
|
||||
mkdir -p "$HOME/.local/bin"
|
||||
|
||||
cp "$HOME/zenith-cli/zenith-cli" "$HOME/.local/bin/zenith-cli"
|
||||
chmod +x "$HOME/.local/bin/zenith-cli"
|
||||
|
||||
if ! grep -Fq 'export PATH="$HOME/.local/bin:$PATH"' "$HOME/.profile" 2>/dev/null; then
|
||||
echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.profile"
|
||||
success "added ~/.local/bin to PATH in .profile"
|
||||
fi
|
||||
|
||||
# Make zenith-cli available in the current shell
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
success "zenith-cli ready to work"
|
||||
|
||||
|
||||
# 6. Copy configs
|
||||
# 5. Copy configs
|
||||
|
||||
info "creating config directory..."
|
||||
|
||||
@@ -188,7 +142,7 @@ mkdir -p "$HOME/.config"
|
||||
|
||||
info "copying dotfiles..."
|
||||
|
||||
for config in hypr labwc waybar wofi qt6ct alacritty; do
|
||||
for config in alacritty swaylock labwc waybar wofi; do
|
||||
if [ -d "$HOME/labwc-alpine/configs/$config" ]; then
|
||||
cp -r "$HOME/labwc-alpine/configs/$config" "$HOME/.config/"
|
||||
else
|
||||
@@ -196,37 +150,10 @@ for config in hypr labwc waybar wofi qt6ct alacritty; do
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -d "$HOME/labwc-alpine/palettes" ]; then
|
||||
cp -r "$HOME/labwc-alpine/palettes" "$HOME/.config/"
|
||||
else
|
||||
error "palettes directory not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
success "dotfiles copied"
|
||||
|
||||
|
||||
# 7. Copy fonts
|
||||
|
||||
info "creating fonts directory..."
|
||||
|
||||
mkdir -p "$HOME/.local/share/fonts"
|
||||
|
||||
if [ -d "$HOME/labwc-alpine/fonts" ]; then
|
||||
cp -r "$HOME/labwc-alpine/fonts/"* "$HOME/.local/share/fonts/"
|
||||
else
|
||||
error "fonts directory not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
info "updating font cache..."
|
||||
fc-cache -fv >/dev/null
|
||||
|
||||
success "fonts copied"
|
||||
|
||||
|
||||
# 8. Copy backgrounds
|
||||
# 6. Copy backgrounds
|
||||
|
||||
info "creating backgrounds directory..."
|
||||
|
||||
@@ -242,7 +169,7 @@ fi
|
||||
success "backgrounds copied"
|
||||
|
||||
|
||||
# 9. Done
|
||||
# 7. Done
|
||||
|
||||
echo
|
||||
echo "┌──────────────────────────────────────┐"
|
||||
|
||||
Reference in New Issue
Block a user