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 @@
+
+