diff --git a/Makefile b/Makefile index 5dcd1b2..21263cf 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,6 @@ DEPENDS = /bin/cmake PREFIX ?= /usr/local PKGNAME = $(MAKEFILE_DIR) FILE_VER = source/${PKGNAME}.h -PKGIDENT = $(subst /,-,$(subst /usr,,${PREFIX})) default_target: all @@ -22,9 +21,9 @@ all: init build init: @echo "Initialize ..."; \ - if [ -d ".git" ]; then \ + if [[ -d ".git" ]]; then \ LATEST_TAG=$$(git describe --abbrev=0 --tags | sed 's/^v//'); \ - if [ -z "$${LATEST_TAG}" ]; \ + if [[ -z "$${LATEST_TAG}" ]]; \ then \ LATEST_TAG=$$"0.0"; \ echo "$${LATEST_TAG} is empty"; \ @@ -38,7 +37,7 @@ init: depend: @echo "Check depends ..." @for FILE_DEPEND in $(DEPENDS); do \ - if [ ! -f $${FILE_DEPEND} ]; then \ + if [[ ! -f "$${FILE_DEPEND}" ]]; then \ echo "ERROR: Depend '$${FILE_DEPEND}' not found !"; \ exit 1; \ fi; \ @@ -48,21 +47,21 @@ depend: debug: @echo "Debug ..." - if [ ! -d ${CMAKE_BUILD_DIR} ]; then \ + if [[ ! -d "${CMAKE_BUILD_DIR}" ]]; then \ $(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX="${PREFIX}"; \ fi; \ echo "Debug: OK" prepare: @echo "Prepare ..."; \ - if [ ! -d ${CMAKE_BUILD_DIR} ]; then \ + if [[ ! -d "${CMAKE_BUILD_DIR}" ]]; then \ $(CMAKE_COMMAND) -S${CMAKE_SOURCE_DIR} -B${CMAKE_BUILD_DIR} -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="${PREFIX}"; \ fi; \ echo "Prepare: OK" check: @echo "Check ..."; \ - if [ -f ${CMAKE_BUILD_DIR}/${PKGNAME} ]; then \ + if [[ -f "${CMAKE_BUILD_DIR}/${PKGNAME}" ]]; then \ echo "Check: OK"; \ else \ echo "Check: ${CMAKE_BUILD_DIR}/${PKGNAME} not found !"; \ @@ -77,10 +76,9 @@ build: depend prepare uninstall: @echo "Uninstall ..." - @for FILE_PO in $(wildcard *.po); do \ - LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \ - FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \ - PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \ + @for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \ +# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ + PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ $(RM) "$${PATH_FILE_MO}"; \ done @for SIZE in 16x16 32x32 48x48 scalable; do \ @@ -92,70 +90,64 @@ uninstall: $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}/status/$${FILE_SVG%.*}".{svg,png,jpg}; \ done; \ done + @for FILE_ICON in $(wildcard icons/*/*.svg); do \ + SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \ + $(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}/$${FILE_ICON}"; \ + done @$(RM) "${DESTDIR}${PREFIX}/bin/${PKGNAME}" @$(RM) "${DESTDIR}${PREFIX}/share/applications/${PKGNAME}.desktop" - @$(RM) "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/com.ublinux.${PKGNAME}.svg" - @$(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}${PKGIDENT}.policy" - @if [ -z ${DESTDIR} ]; then \ - [ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ + @if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \ + $(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}.policy"; \ + else \ +# $(RM) "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ + $(RM) "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ + fi + @if [[ -z "${DESTDIR}" ]]; then \ + [[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ]] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ update-desktop-database --quiet &>/dev/null || true; \ - [ -d "${DESTDIR}${PREFIX}/share/applications" ] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ + [[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ fi @echo "Uninstall: OK" install: check uninstall @echo "Install ..." - @for FILE_PO in $(wildcard *.po); do \ - LANG=$${FILE_PO##*_};LANG=$${LANG%.*}; \ - install -dm755 "${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES"; \ - FILE_MO=$${FILE_PO##*/}; FILE_MO="$${FILE_MO%_*.po}.mo"; \ - PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \ - echo "$${FILE_PO}"; \ - msgfmt "$${FILE_PO}" -v -f -o "$${PATH_FILE_MO}"; \ + @for LANG in $$(find ./locale -iname "*.po" -print | sed -En "s/.+_([[:alpha:]]+)\.po/\1/p" | sort -u); do \ + install -dm755 "${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES"; \ +# PATH_FILE_MO="${DESTDIR}${PREFIX}/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ + PATH_FILE_MO="${DESTDIR}/usr/share/locale/$${LANG}/LC_MESSAGES/${PKGNAME}.mo"; \ + PKGNAME_PO="./locale/${PKGNAME}_$${LANG}.po"; [[ -f "$${PKGNAME_PO}" ]] || PKGNAME_PO= ; \ + msgfmt --verbose --use-fuzzy --output-file "$${PATH_FILE_MO}" - < <(msgcat --use-first --no-wrap $${PKGNAME_PO} ./locale/*_$${LANG}.po); \ done @for SIZE in 16 32 48; do \ - install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ - rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ + install -dm755 "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \ + rsvg-convert -w $${SIZE} -h $${SIZE} -f svg --keep-image-data "icons/apps/com.ublinux.${PKGNAME}.svg" -o "${DESTDIR}${PREFIX}/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/com.ublinux.${PKGNAME}.svg"; \ + done + @for FILE_ICON in $(wildcard icons/*/*.svg); do \ + SUB_NAME=$${FILE_ICON#*/}; SUB_NAME=$${SUB_NAME%/*}; \ + install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/$${SUB_NAME}" $${FILE_ICON}; \ done - @install -Dm644 -t "${DESTDIR}${PREFIX}/share/icons/hicolor/scalable/apps/" "com.ublinux.${PKGNAME}.svg" - @cp ./com.ublinux.${PKGNAME}.policy ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy - @sed -e 's+/usr/bin+${PREFIX}/bin+' -e 's+.run+${PKGIDENT}.run+g' ./compile/com.ublinux.${PKGNAME}${PKGIDENT}.policy -i @install -Dm755 -t "${DESTDIR}${PREFIX}/bin/" "${CMAKE_BUILD_DIR}/${PKGNAME}" @install -Dm644 -t "${DESTDIR}${PREFIX}/share/applications/" "${PKGNAME}.desktop" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.checked.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/status/" "icons/com.ublinux.${PKGNAME}.warning.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.sync-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.zoom-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.cancel-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.cancel-uncolored-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.check-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.play-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.stop-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.uncheck-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.launch-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.important-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.lookup-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.edit-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.lock-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.sync-time-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.menu-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.properties-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.source-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.save-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.update-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/icons/hicolor/scalable/actions/" "icons/com.ublinux.${PKGNAME}.arrow-round-symbolic.svg" - @install -Dm644 -t "${DESTDIR}/usr/share/polkit-1/actions/" "${CMAKE_BUILD_DIR}/com.ublinux.${PKGNAME}${PKGIDENT}.policy" - @if [ -z ${DESTDIR} ]; then \ - [ -d "${DESTDIR}/usr/share/icons/hicolor/" ] && gtk-update-icon-cache -fiq "${DESTDIR}/usr/share/icons/hicolor/" &>/dev/null || true; \ + @if [[ "${PREFIX}" == @("/usr"|"/usr/") ]]; then \ + install -Dm644 -t "${DESTDIR}${PREFIX}/share/polkit-1/actions/" "com.ublinux.${PKGNAME}.policy"; \ + else \ +# install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ + install -Dm644 "com.ublinux.${PKGNAME}.policy" "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ +# sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}${PREFIX}/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ + sed -e "s+/usr/bin+${PREFIX}/bin+" -e "s+\.run+$${PREFIX//\//-}\.run+g" -i "${DESTDIR}/usr/share/polkit-1/actions/com.ublinux.${PKGNAME}$${PREFIX//\//-}.policy"; \ + fi + @if [[ -z "${DESTDIR}" ]]; then \ + ldconfig -n ${DESTDIR}${PREFIX}/lib; \ + [[ -d "${DESTDIR}${PREFIX}/share/icons/hicolor/" ]] && gtk-update-icon-cache -fiq "${DESTDIR}${PREFIX}/share/icons/hicolor/" &>/dev/null || true; \ update-desktop-database --quiet &>/dev/null || true; \ - [ -d "${DESTDIR}/usr/share/applications" ] && touch "${DESTDIR}/usr/share/applications" &>/dev/null || true; \ + [[ -d "${DESTDIR}${PREFIX}/share/applications" ]] && touch "${DESTDIR}${PREFIX}/share/applications" &>/dev/null || true; \ fi @echo "Install: OK" clean: @echo "Clean ..." @$(RM) -rd ${CMAKE_BUILD_DIR} - @if [ -d ${CMAKE_BUILD_DIR} ]; then \ + @if [[ -d "${CMAKE_BUILD_DIR}" ]]; then \ echo "Clean: error, compile directory exist ${CMAKE_BUILD_DIR}"; \ else \ echo "Clean: OK"; \ @@ -167,7 +159,7 @@ help: echo "... init"; \ echo "... debug"; \ echo "... prepare"; \ - echo "... build"; \ + echo "... compile"; \ echo "... install"; \ echo "... uninstall"; \ echo "... clean" \ No newline at end of file diff --git a/gresource.xml b/gresource.xml index 3cbac51..c26d84b 100644 --- a/gresource.xml +++ b/gresource.xml @@ -10,7 +10,4 @@ systemd_conf.csv - - ubl-settings-services-banner.png - \ No newline at end of file diff --git a/icons/com.ublinux.ubl-settings-services.arrow-round-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.arrow-round-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.arrow-round-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.arrow-round-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.cancel-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.cancel-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.cancel-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.cancel-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.cancel-uncolored-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.cancel-uncolored-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.cancel-uncolored-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.cancel-uncolored-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.check-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.check-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.check-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.check-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.checked.svg b/icons/actions/com.ublinux.ubl-settings-services.checked.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.checked.svg rename to icons/actions/com.ublinux.ubl-settings-services.checked.svg diff --git a/icons/com.ublinux.ubl-settings-services.edit-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.edit-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.edit-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.edit-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.important-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.important-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.important-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.important-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.launch-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.launch-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.launch-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.launch-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.lock-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.lock-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.lock-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.lock-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.lookup-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.lookup-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.lookup-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.lookup-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.menu-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.menu-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.menu-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.menu-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.play-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.play-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.play-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.play-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.properties-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.properties-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.properties-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.properties-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.save-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.save-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.save-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.save-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.source-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.source-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.source-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.source-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.stop-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.stop-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.stop-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.stop-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.sync-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.sync-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.sync-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.sync-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.sync-time-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.sync-time-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.sync-time-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.sync-time-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.uncheck-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.uncheck-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.uncheck-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.uncheck-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.update-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.update-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.update-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.update-symbolic.svg diff --git a/icons/com.ublinux.ubl-settings-services.warning.svg b/icons/actions/com.ublinux.ubl-settings-services.warning.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.warning.svg rename to icons/actions/com.ublinux.ubl-settings-services.warning.svg diff --git a/icons/com.ublinux.ubl-settings-services.zoom-symbolic.svg b/icons/actions/com.ublinux.ubl-settings-services.zoom-symbolic.svg similarity index 100% rename from icons/com.ublinux.ubl-settings-services.zoom-symbolic.svg rename to icons/actions/com.ublinux.ubl-settings-services.zoom-symbolic.svg diff --git a/com.ublinux.ubl-settings-services.svg b/icons/apps/com.ublinux.ubl-settings-services.svg similarity index 100% rename from com.ublinux.ubl-settings-services.svg rename to icons/apps/com.ublinux.ubl-settings-services.svg diff --git a/locale/systemd_conf.pot b/locale/systemd_conf.pot new file mode 100644 index 0000000..7ee7491 --- /dev/null +++ b/locale/systemd_conf.pot @@ -0,0 +1,82 @@ +# Language translations for ubl-settings-services package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-services package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubl-settings-services 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ./systemd_conf.csv:2 +msgid "UBLinux OS configuration files" +msgstr "" + +#: ./systemd_conf.csv:3 +msgid "System Debug Dump Configuration" +msgstr "" + +#: ./systemd_conf.csv:4 +msgid "Configuring various systemd log service options" +msgstr "" + +#: ./systemd_conf.csv:5 +msgid "Configuring various systemd-journal-upload.service parameters" +msgstr "" + +#: ./systemd_conf.csv:6 +msgid "Configuring Global Network Settings" +msgstr "" + +#: ./systemd_conf.csv:7 +msgid "Configuration file for systemd-pstore, a tool for archiving the contents of the pstore persistent storage file system" +msgstr "" + +#: ./systemd_conf.csv:8 +msgid "Workstation hibernation options" +msgstr "" + +#: ./systemd_conf.csv:9 +msgid "Systemd configuration" +msgstr "" + +#: ./systemd_conf.csv:10 +msgid "User Configuration" +msgstr "" + +#: ./systemd_conf.csv:11 +msgid "Settings management configuration for user account home directories created and managed by systemd-homed.service" +msgstr "" + +#: ./systemd_conf.csv:12 +msgid "Configuration files for various systemd-journal-remote.service parameters" +msgstr "" + +#: ./systemd_conf.csv:13 +msgid "Configuration files for various systemd login manager options" +msgstr "" + +#: ./systemd_conf.csv:14 +msgid "Configuration files for various out-of-memory (OOM) killer parameters in systemd user space" +msgstr "" + +#: ./systemd_conf.csv:15 +msgid "Local DNS and LLMNR name resolution management configuration files" +msgstr "" + +#: ./systemd_conf.csv:16 +msgid "System swap file management configuration files" +msgstr "" + +#: ./systemd_conf.csv:17 +msgid "Configuration file controlling NTP network time synchronization" +msgstr "" diff --git a/locale/systemd_conf_ru.po b/locale/systemd_conf_ru.po new file mode 100644 index 0000000..cdaa684 --- /dev/null +++ b/locale/systemd_conf_ru.po @@ -0,0 +1,82 @@ +# Russian translations for ubl-settings-services package. +# Copyright (C) 2022, UBTech LLC +# This file is distributed under the same license as the ubl-settings-services package. +# UBLinux Team , 2022 +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: ubl-settings-services 1.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-05-22 16:12+0600\n" +"PO-Revision-Date: 2023-01-01 00:00+0600\n" +"Last-Translator: UBLinux Team \n" +"Language-Team: Russian - UBLinux Team \n" +"Language: Russian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ./systemd_conf.csv:2 +msgid "UBLinux OS configuration files" +msgstr "Конфигурационные файлы ОС UBLinux" + +#: ./systemd_conf.csv:3 +msgid "System Debug Dump Configuration" +msgstr "Конфигурация сбора отладочных дампов системы" + +#: ./systemd_conf.csv:4 +msgid "Configuring various systemd log service options" +msgstr "Настройка различных параметров службы журналирования systemd" + +#: ./systemd_conf.csv:5 +msgid "Configuring various systemd-journal-upload.service parameters" +msgstr "Настройка различных параметров службы systemd-journal-upload.service" + +#: ./systemd_conf.csv:6 +msgid "Configuring Global Network Settings" +msgstr "Настройка глобальных сетевых параметров" + +#: ./systemd_conf.csv:7 +msgid "Configuration file for systemd-pstore, a tool for archiving the contents of the pstore persistent storage file system" +msgstr "Конфигурационный файл для systemd-pstore - инструмента архивирования содержимого файловой системы постоянного хранилища pstore" + +#: ./systemd_conf.csv:8 +msgid "Workstation hibernation options" +msgstr "Параметры гибернации рабочей станции" + +#: ./systemd_conf.csv:9 +msgid "Systemd configuration" +msgstr "Конфигурация systemd" + +#: ./systemd_conf.csv:10 +msgid "User Configuration" +msgstr "Конфигурация пользователя" + +#: ./systemd_conf.csv:11 +msgid "Settings management configuration for user account home directories created and managed by systemd-homed.service" +msgstr "Настройка управления параметрами домашних каталогов пользователей, создаваемых и управляемых службой systemd-homed.service" + +#: ./systemd_conf.csv:12 +msgid "Configuration files for various systemd-journal-remote.service parameters" +msgstr "Конфигурационные файлы для различных параметров службы systemd-journal-remote.service" + +#: ./systemd_conf.csv:13 +msgid "Configuration files for various systemd login manager options" +msgstr "Конфигурационные файлы для различных параметров менеджера входа systemd" + +#: ./systemd_conf.csv:14 +msgid "Configuration files for various out-of-memory (OOM) killer parameters in systemd user space" +msgstr "Конфигурационные файлы для параметров механизма завершения процессов при нехватке памяти (OOM) в пользовательском пространстве systemd" + +#: ./systemd_conf.csv:15 +msgid "Local DNS and LLMNR name resolution management configuration files" +msgstr "Конфигурация управления локальным DNS и разрешением имён LLMNR" + +#: ./systemd_conf.csv:16 +msgid "System swap file management configuration files" +msgstr "Конфигурационные файлы управления файлами подкачки системы" + +#: ./systemd_conf.csv:17 +msgid "Configuration file controlling NTP network time synchronization" +msgstr "Конфигурационный файл управления синхронизацией времени по сети (NTP)" diff --git a/ubl-settings-services.pot b/locale/ubl-settings-services.pot similarity index 90% rename from ubl-settings-services.pot rename to locale/ubl-settings-services.pot index 636c2d4..c8290b0 100644 --- a/ubl-settings-services.pot +++ b/locale/ubl-settings-services.pot @@ -216,7 +216,7 @@ msgid "Service were not stopped" msgstr "" #: source/ubl-strings.h:68 -msgid "Are you sure want to stop " +msgid "Are you sure want to stop unit?" msgstr "" #: source/ubl-strings.h:68 source/ubl-strings.h:69 source/ubl-strings.h:70 @@ -226,23 +226,23 @@ msgid "The system may become unstable." msgstr "" #: source/ubl-strings.h:69 -msgid "Are you sure want to start " +msgid "Are you sure want to start unit?" msgstr "" #: source/ubl-strings.h:70 -msgid "Are you sure want to restart " +msgid "Are you sure want to restart unit?" msgstr "" #: source/ubl-strings.h:71 -msgid "Are you sure want to reload " +msgid "Are you sure want to reload unit?" msgstr "" #: source/ubl-strings.h:72 -msgid "Are you sure want to enable " +msgid "Are you sure want to enable unit?" msgstr "" #: source/ubl-strings.h:73 -msgid "Are you sure want to disable " +msgid "Are you sure want to disable unit?" msgstr "" #: source/ubl-strings.h:74 @@ -523,6 +523,46 @@ msgstr "" msgid "abandoned" msgstr "" +#: source/ubl-strings.h:149 source/ubl-settings-services-systemd.c:93 +msgid "Disabled" +msgstr "" + +#: source/ubl-strings.h:150 +msgid "Active" +msgstr "" + +#: source/ubl-strings.h:151 +msgid "Dead" +msgstr "" + +#: source/ubl-strings.h:152 +msgid "Waiting" +msgstr "" + +#: source/ubl-strings.h:153 +msgid "Running" +msgstr "" + +#: source/ubl-strings.h:154 +msgid "Listening" +msgstr "" + +#: source/ubl-strings.h:155 +msgid "Exited" +msgstr "" + +#: source/ubl-strings.h:156 +msgid "Mounted" +msgstr "" + +#: source/ubl-strings.h:157 +msgid "Plugged" +msgstr "" + +#: source/ubl-strings.h:158 +msgid "Abandoned" +msgstr "" + #: source/ubl-strings.h:160 msgid "State of " msgstr "" @@ -567,10 +607,6 @@ msgstr "" msgid "Null" msgstr "" -#: source/ubl-strings.h:175 source/ubl-strings.h:180 -msgid "Unit file:" -msgstr "" - #: source/ubl-strings.h:176 msgid "Unit file state:" msgstr "" @@ -602,3 +638,19 @@ msgstr "" #: source/ubl-strings.h:180 msgid "masked" msgstr "" + +#: source/ubl-strings.h:180 +msgid "Loaded" +msgstr "" + +#: source/ubl-strings.h:180 +msgid "Inactive" +msgstr "" + +#: source/ubl-strings.h:180 +msgid "Not-found" +msgstr "" + +#: source/ubl-strings.h:180 +msgid "Masked" +msgstr "" diff --git a/ubl-settings-services_ru.po b/locale/ubl-settings-services_ru.po similarity index 91% rename from ubl-settings-services_ru.po rename to locale/ubl-settings-services_ru.po index 76f823d..921a1ef 100644 --- a/ubl-settings-services_ru.po +++ b/locale/ubl-settings-services_ru.po @@ -216,8 +216,8 @@ msgid "Service were not stopped" msgstr "Сервис не был остановлен" #: source/ubl-strings.h:68 -msgid "Are you sure want to stop " -msgstr "Вы уверены, что хотите выключить " +msgid "Are you sure want to stop unit?" +msgstr "Вы уверены, что хотите выключить юнит?" #: source/ubl-strings.h:68 source/ubl-strings.h:69 source/ubl-strings.h:70 #: source/ubl-strings.h:71 source/ubl-strings.h:72 source/ubl-strings.h:73 @@ -226,24 +226,24 @@ msgid "The system may become unstable." msgstr "Возможна нестабильная работа системы." #: source/ubl-strings.h:69 -msgid "Are you sure want to start " -msgstr "Вы уверены, что хотите запустить " +msgid "Are you sure want to start unit?" +msgstr "Вы уверены, что хотите запустить юнит?" #: source/ubl-strings.h:70 -msgid "Are you sure want to restart " -msgstr "Вы уверены, что хотите перезапустить " +msgid "Are you sure want to restart unit?" +msgstr "Вы уверены, что хотите перезапустить юнит?" #: source/ubl-strings.h:71 -msgid "Are you sure want to reload " -msgstr "Вы уверены, что хотите перезагрузить " +msgid "Are you sure want to reload unit?" +msgstr "Вы уверены, что хотите перезагрузить юнит?" #: source/ubl-strings.h:72 -msgid "Are you sure want to enable " -msgstr "Вы уверены, что хотите включить автозапуск для " +msgid "Are you sure want to enable unit?" +msgstr "Вы уверены, что хотите включить автозапуск для юнита?" #: source/ubl-strings.h:73 -msgid "Are you sure want to disable " -msgstr "Вы уверены, что хотите отключить автозапуск для " +msgid "Are you sure want to disable unit?" +msgstr "Вы уверены, что хотите отключить автозапуск для юнита?" #: source/ubl-strings.h:74 msgid "Are you sure want to reload system units settings?" @@ -323,12 +323,12 @@ msgid "Seconds" msgstr "Секунд" #: source/ubl-strings.h:96 -msgid "Active" -msgstr "Активна" +#msgid "Active" +#msgstr "Активна" #: source/ubl-strings.h:97 -msgid "Inactive" -msgstr "Неактивна" +#msgid "Inactive" +#msgstr "Неактивна" #: source/ubl-strings.h:99 msgid "System units" @@ -526,6 +526,46 @@ msgstr "подключен" msgid "abandoned" msgstr "заброшен" +#: source/ubl-strings.h:149 source/ubl-settings-services-systemd.c:93 +msgid "Disabled" +msgstr "Неактивен" + +#: source/ubl-strings.h:150 +msgid "Active" +msgstr "Активен" + +#: source/ubl-strings.h:151 +msgid "Dead" +msgstr "Остановлен" + +#: source/ubl-strings.h:152 +msgid "Waiting" +msgstr "Ожидание" + +#: source/ubl-strings.h:153 +msgid "Running" +msgstr "Работает" + +#: source/ubl-strings.h:154 +msgid "Listening" +msgstr "Прослушивание" + +#: source/ubl-strings.h:155 +msgid "Exited" +msgstr "Завершён" + +#: source/ubl-strings.h:156 +msgid "Mounted" +msgstr "Примонтирован" + +#: source/ubl-strings.h:157 +msgid "Plugged" +msgstr "Подключен" + +#: source/ubl-strings.h:158 +msgid "Abandoned" +msgstr "Заброшен" + #: source/ubl-strings.h:160 msgid "State of " msgstr "Состояние " @@ -571,8 +611,12 @@ msgid "Null" msgstr "Нет данных" #: source/ubl-strings.h:175 source/ubl-strings.h:180 -msgid "Unit file:" -msgstr "Юнит-файл:" +msgid "File:" +msgstr "Файл:" + +#: source/ubl-strings.h:175 source/ubl-strings.h:180 +msgid "Autostart:" +msgstr "Автозапуск:" #: source/ubl-strings.h:176 msgid "Unit file state:" @@ -680,4 +724,20 @@ msgstr "вылючен" #: source/ubl-strings.h:180 msgid "masked" -msgstr "выключен" \ No newline at end of file +msgstr "выключен" + +#: source/ubl-strings.h:180 +msgid "Loaded" +msgstr "Включен" + +#: source/ubl-strings.h:180 +msgid "Inactive" +msgstr "Неактивен" + +#: source/ubl-strings.h:180 +msgid "Not-found" +msgstr "Вылючен" + +#: source/ubl-strings.h:180 +msgid "Masked" +msgstr "Выключен" \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 154f798..28207ca 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -20,12 +20,13 @@ add_definitions(${JSON_CFLAGS_OTHER}) find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) +option(WEBKIT_FOUND "No" OFF) if(WEBKIT_LIBRARIES_FOUND) + option(WEBKIT_FOUND "Yes" ON) PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0) include_directories(${WEBKIT_INCLUDE_DIRS}) link_directories(${WEBKIT_LIBRARY_DIRS}) add_definitions(${WEBKIT_CFLAGS_OTHER}) - add_definitions(-DWEBKIT_FOUND) endif() set(GRESOURCE_C resources.c) @@ -39,44 +40,42 @@ set(DEPENDFILES ../systemd_conf.csv ../ubl-settings-services-terminal.glade ../gresource.xml - ../ubl-settings-services-banner.png ../ubl-settings-services.css ) file(COPY ${DEPENDFILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) add_custom_command( - OUTPUT ${GRESOURCE_C} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMAND ${GLIB_COMPILE_RESOURCES} - ARGS + OUTPUT ${GRESOURCE_C} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMAND ${GLIB_COMPILE_RESOURCES} + ARGS --generate-source --target=${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} ${GRESOURCE_XML} - VERBATIM - MAIN_DEPENDENCY ${GRESOURCE_XML} - DEPENDS + VERBATIM + MAIN_DEPENDENCY ${GRESOURCE_XML} + DEPENDS ${GLADE} ) add_custom_target( - dummy-resource - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} + dummy-resource + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} ) add_definitions(-DVTE_INCLUDE) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \ - -O2 -pipe -fno-plt -fexceptions \ + -O2 -pipe -fno-plt -fexceptions \ -Wformat -Werror=format-security \ -fstack-clash-protection -fcf-protection") - string(FIND "${CMAKE_CXX_FLAGS}" "-D_FORTIFY_SOURCE" FORTIFY_FOUND) - - if(FORTIFY_FOUND EQUAL -1) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wp,-D_FORTIFY_SOURCE=2") - endif() - +string(FIND "${CMAKE_CXX_FLAGS}" "-D_FORTIFY_SOURCE" FORTIFY_FOUND) +if(FORTIFY_FOUND EQUAL -1) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wp,-D_FORTIFY_SOURCE=2") +endif() + set(SOURCE_FILES ubl-settings-services.c ubl-settings-services.h @@ -102,8 +101,8 @@ add_executable(${PROJECT_NAME} ${SOURCE_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${GRE target_link_libraries(${PROJECT_NAME} PUBLIC ${LIBRARIES}) target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_BINARY_DIR}) set_source_files_properties( - ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} - PROPERTIES GENERATED TRUE + ${CMAKE_CURRENT_BINARY_DIR}/${GRESOURCE_C} + PROPERTIES GENERATED TRUE ) install(TARGETS ${PROJECT_NAME} DESTINATION bin) add_dependencies(${PROJECT_NAME} dummy-resource) \ No newline at end of file diff --git a/source/ubl-settings-services.c b/source/ubl-settings-services.c index b42e75d..c0e100a 100644 --- a/source/ubl-settings-services.c +++ b/source/ubl-settings-services.c @@ -1492,7 +1492,7 @@ void* yon_interface_update(main_window *widgets){ int active = !strcmp(parsed[2],"active"); enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]); gtk_list_store_append(widgets->SystemList,&iter); - gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],14,parsed[1],15,parsed[2],-1); + gtk_list_store_set(widgets->SystemList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],14,parsed[1],15,parsed[2],16,parsed[8],-1); } } yon_char_parsed_free(names_parsed,names_size); @@ -1524,7 +1524,7 @@ void* yon_interface_update(main_window *widgets){ int active = !strcmp(parsed[2],"active"); enum YON_UNIT_TYPE type = yon_get_unit_type(names_parsed[j]); gtk_list_store_append(widgets->UserList,&iter); - gtk_list_store_set(widgets->UserList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],14,parsed[1],15,parsed[2],-1); + gtk_list_store_set(widgets->UserList,&iter,3,enabled,4,active,5,names_parsed[j],6,parsed[4],7,type,8,active,9,loaded,11,_(parsed[3]),13,parsed[3],14,parsed[1],15,parsed[2],16,parsed[8],-1); } } yon_char_parsed_free(names_parsed,names_size); @@ -1797,9 +1797,9 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt if (gtk_tree_view_get_path_at_pos(GTK_TREE_VIEW(tree), tree_x, tree_y, &path, NULL, NULL, NULL)) { GtkTreeIter iter; if (gtk_tree_model_get_iter(model, &iter, path)) { - gchar *name, *description, *state, *name_target, *load_status, *active_status; + gchar *name, *description, *state, *name_target, *load_status, *active_status,*unit_path; int size; - gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 11, &state, 14,&load_status,15,&active_status, -1); + gtk_tree_model_get(model, &iter, 5, &name, 6, &description, 13, &state, 14,&load_status,15,&active_status,16,&unit_path, -1); name_target = yon_char_new(name); if (name[0]=='-'){ name_target = yon_char_append("-- ",name_target); @@ -1813,13 +1813,15 @@ gboolean on_tooltip_show(GtkWidget*, gint x, gint y, gboolean, GtkTooltip* toolt yon_char_remove_last_symbol(target[1], '\n'); free(yon_char_divide_search(target[2], "=", -1)); yon_char_remove_last_symbol(target[2], '\n'); - gtk_label_set_text(GTK_LABEL(widgets->UnitLabel), target[0]); } - - gtk_label_set_text(GTK_LABEL(widgets->NameLabel), name); + state[0]=g_ascii_toupper(state[0]); + load_status[0]=g_ascii_toupper(load_status[0]); + active_status[0]=g_ascii_toupper(active_status[0]); + gtk_label_set_text(GTK_LABEL(widgets->UnitLabel), unit_path); + gtk_label_set_markup(GTK_LABEL(widgets->NameLabel), yon_char_unite("",name,"",NULL)); gtk_label_set_text(GTK_LABEL(widgets->DescriptionLabel), description); - gtk_label_set_text(GTK_LABEL(widgets->StatusQueryLabel), state); + gtk_label_set_text(GTK_LABEL(widgets->StatusQueryLabel), _(state)); gtk_label_set_text(GTK_LABEL(widgets->AutostartLabel), _(load_status)); gtk_label_set_text(GTK_LABEL(widgets->TooltipStatusLabel), _(active_status)); diff --git a/source/ubl-settings-services.h b/source/ubl-settings-services.h index 0083191..9947e8d 100644 --- a/source/ubl-settings-services.h +++ b/source/ubl-settings-services.h @@ -37,7 +37,7 @@ #define systemd_config_path "resource:///com/ublinux/csv/systemd_conf.csv" #define load_services_command \ -"systemctl --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic " \ +"systemctl --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,FragmentPath,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic " \ "--no-pager --all --no-legend show -- $( { " \ "systemctl list-units --no-pager --all --plain --no-legend | sed -E 's/^([^ ]+).*/\\1/'; " \ "systemctl list-unit-files --no-pager --no-legend | sed -E 's/^([^ ]+).*/\\1/'; " \ @@ -46,11 +46,11 @@ "{ for (i=1; i<=NF; i++) { split($i, kv, \"=\"); val[kv[1]] = kv[2]; } " \ "print val[\"Names\"] \";\" val[\"LoadState\"] \";\" val[\"ActiveState\"] \";\" val[\"SubState\"] \";\" " \ "val[\"Description\"] \";\" val[\"UnitFileState\"] \";\" val[\"ActiveEnterTimestampMonotonic\"] \";\" " \ -"val[\"InactiveEnterTimestampMonotonic\"]; delete val }'" +"val[\"InactiveEnterTimestampMonotonic\"] \";\" val[\"FragmentPath\"]; delete val }'" #define load_system_units_command "systemctl list-unit-files --no-pager --all --plain --no-legend |sed -E 's/(\\S+)\\s+(\\S+)\\s+(\\S+)(.*)/\\1/'" #define load_user_units_command yon_char_unite(\ -"systemctl --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic " \ +"systemctl --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,FragmentPath,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic " \ "--no-pager --all --no-legend show -- $( { " \ "systemctl --user --machine=",yon_ubl_root_user_get(),"@ list-units --no-pager --all --plain --no-legend | sed -E 's/^([^ ]+).*/\\1/'; " \ "systemctl --user --machine=",yon_ubl_root_user_get(),"@ list-unit-files --no-pager --no-legend | sed -E 's/^([^ ]+).*/\\1/'; " \ @@ -59,7 +59,7 @@ "{ for (i=1; i<=NF; i++) { split($i, kv, \"=\"); val[kv[1]] = kv[2]; } " \ "print val[\"Names\"] \";\" val[\"LoadState\"] \";\" val[\"ActiveState\"] \";\" val[\"SubState\"] \";\" " \ "val[\"Description\"] \";\" val[\"UnitFileState\"] \";\" val[\"ActiveEnterTimestampMonotonic\"] \";\" " \ -"val[\"InactiveEnterTimestampMonotonic\"]; delete val }'",NULL) +"val[\"InactiveEnterTimestampMonotonic\"] \";\" val[\"FragmentPath\"]; delete val }'",NULL) #define load_user_services_command yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ list-units --no-pager --all --plain --no-legend |sed -E 's/(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\s+(.*)/\\1;\\2;\\3;\\4;\\5/'",NULL) #define load_system_services_command "systemctl --system list-units --no-pager --all |grep -E \"^ \" |grep -v \"UNIT\" |sed -e 's/ */;/g' -e 's/^;//g' |cut -f1 -d';'" #define load_enabled_command "systemctl list-unit-files --no-pager --state=enabled --all |sed -e 's/ */:/g' -e 's/ *: */:/g'|cut -f1 -d:" @@ -74,18 +74,18 @@ #define user_check_active_command(target) yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ is-active ",target,NULL) #define user_check_enabled_command(target) yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ is-enabled ",target,NULL) -#define load_system_service_single(target) yon_char_unite("systemctl --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic --no-pager --all --no-legend show -- ",target,\ +#define load_system_service_single(target) yon_char_unite("systemctl --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,FragmentPath,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic --no-pager --all --no-legend show -- ",target,\ "awk 'BEGIN { RS=\"\"; FS=\"\\n\" } " \ "{ for (i=1; i<=NF; i++) { split($i, kv, \"=\"); val[kv[1]] = kv[2]; } " \ "print val[\"Names\"] \";\" val[\"LoadState\"] \";\" val[\"ActiveState\"] \";\" val[\"SubState\"] \";\" " \ "val[\"Description\"] \";\" val[\"UnitFileState\"] \";\" val[\"ActiveEnterTimestampMonotonic\"] \";\" " \ -"val[\"InactiveEnterTimestampMonotonic\"]; delete val }'",NULL) -#define load_user_service_single(target) yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic --no-pager --all --no-legend show -- ",target,\ +"val[\"InactiveEnterTimestampMonotonic\"] \";\" val[\"FragmentPath\"]; delete val }'",NULL) +#define load_user_service_single(target) yon_char_unite("systemctl --user --machine=",yon_ubl_root_user_get(),"@ --property=Names,Description,LoadState,ActiveState,SubState,UnitFileState,FragmentPath,ActiveEnterTimestampMonotonic,InactiveEnterTimestampMonotonic --no-pager --all --no-legend show -- ",target,\ "awk 'BEGIN { RS=\"\"; FS=\"\\n\" } " \ "{ for (i=1; i<=NF; i++) { split($i, kv, \"=\"); val[kv[1]] = kv[2]; } " \ "print val[\"Names\"] \";\" val[\"LoadState\"] \";\" val[\"ActiveState\"] \";\" val[\"SubState\"] \";\" " \ "val[\"Description\"] \";\" val[\"UnitFileState\"] \";\" val[\"ActiveEnterTimestampMonotonic\"] \";\" " \ -"val[\"InactiveEnterTimestampMonotonic\"]; delete val }'",NULL) +"val[\"InactiveEnterTimestampMonotonic\"] \";\" val[\"FragmentPath\"]; delete val }'",NULL) #define service_info_command(target) yon_char_append("systemctl status -l --no-pager ",target) #define get_log_command(target) yon_char_append("journalctl --all --no-pager --unit ",target) diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 45c3a81..324a472 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -65,14 +65,14 @@ #define ERROR_LABEL _("Error has occured") #define SWITCH_OFF_ERROR_LABEL _("Service were not stopped") -#define SERVICE_STOP_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to stop "),"",target,"?\n",_("The system may become unstable."),NULL) -#define SERVICE_START_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to start "),"",target,"?",NULL) -#define REEXEC_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to restart "),"",target,"?\n",_("The system may become unstable."),NULL) -#define RELOAD_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to reload "),"",target,"?\n",_("The system may become unstable."),NULL) -#define SERVICE_ENABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to enable "),"",target,"?",NULL) -#define SERVICE_DISABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to disable "),"",target,"?\n",_("The system may become unstable."),NULL) -#define RELOAD_SYSTEM_SETTINGS_WARNING_LABEL yon_char_unite(_("Are you sure want to reload system units settings?"),"\n",_("The system may become unstable."),NULL) -#define RELOAD_USER_SETTINGS_WARNING_LABEL yon_char_unite(_("Are you sure want to reload user units settings?"),"\n",_("The system may become unstable."),NULL) +#define SERVICE_STOP_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to stop unit?"),"\n\n- ",target,"\n\n",_("The system may become unstable."),NULL) +#define SERVICE_START_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to start unit?"),"\n\n- ",target,"",NULL) +#define REEXEC_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to restart unit?"),"\n\n- ",target,"\n\n",_("The system may become unstable."),NULL) +#define RELOAD_SERVICE_WARMING_LABEL(target) yon_char_unite(_("Are you sure want to reload unit?"),"\n\n- ",target,"\n\n",_("The system may become unstable."),NULL) +#define SERVICE_ENABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to enable unit?"),"\n\n- ",target,"",NULL) +#define SERVICE_DISABLE_WARNING_LABEL(target) yon_char_unite(_("Are you sure want to disable unit?"),"\n\n- ",target,"\n\n",_("The system may become unstable."),NULL) +#define RELOAD_SYSTEM_SETTINGS_WARNING_LABEL yon_char_unite(_("Are you sure want to reload system units settings?"),"\n\n",_("The system may become unstable."),NULL) +#define RELOAD_USER_SETTINGS_WARNING_LABEL yon_char_unite(_("Are you sure want to reload user units settings?"),"\n\n",_("The system may become unstable."),NULL) #define SESSION_ACTIVATE_TOOLTIP_LABEL(target) yon_char_unite(_("Are you sure you want to switch on session")," ID-",target,"?",NULL) #define SESSION_END_TOOLTIP_LABEL(target) yon_char_unite("",_("Attention!")," ",_("You are about to")," ",_("end your session")," ID-",target,". ",_("If this is your active session, you will be taken to the login screen. Make sure to save all files before performing this operation."),NULL) #define SESSION_BLOCK_TOOLTIP_LABEL(target) yon_char_unite(_("Are you sure you want to block session")," ID-",target,"?",NULL) @@ -172,7 +172,7 @@ #define SAVE_LABEL _("Save") #define NULL_LABEL _("Null") -#define UNIT_FILE_LABEL _("Unit file:") +#define UNIT_FILE_LABEL _("File:") #define UNIT_STATE_LABEL _("Unit file state:") #define ACTIVATED_LABEL _("Activated:") #define DEACTIVATED_LABEL _("Deactivated:") @@ -181,4 +181,15 @@ #define LOADED_STATUS_LABEL _("loaded") #define INACTIVE_STATUS_LABEL _("inactive") #define NOT_FOUND_STATUS_LABEL _("not-found") -#define MASKED_STATUS_LABEL _("masked") \ No newline at end of file +#define MASKED_STATUS_LABEL _("masked") +#define STATE_DISABLED_TOOLTIP_LABEL _("Disabled") +#define STATE_ACTIVE_TOOLTIP_LABEL _("Active") +#define STATE_DEAD_TOOLTIP_LABEL _("Dead") +#define STATE_WAITING_TOOLTIP_LABEL _("Waiting") +#define STATE_RUNNING_TOOLTIP_LABEL _("Running") +#define STATE_LISTENING_TOOLTIP_LABEL _("Listening") +#define STATE_EXITED_TOOLTIP_LABEL _("Exited") +#define STATE_MOUNTED_TOOLTIP_LABEL _("Mounted") +#define STATE_PLUGGED_TOOLTIP_LABEL _("Plugged") +#define STATE_ABANDONED_TOOLTIP_LABEL _("Abandoned") +#define AUTOSTART_STATUS_TOOLTIP_LABEL _("Autostart:") \ No newline at end of file diff --git a/ubl-settings-services-banner.png b/ubl-settings-services-banner.png deleted file mode 100644 index 8eb67cb..0000000 Binary files a/ubl-settings-services-banner.png and /dev/null differ diff --git a/ubl-settings-services.glade b/ubl-settings-services.glade index 787a156..7c5916a 100644 --- a/ubl-settings-services.glade +++ b/ubl-settings-services.glade @@ -1,5 +1,5 @@ - + @@ -73,6 +73,8 @@ + + @@ -115,23 +117,12 @@ True False 5 - - - True - False - Service: - - - False - True - 0 - - True False Service: + True True 0 @@ -323,7 +314,7 @@ True False - Unit file: + File: False @@ -463,6 +454,8 @@ + +