.TH KYSDK-DATE 1 "2025" "Version 0.1" "User Commands" .SH NAME kysdk-date \- KYLIN SDK Date and Time Format Management Service .SH SYNOPSIS .B kysdk-date .SH DESCRIPTION .B kysdk-date is a date and time format management service in the KYLIN SDK system. This service provides real-time date and time formatting capabilities, monitoring user configuration changes and broadcasting formatted date/time information through D-Bus signals. The service runs as a background daemon that monitors changes to date format configuration files and automatically broadcasts updated date/time information to all subscribed applications. It supports multiple date formats and time display modes (12-hour/24-hour clock). .SH FEATURES .TP .B Real-time Configuration Monitoring Monitors user date format configuration file changes in real-time using inotify .TP .B Multiple Date Format Support Supports various date formats including: - Short date formats (yy-M-d, MM/dd/yyyy, etc.) - Long date formats (yyyy MM dd, yy M d, etc.) - Custom formats with different separators (-, /, .) .TP .B Time Format Support Supports both 12-hour and 24-hour clock formats .TP .B D-Bus Signal Broadcasting Broadcasts date/time information through D-Bus signals when configurations change .TP .B Localization Support Provides localized date format strings based on system locale settings .SH D-Bus INTERFACE The service implements the following D-Bus interface `com.kylin.kysdk.DateInterface` with these signals: .TP .B DateSignal Emitted when the date format configuration changes, providing: - Formatted date string - Time format information .TP .B LongDateSignal Emitted for long date format changes, providing: - Long date format template - Formatted long date string .TP .B ShortDateSignal Emitted for short date format changes, providing: - Short date format template - Formatted short date string .TP .B TimeSignal Emitted for time format changes, providing: - Time format information (12-hour/24-hour clock) .SH CONFIGURATION The service monitors the configuration file located at: .B ~/.config/kydate/dateformat.conf Configuration options include: .TP .B DATE_FORMAT General date format setting .TP .B TIME_FORMAT Time format setting (12 or 24) .TP .B LONG_DATE_FORMAT Specific format for long date display .TP .B SHORT_DATE_FORMAT Specific format for short date display .SH FILES .TP .B /usr/bin/sdk-date Main executable file .TP .B ~/.config/kydate/dateformat.conf User configuration file for date/time formats .TP .B /var/log/kysdk-date.log Log file (if logging is enabled) .SH SERVICE The service runs as a session D-Bus service with: - Service name: com.kylin.kysdk.DateServer - Object path: /com/kylin/kysdk/Date - Interface: com.kylin.kysdk.DateInterface .SH DEPENDENCIES .TP .B D-Bus For inter-process communication .TP .B GLib For main loop integration .TP .B GNU gettext For localization support .SH THREADING The service uses a multi-threaded architecture: - Main thread: Handles D-Bus communication and main loop - Monitor thread: Watches for configuration file changes - Signal threads: Handle date/time formatting and broadcasting .SH SIGNALS .TP .B IN_CREATE, IN_DELETE, IN_MODIFY, IN_MOVE_SELF inotify events monitored for configuration file changes .TP .B SIGTERM, SIGINT Graceful shutdown signals .SH LOCALIZATION Supports localization through GNU gettext with: - Language-specific date formats - Translated time format descriptions - Locale-aware date formatting .SH AUTHOR KylinSoft Co., Ltd. .SH COPYRIGHT Copyright (C) 2023-2025, KylinSoft Co., Ltd. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. .SH SEE ALSO .BR dbus-daemon (1), .BR date (1), .BR locale (1), .BR inotify (7)