From 25ee52a7cf19137f01b4a200d0f7cbd84bc1ed4e Mon Sep 17 00:00:00 2001 From: mar77i Date: Sat, 12 Jul 2025 23:01:22 +0200 Subject: [PATCH 1/1] initial commit --- rc.xml | 593 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ sync.sh | 103 ++++++++++ 2 files changed, 696 insertions(+) create mode 100644 rc.xml create mode 100755 sync.sh diff --git a/rc.xml b/rc.xml new file mode 100644 index 0000000..2fddc44 --- /dev/null +++ b/rc.xml @@ -0,0 +1,593 @@ + + + + 10 + 20 + + + yes + + yes + + yes + + no + + 200 + + no + + + + Smart + +
yes
+ + Active + + 1 + +
+ + Artix-dark + NLIMC + + no + no + + sans + 8 + + bold + + normal + + + + sans + 8 + + bold + + normal + + + + sans + 9 + + normal + + normal + + + + sans + 9 + + normal + + normal + + + + sans + 9 + + bold + + normal + + + + sans + 9 + + bold + + normal + + + + + + 1 + 1 + + + + 0 + + + + yes + Nonpixel + + Center + + + + 10 + + 10 + + + + + + 0 + 0 + 0 + 0 + + + TopLeft + + 0 + 0 + no + Above + + Vertical + + no + 300 + + 300 + + Middle + + + + C-q + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + lxqt-runner + + + + + pactl set-sink-volume @DEFAULT_SINK@ -5% + + + + + pactl set-sink-volume @DEFAULT_SINK@ +5% + + + + + pactl set-sink-mute @DEFAULT_SINK@ toggle + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_1 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_2 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_3 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_4 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_5 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_6 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_7 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_8 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatcher /global_key_shortcuts/panel/taskbar2/task_9 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --print-reply --dest=org.kde.StatusNotifierWatchers /global_key_shortcuts/panel/taskbar2/task_10 org.lxqt.global_key_shortcuts.client.activated + + + + + dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true + + +?> + + + dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true + + + + + dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true + + + + + lxqt-leave + + + + + + + + root-menu + + + + + north + + + + + south + + + + + west + + + + + east + + + + + -100% + + + + + 100% + + + + + -100% + + + + + 100% + + + + + 1 + + 500 + + 400 + + false + + + + + + + + + + + + + + + + + + + + + + no + + + + + + + + + + + yes + + + + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-menu + + + + + + + client-menu + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + vertical + + + + + horizontal + + + + + + + + + + + + + + + + + + + + + + + + + + + + client-list-combined-menu + + + + + + menu.xml + 200 + + no + + 100 + + 400 + + yes + + no + + + + + no + + + +
diff --git a/sync.sh b/sync.sh new file mode 100755 index 0000000..b166a42 --- /dev/null +++ b/sync.sh @@ -0,0 +1,103 @@ +#!/usr/bin/env bash + +cd "$(dirname "$(realpath -Pe "${0}")")" + +actions=(sync_to_tree sync_to_dest) +sources=("${HOME}/.config/openbox/rc.xml") +cache_file="${HOME}/.cache/dotfiles.cache" + +force=0 +action=sync_to_tree + +in_array() { + local search="${1}" + shift + for arg in "${@}"; do + if [[ "${arg}" == "${search}" ]]; then + return 0 + fi + done + return 1 +} + +update_cache() { + local new_hash="$(sha256sum "${1}")" + if ! grep -Fq "${new_hash}" "${cache_file}"; then + echo "${new_hash}" >> "${cache_file}" + echo "Cache updated. ${new_hash}" + fi +} + +is_file_dirty() { + ! git diff-files --quiet -- "${1}" 2>/dev/null \ + || [[ $(git ls-files --others -- "${1}") ]] +} + +sync_to_tree() { + # fetch configurations to the working tree. + # make sure that the file is unchanged on the working tree + localnbbv source dest + for source in "${sources[@]}"; do + dest="$(basename "${source}")" + if diff -q "${source}" "${dest}" &>/dev/null; then + continue + fi + if (( force == 0 )) && is_file_dirty "${dest}"; then + echo "Error: ${dest} contains changes. Can not continue." >&2 + exit 1 + fi + if [[ -e "${dest}" ]]; then + rm "${dest}" + fi + cp -a "${source}" "${dest}" + echo "Updated ${dest}" + update_cache "${dest}" + done +} + +sync_to_dest() { + # deploy configurations to destination directory. + # but first make sure, any old version of the file is deployed. + local source dest + for dest in "${sources[@]}"; do + source="$(basename "${dest}")" + if diff -q "${source}" "${dest}" &>/dev/null; then + continue + fi + if (( force == 0 )) && ! grep -Fq "$(sha256sum "${dest}")" "${cache_file}"; then + echo "Error: Previously unknown changes in '${dest}' found." >&2 + exit 1 + fi + cp -a "${source}" "${dest}" + echo "Deployed ${dest}" + update_cache "${dest}" + done +} + + +while (( $# )); do + case "${1}" in + --action|-a) + if (( $# == 1 )); then + echo "Error: Argument expected: ${1}" >&2 + exit 1 + fi + action="${2}" + if ! in_array "${action}" "${actions[@]}"; then + echo "Error: unknown action: '${action}'" >&2 + exit 1 + fi + shift + ;; + --force|-f) + force=1 + ;; + esac + shift +done + +if ! git status >/dev/null; then + exit 1 +fi + +"${action}" -- 2.51.0