almost finaly

This commit is contained in:
2026-09-13 19:18:33 +06:00
parent 3a7be7b631
commit 18ed76636f
17 changed files with 894 additions and 0 deletions
+27
View File
@@ -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"
+14
View File
@@ -0,0 +1,14 @@
# базовые сервисы
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 &
# polkit authentication agent
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 &
+5
View File
@@ -0,0 +1,5 @@
# раскладка и ее порядок
XKB_DEFAULT_LAYOUT=us,ru
# смена раскладки на сочетание клавиш
XKB_DEFAULT_OPTIONS=grp:ctrl_space_toggle
+92
View File
@@ -0,0 +1,92 @@
<?xml version="1.0" ?>
<openbox_menu>
<menu id="root-menu" label="">
<item label="reconfigure">
<action name="Reconfigure" />
<action name="Execute" command="sh -c 'labwc --reconfigure; killall waybar; waybar &amp;'" />
</item>
<separator />
<menu id="apps-menu" label="apps">
<item label="telegram">
<action name="Execute" command="Telegram"/>
</item>
<separator />
<item label="firefox">
<action name="Execute" command="firefox"/>
</item>
<separator />
<item label="pcmanfm">
<action name="Execute" command="pcmanfm"/>
</item>
<separator />
<item label="spotify">
<action name="Execute" command="spotify"/>
</item>
<separator />
<item label="sublime">
<action name="Execute" command="subl"/>
</item>
</menu>
<separator />
<menu id="system-menu" label="system">
<item label="lock">
<action name="Execute" command="swaylock"/>
</item>
<separator />
<item label="logout">
<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="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="If">
<prompt message="Do you really want to poweroff your system?" />
<then>
<action name="Execute" command="poweroff"/>
</then>
</action>
</item>
</menu>
</menu>
</openbox_menu>
+195
View File
@@ -0,0 +1,195 @@
<?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>labwc-s13bby</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+p -->
<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"> <!-- Alt + Shift + a -->
<action name="MoveToOutput" direction="left" />
</keybind>
<!-- переместить окно на правый монитор -->
<keybind key="A-S-d"> <!-- Alt + Shift + d -->
<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/alacritty/alacritty.toml" />
</keybind>
<!-- запустить проводник(dolphin) -->
<keybind key="W-e"> <!-- Win+E -->
<action name="Execute" command="pcmanfm" />
</keybind>
<!-- заблокировать пк -->
<keybind key="W-l"> <!-- Win+L -->
<action name="Execute" command="swaylock" />
</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>
+2
View File
@@ -0,0 +1,2 @@
# очистка clipboard
cliphist wipe &
+18
View File
@@ -0,0 +1,18 @@
# цвет рамки active и inactive
window.active.border.color: #98309c
window.inactive.border.color: #0b0b0b
# цвет фона заголовка active и inactive
window.active.title.bg.color: #e3e3e3
window.inactive.title.bg.color: #b8b8b8
# цвет текста заголовка окна
window.active.label.text.color: #0b0b0b
window.inactive.label.text.color: #0b0b0b
# цвет иконок кнопок для окна
window.active.button.unpressed.image.color: #0b0b0b
window.inactive.button.image.color: #0b0b0b
window.active.border.radius: 0
window.inactive.border.radius: 0
+123
View File
@@ -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
+65
View File
@@ -0,0 +1,65 @@
{
"layer": "top",
"position": "top",
"height": 25,
"spacing": 0,
"modules-left": ["wlr/taskbar"],
"modules-center": ["clock"],
"modules-right": ["network", "custom/spotify", "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 ''",
"restart-interval": 1,
"on-click": "spotify",
"max-length": 50
},
// "custom/v2raya": {
// "format": "PROXY{}",
// "return-type": "json",
// "interval": 2,
// "exec": "sh -c '~/.config/waybar/v2raya-toggle.sh toggle'",
// "on-click": "sh -c '~/.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
}
}
+43
View File
@@ -0,0 +1,43 @@
* {
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#waybar {
background: alpha(#e3e3e3, 0.75);
color: #0b0b0b;
min-height: 28px;
}
#clock,
#cpu,
#memory,
#network,
#pulseaudio,
#taskbar,
#custom-spotify,
#tray {
padding: 0 10px;
color: #0b0b0b;
}
#taskbar button {
color: alpha(#0b0b0b, 0.6);
padding: 0 8px;
}
#taskbar button.active {
background-color: alpha(#0b0b0b, 0.2);
box-shadow: inset 0 -2px 0 0 #0b0b0b;
color: #0b0b0b;
}
/*#custom-v2raya.enabled {
color: #0b0b0b;
}
#custom-v2raya.disabled {
color: #747474;
}*/
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
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
+61
View File
@@ -0,0 +1,61 @@
#!/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
+51
View File
@@ -0,0 +1,51 @@
#img {
padding: 5px;
width: 120px;
height: 120px;
}
#entry {
padding: 10px;
}
window {
background-color: #090909;
border: 2px solid #fefefe;
}
input {
background-color: #090909;
color: #fefefe;
border: 1px solid #62605a;
}
input:selected {
background-color: @gray1;
color: #fcfcfc;
}
#entry {
color: #fefefe;
background-color: #090909;
padding: 5px;
margin: 2px;
}
#entry:selected {
background-color: #c3c3c3;
color: #fcfcfc;
}
scrollbar {
background-color: #090909;
}
scrollbar slider {
background-color: #62605a;
border-radius: 5px;
}
scrollbar slider:hover {
background-color: #808080;
}