+ nwgp.sh (wip)
backup/restore nwg-panel settings
This commit is contained in:
80
dots/bin/nwgp.sh
Executable file
80
dots/bin/nwgp.sh
Executable file
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# 26.03.05 :: klevstul
|
||||
|
||||
|
||||
continue_if_yes() {
|
||||
# -n 1: Reads only one character.
|
||||
# -r: Prevents backslash interpretation.
|
||||
# Case handling: Accepts both uppercase and lowercase y/Y and n/N.
|
||||
# Default behavior: Pressing Enter defaults to n, avoiding accidental continuation.
|
||||
# Loop: Repeats until valid input is given.
|
||||
local prompt="${1:-continue?: }"
|
||||
while true; do
|
||||
echo ""
|
||||
read -r -n 1 -p "$prompt [y/n]:" answer
|
||||
case "$answer" in
|
||||
[Yy])
|
||||
echo # Move to next line after input
|
||||
return 0 # Continue execution
|
||||
;;
|
||||
[Nn]|"")
|
||||
echo # Move to next line
|
||||
return 1 # Exit or skip action
|
||||
;;
|
||||
*)
|
||||
echo -e "\nplease answer 'y' or 'n'."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
backupDeploy() {
|
||||
|
||||
local operation=$1
|
||||
local repo_dir="/home/poq/syncDir/gitRepos/gi.op.fo/lnx-arch/dots/nwg-panel"
|
||||
local nwgp_dir="/home/poq/.config/nwg-panel"
|
||||
local filenames=("common-settings.json" "config" "style.css")
|
||||
local files=()
|
||||
|
||||
if [[ "${operation}" == "backup" ]]; then
|
||||
echo -e "\nthe following files will be copied to the repository (old files in the repo will be overwritten):"
|
||||
|
||||
for filename in "${filenames[@]}"; do
|
||||
local file="${nwgp_dir}/${filename}"
|
||||
echo "- ${file}"
|
||||
files+=(${file})
|
||||
done
|
||||
|
||||
if continue_if_yes "would you like to proceed?"; then
|
||||
|
||||
echo "proceeding..."
|
||||
|
||||
for file in "${files[@]}"; do
|
||||
cp ${file} ${repo_dir}/
|
||||
done
|
||||
|
||||
else
|
||||
echo "operation cancelled."
|
||||
fi
|
||||
|
||||
|
||||
elif [[ "${operation}" == "deploy" ]]; then
|
||||
echo "deploy"
|
||||
|
||||
# pkill nwg-panel
|
||||
# nwg-panel &
|
||||
else
|
||||
echo "error: unknown operation '${operation}'"
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
this_file_name=`basename "$0"`
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "error: operation {backup|deploy} is missing."
|
||||
echo "usage: '$this_file_name {backup|deploy}'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
backupDeploy $1
|
||||
6
dots/nwg-panel/common-settings.json
Normal file
6
dots/nwg-panel/common-settings.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"restart-on-display": true,
|
||||
"restart-delay": 500,
|
||||
"processes-backgroud-only": true,
|
||||
"processes-own-only": true
|
||||
}
|
||||
231
dots/nwg-panel/config
Normal file
231
dots/nwg-panel/config
Normal file
@@ -0,0 +1,231 @@
|
||||
[
|
||||
{
|
||||
"name": "panel-top",
|
||||
"output": "DP-1",
|
||||
"layer": "bottom",
|
||||
"position": "top",
|
||||
"controls": "right",
|
||||
"width": "auto",
|
||||
"height": 30,
|
||||
"homogeneous": true,
|
||||
"margin-top": 0,
|
||||
"margin-bottom": 0,
|
||||
"padding-horizontal": 0,
|
||||
"padding-vertical": 0,
|
||||
"spacing": 20,
|
||||
"items-padding": 0,
|
||||
"icons": "light",
|
||||
"css-name": "panel-top",
|
||||
"modules-left": [
|
||||
"hyprland-workspaces"
|
||||
],
|
||||
"modules-center": [
|
||||
"clock",
|
||||
"playerctl",
|
||||
"executor-temperature"
|
||||
],
|
||||
"modules-right": [
|
||||
"tray"
|
||||
],
|
||||
"controls-settings": {
|
||||
"components": [
|
||||
"volume",
|
||||
"battery"
|
||||
],
|
||||
"commands": {
|
||||
"battery": ""
|
||||
},
|
||||
"show-values": false,
|
||||
"interval": 1,
|
||||
"icon-size": 16,
|
||||
"hover-opens": false,
|
||||
"leave-closes": true,
|
||||
"click-closes": false,
|
||||
"css-name": "controls-window",
|
||||
"custom-items": [
|
||||
{
|
||||
"name": "Panel settings",
|
||||
"icon": "nwg-panel",
|
||||
"cmd": "nwg-panel-config"
|
||||
}
|
||||
],
|
||||
"menu": {
|
||||
"name": "Exit",
|
||||
"icon": "system-shutdown-symbolic",
|
||||
"items": []
|
||||
},
|
||||
"show-brightness": false,
|
||||
"show-volume": false,
|
||||
"show-battery": true,
|
||||
"output-switcher": false,
|
||||
"per-app-volume": false,
|
||||
"backlight-controller": "brightnessctl",
|
||||
"backlight-device": "",
|
||||
"window-width": 0,
|
||||
"window-margin-horizontal": 0,
|
||||
"window-margin-vertical": 0,
|
||||
"root-css-name": "controls-overview",
|
||||
"battery-low-level": 20,
|
||||
"battery-low-interval": 3,
|
||||
"processes-label": "Processes",
|
||||
"readme-label": "README",
|
||||
"angle": 0.0
|
||||
},
|
||||
"tray": {
|
||||
"root-css-name": "tray",
|
||||
"inner-css-name": "inner-tray"
|
||||
},
|
||||
"sway-taskbar": {
|
||||
"workspace-menu": [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8"
|
||||
],
|
||||
"name-max-len": 20,
|
||||
"image-size": 16,
|
||||
"workspaces-spacing": 0,
|
||||
"task-padding": 0,
|
||||
"show-app-icon": true,
|
||||
"show-app-name": true,
|
||||
"show-layout": true,
|
||||
"workspace-buttons": false,
|
||||
"all-workspaces": true,
|
||||
"mark-autotiling": true,
|
||||
"mark-xwayland": true,
|
||||
"all-outputs": true
|
||||
},
|
||||
"sway-workspaces": {
|
||||
"numbers": [
|
||||
"1",
|
||||
"2",
|
||||
"3",
|
||||
"4",
|
||||
"5",
|
||||
"6",
|
||||
"7",
|
||||
"8"
|
||||
]
|
||||
},
|
||||
"clock": {
|
||||
"format": "%a %y.%m.%d @ %H:%M:%S",
|
||||
"tooltip-text": "",
|
||||
"on-left-click": "",
|
||||
"on-middle-click": "",
|
||||
"on-right-click": "",
|
||||
"on-scroll-up": "",
|
||||
"on-scroll-down": "",
|
||||
"css-name": "clock",
|
||||
"interval": 1,
|
||||
"tooltip-date-format": false,
|
||||
"root-css-name": "root-clock",
|
||||
"angle": 0.0,
|
||||
"calendar-path": "",
|
||||
"calendar-css-name": "calendar-window",
|
||||
"calendar-placement": "top",
|
||||
"calendar-margin-horizontal": 0,
|
||||
"calendar-margin-vertical": 0,
|
||||
"calendar-icon-size": 24,
|
||||
"calendar-interval": 60,
|
||||
"calendar-on": true
|
||||
},
|
||||
"playerctl": {
|
||||
"buttons-position": "left",
|
||||
"icon-size": 16,
|
||||
"chars": 30,
|
||||
"scroll": false,
|
||||
"button-css-name": "",
|
||||
"label-css-name": "",
|
||||
"interval": 1
|
||||
},
|
||||
"button-sample": {
|
||||
"command": "notify-send 'sample button'",
|
||||
"icon": "view-grid",
|
||||
"label": "",
|
||||
"label-position": "right",
|
||||
"css-name": "button-custom",
|
||||
"icon-size": 16
|
||||
},
|
||||
"menu-start": "off",
|
||||
"exclusive-zone": true,
|
||||
"sigrt": 64,
|
||||
"use-sigrt": false,
|
||||
"scratchpad": {},
|
||||
"sway-mode": {},
|
||||
"openweather": {},
|
||||
"brightness-slider": {
|
||||
"show-brightness": false,
|
||||
"show-volume": false,
|
||||
"show-battery": true,
|
||||
"icon-size": 16,
|
||||
"interval": 10,
|
||||
"hover-opens": false,
|
||||
"leave-closes": false,
|
||||
"root-css-name": "brightness-module",
|
||||
"css-name": "brightness-popup",
|
||||
"angle": 0.0,
|
||||
"icon-placement": "start",
|
||||
"backlight-device": "",
|
||||
"backlight-controller": "ddcutil",
|
||||
"slider-orientation": "horizontal",
|
||||
"slider-inverted": false,
|
||||
"popup-icon-placement": "start",
|
||||
"popup-horizontal-alignment": "left",
|
||||
"popup-vertical-alignment": "top",
|
||||
"popup-width": 256,
|
||||
"popup-height": 64,
|
||||
"popup-horizontal-margin": 0,
|
||||
"popup-vertical-margin": 0,
|
||||
"step-size": 1
|
||||
},
|
||||
"dwl-tags": {},
|
||||
"hyprland-taskbar": {},
|
||||
"hyprland-workspaces": {
|
||||
"num-ws": 10,
|
||||
"show-icon": true,
|
||||
"show-inactive-workspaces": true,
|
||||
"show-workspaces-from-all-outputs": true,
|
||||
"image-size": 16,
|
||||
"show-workspaces": true,
|
||||
"show-name": false,
|
||||
"name-length": 40,
|
||||
"show-empty": true,
|
||||
"mark-content": true,
|
||||
"show-names": true,
|
||||
"mark-floating": true,
|
||||
"mark-xwayland": true,
|
||||
"angle": 0.0
|
||||
},
|
||||
"run-if-output-exist": [],
|
||||
"run-if-output-absent": [],
|
||||
"monitor": "",
|
||||
"width-as-percentage": false,
|
||||
"start-hidden": false,
|
||||
"hyprland-submap": {},
|
||||
"keyboard-layout": {},
|
||||
"niri-taskbar": {},
|
||||
"random-wallpaper": {},
|
||||
"pinned": {},
|
||||
"executor-temperature": {
|
||||
"script": "temperature.sh 60 65",
|
||||
"tooltip-text": "",
|
||||
"on-left-click": "",
|
||||
"on-middle-click": "",
|
||||
"on-right-click": "",
|
||||
"on-scroll-up": "",
|
||||
"on-scroll-down": "",
|
||||
"root-css-name": "",
|
||||
"css-name": "",
|
||||
"icon-placement": "left",
|
||||
"icon-size": 16,
|
||||
"interval": 5,
|
||||
"angle": 0.0,
|
||||
"sigrt": 34,
|
||||
"use-sigrt": false
|
||||
}
|
||||
}
|
||||
]
|
||||
111
dots/nwg-panel/style.css
Normal file
111
dots/nwg-panel/style.css
Normal file
@@ -0,0 +1,111 @@
|
||||
/***** SUGGESTED TO CHANGE CAREFULLY *****/
|
||||
|
||||
/* Recommended if panel "height" unset or smaller then your theme default button height */
|
||||
button {
|
||||
margin: 2px
|
||||
}
|
||||
|
||||
/* SwayTaskBar and SwayWorkspaces use custom widgets, that need this and the next name
|
||||
to highlight currently focused task / workspace. */
|
||||
#task-box {
|
||||
padding-left: 4px;
|
||||
padding-right: 4px
|
||||
}
|
||||
|
||||
#task-box-focused {
|
||||
background-color: rgba (255, 255, 255, 0.12);
|
||||
padding-left: 4px;
|
||||
padding-right: 4px
|
||||
}
|
||||
|
||||
|
||||
/***** MODIFY TO YOUR TASTE *****/
|
||||
|
||||
/* Sample button in sample config w/ no background nor border */
|
||||
#button-custom {
|
||||
background: rgba (0, 0, 0, 0.0);
|
||||
border: 0
|
||||
}
|
||||
|
||||
/* Top panel in sample config uses this name */
|
||||
#panel-top {
|
||||
background: #3a0140;
|
||||
color: #eeeeee
|
||||
}
|
||||
|
||||
/* Bottom panel in sample config uses this name */
|
||||
#panel-bottom {
|
||||
background: #101010;
|
||||
color: #eeeeee
|
||||
}
|
||||
|
||||
/* Controls window in sample config uses this name */
|
||||
#controls-window {
|
||||
border-radius: 15px;
|
||||
background: #36364f;
|
||||
color: #eeeeee
|
||||
}
|
||||
#controls-window scale value {
|
||||
color: #eeeeee
|
||||
}
|
||||
|
||||
/* Brightness slider popup window in sample config uses this name */
|
||||
#brightness-popup {
|
||||
border-radius: 15px;
|
||||
background: #36364f;
|
||||
color: #eeeeee
|
||||
}
|
||||
#brightness-popup box {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
/* Executors usually behave better in monospace fonts */
|
||||
#executor-label {
|
||||
font-family: monospace
|
||||
}
|
||||
|
||||
/* and so does the Clock */
|
||||
#clock {
|
||||
font-family: monospace;
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
/* Sample executor-weather uses "css-name": "weather" */
|
||||
#weather {
|
||||
font-size: 16px
|
||||
}
|
||||
|
||||
/* dwl-tags module */
|
||||
#dwl-tag-box {
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px
|
||||
}
|
||||
|
||||
#dwl-tag-occupied {
|
||||
font-family: monospace;
|
||||
color: #eee;
|
||||
background-color: #006699;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#dwl-tag-free {
|
||||
font-family: monospace;
|
||||
color: #eee;
|
||||
background-color: rgba (32, 50, 90, 1.0);
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#dwl-tag-urgent {
|
||||
font-family: monospace;
|
||||
color: #eee;
|
||||
background-color: #ee6600;
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
#dwl-tag-selected {
|
||||
border: solid 2px;
|
||||
border-color: #81a1c1
|
||||
}
|
||||
Reference in New Issue
Block a user