almost finaly
This commit is contained in:
@@ -1,2 +1,11 @@
|
|||||||
# labwc-opensuse
|
# labwc-opensuse
|
||||||
|
|
||||||
|
in opensuse installer choose >> generic desktop
|
||||||
|
|
||||||
|
sudo zypper install labwc git
|
||||||
|
sudo systemctl disable display-manager
|
||||||
|
sudo systemctl set-default multi-user.target
|
||||||
|
|
||||||
|
git clone https://zenithcode.duckdns.org/s13bby/labwc-opensuse.git
|
||||||
|
|
||||||
|
bash ~/labwc-opensuse/install.sh
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
@@ -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"
|
||||||
@@ -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 &
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# раскладка и ее порядок
|
||||||
|
XKB_DEFAULT_LAYOUT=us,ru
|
||||||
|
|
||||||
|
# смена раскладки на сочетание клавиш
|
||||||
|
XKB_DEFAULT_OPTIONS=grp:ctrl_space_toggle
|
||||||
@@ -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 &'" />
|
||||||
|
</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>
|
||||||
@@ -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>
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
# очистка clipboard
|
||||||
|
cliphist wipe &
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -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;
|
||||||
|
}*/
|
||||||
Executable
+18
@@ -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
|
||||||
|
|
||||||
Executable
+61
@@ -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
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
Executable
+171
@@ -0,0 +1,171 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# colors for output
|
||||||
|
GREEN='\033[0;32m'
|
||||||
|
BLUE='\033[0;34m'
|
||||||
|
RED='\033[0;31m'
|
||||||
|
NC='\033[0m'
|
||||||
|
|
||||||
|
# helpers
|
||||||
|
info() {
|
||||||
|
printf '%b\n' "${BLUE}>>$1${NC}"
|
||||||
|
}
|
||||||
|
|
||||||
|
success() {
|
||||||
|
printf '%b\n' "${GREEN}>>$1${NC}"
|
||||||
|
}
|
||||||
|
|
||||||
|
error() {
|
||||||
|
printf '%b\n' "${RED}>>ERROR: $1${NC}" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# 0. Check environment
|
||||||
|
|
||||||
|
if [ "$(id -u)" -eq 0 ]; then
|
||||||
|
error "do not run this installer as root"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
if [ ! -d "$HOME/labwc-opensuse" ]; then
|
||||||
|
error "labwc-opensuse directory not found in $HOME"
|
||||||
|
printf '%b\n' "${RED}>>Please clone the repository first:${NC}"
|
||||||
|
printf '%b\n' "${RED}>>git clone https://zenithcode.duckdns.org/s13bby/labwc-opensuse.git${NC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v sudo >/dev/null 2>&1; then
|
||||||
|
error "sudo is required"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# 1. Begin
|
||||||
|
|
||||||
|
echo "┌──────────────────────────────────────┐"
|
||||||
|
echo "│ zenithcode.duckdns.org │"
|
||||||
|
echo "│ welcome to installer labwc-opensuse │"
|
||||||
|
echo "│ by s13bby │"
|
||||||
|
echo "└──────────────────────────────────────┘"
|
||||||
|
|
||||||
|
|
||||||
|
# 2. Update and upgrade system
|
||||||
|
|
||||||
|
info "updating system & distro repositories..."
|
||||||
|
sudo zypper refresh
|
||||||
|
sudo zypper dup
|
||||||
|
success "system & distro repositories are up-to-date"
|
||||||
|
|
||||||
|
|
||||||
|
# 3. Install needed packages
|
||||||
|
|
||||||
|
info "installing needed packages..."
|
||||||
|
|
||||||
|
sudo rpm -v --import https://download.sublimetext.com/sublimehq-rpm-pub.gpg
|
||||||
|
sudo zypper addrepo -g -f https://download.sublimetext.com/rpm/stable/x86_64/sublime-text.rep
|
||||||
|
|
||||||
|
# power-profiles-daemon -- FOR NOTEBOOK ONLY
|
||||||
|
|
||||||
|
sudo zypper in \
|
||||||
|
opi \
|
||||||
|
gcc \
|
||||||
|
gcc-c++ \
|
||||||
|
git \
|
||||||
|
polkit \
|
||||||
|
polkit-gnome \
|
||||||
|
curl \
|
||||||
|
cmake \
|
||||||
|
libcurl-devel \
|
||||||
|
opencv \
|
||||||
|
opencv-devel \
|
||||||
|
waybar \
|
||||||
|
mako \
|
||||||
|
swaybg \
|
||||||
|
wofi \
|
||||||
|
google-noto-fonts \
|
||||||
|
dejavu-fonts \
|
||||||
|
wl-clipboard \
|
||||||
|
xdg-desktop-portal \
|
||||||
|
xdg-desktop-portal-gtk \
|
||||||
|
pipewire \
|
||||||
|
wireplumber \
|
||||||
|
alsa-utils \
|
||||||
|
NetworkManager \
|
||||||
|
NetworkManager-applet \
|
||||||
|
pcmanfm \
|
||||||
|
firefox \
|
||||||
|
playerctl \
|
||||||
|
jetbrains-mono-fonts \
|
||||||
|
power-profiles-daemon \
|
||||||
|
brightnessctl \
|
||||||
|
pavucontrol \
|
||||||
|
bluez \
|
||||||
|
sublime-text \
|
||||||
|
v2ray-core \
|
||||||
|
grim \
|
||||||
|
ristretto
|
||||||
|
|
||||||
|
success "all packages installed (without swaylock-effects. install this package manualy"
|
||||||
|
|
||||||
|
|
||||||
|
# 4. Configure NetworkManager & power-profiles-daemon & bluetooth
|
||||||
|
|
||||||
|
info "configuring NetworkManager & power-profiles-daemon..."
|
||||||
|
|
||||||
|
sudo systemctl enable --now NetworkManager
|
||||||
|
sudo systemctl enable --now power-profiles-daemon
|
||||||
|
sudo systemctl enable --now bluetooth
|
||||||
|
success "NetworkManager & power-profiles-daemon & bluetooth enabled and running"
|
||||||
|
|
||||||
|
|
||||||
|
# 5. Copy configs
|
||||||
|
|
||||||
|
info "creating config directory..."
|
||||||
|
|
||||||
|
mkdir -p "$HOME/.config"
|
||||||
|
|
||||||
|
info "copying dotfiles..."
|
||||||
|
|
||||||
|
for config in alacritty swaylock labwc waybar wofi; do
|
||||||
|
if [ -d "$HOME/labwc-opensuse/configs/$config" ]; then
|
||||||
|
cp -r "$HOME/labwc-opensuse/configs/$config" "$HOME/.config/"
|
||||||
|
else
|
||||||
|
error "config directory not found: $config"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
success "dotfiles copied"
|
||||||
|
|
||||||
|
|
||||||
|
# 6. Copy backgrounds
|
||||||
|
|
||||||
|
info "creating backgrounds directory..."
|
||||||
|
|
||||||
|
mkdir -p "$HOME/backgrounds/"
|
||||||
|
|
||||||
|
if [ -d "$HOME/labwc-opensuse/backgrounds" ]; then
|
||||||
|
cp -r "$HOME/labwc-opensuse/backgrounds/"* "$HOME/backgrounds/"
|
||||||
|
else
|
||||||
|
error "backgrounds directory not found"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
success "backgrounds copied"
|
||||||
|
|
||||||
|
|
||||||
|
# 7. Done
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "┌──────────────────────────────────────┐"
|
||||||
|
echo "│ zenithcode.duckdns.org │"
|
||||||
|
echo "│ thanks for use my dotfiles │"
|
||||||
|
echo "│ mail: qaws3623@gmail.com by s13bby │"
|
||||||
|
echo "└──────────────────────────────────────┘"
|
||||||
|
|
||||||
|
info "please. install swaylock-effcts manually"
|
||||||
|
info "write >> opi swaylock-effects"
|
||||||
|
|
||||||
|
success ">>after install swaylock-effects:"
|
||||||
|
success " >>please reboot system<<"
|
||||||
Reference in New Issue
Block a user