Compare commits

..

4 Commits

@ -1,16 +1,5 @@
#!/usr/bin/make -f
all: build install
build:
all:
make -C src/usr/share/xsessions/po/
rm -rf src/usr/share/xsessions/po/ src/usr/share/xsessions/*.in
cd snap-installation-monitor && cmake -DCMAKE_BUILD_TYPE=Release . && make
install:
mkdir -pv $(DESTDIR)/lubuntu-snap-installation-monitor/usr/libexec
mkdir -pv $(DESTDIR)/lubuntu-snap-installation-monitor/etc/xdg/autostart
mkdir -pv $(DESTDIR)/lubuntu-default-settings/
cp -a src/etc src/usr $(DESTDIR)/lubuntu-default-settings/.
cp -a snap-installation-monitor/snap-installation-monitor $(DESTDIR)/lubuntu-snap-installation-monitor/usr/libexec/.
cp -a snap-installation-monitor/snap-installation-monitor.desktop $(DESTDIR)/lubuntu-snap-installation-monitor/etc/xdg/autostart/.

13
debian/changelog vendored

@ -1,3 +1,16 @@
lubuntu-default-settings (25.04.2) plucky; urgency=medium
* Default to the Ubuntu color scheme for QTerminal.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 11 Dec 2024 02:03:08 -0600
lubuntu-default-settings (25.04.1) plucky; urgency=medium
* Welcome to Plucky Puffin!
* Remove snap-installation-monitor (LP: #2061318).
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 22 Oct 2024 19:47:26 -0500
lubuntu-default-settings (24.10.1) oracular; urgency=medium
[ Aaron Rainbolt ]

9
debian/control vendored

@ -3,7 +3,7 @@ Section: x11
Priority: optional
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
Build-Depends: cmake, debhelper-compat (= 13), intltool, qt6-base-dev
Build-Depends: debhelper-compat (= 13), intltool
Standards-Version: 4.7.0
Homepage: https://lubuntu.me
Vcs-Browser: https://git.launchpad.net/lubuntu-default-settings?h=master
@ -26,10 +26,3 @@ Recommends: breeze-gtk-theme,
Description: default settings for Lubuntu
Various system settings tailored for Lubuntu's default session. This includes
default settings, applications, and themes.
Package: lubuntu-snap-installation-monitor
Architecture: amd64
Depends: ${misc:Depends}, ${shlibs:Depends}
Description: Simple notifier for snap installation
Let the user know if snaps are still being installed in the background when
booting up their desktop environment.

19
debian/copyright vendored

@ -21,22 +21,3 @@ License: GPL-2+
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
Files: snap-installation-monitor/*
Copyright: Copyright 2024 Simon Quigley <tsimonq2@ubuntu.com>
License: GPL-3+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
.
This package 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 General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".

3
debian/install vendored

@ -0,0 +1,3 @@
src/etc/xdg /etc/
src/usr/lib /usr
src/usr/share /usr/

@ -0,0 +1,3 @@
# These desktop files are not meant to be user-visible; ignore these flags
lubuntu-default-settings: desktop-entry-lacks-icon-entry [usr/share/xsessions/Lubuntu.desktop]
lubuntu-default-settings: desktop-entry-lacks-keywords-entry [usr/share/xsessions/Lubuntu.desktop]

@ -1,3 +0,0 @@
lubuntu-default-settings/etc/xdg etc/
lubuntu-default-settings/usr/lib usr/
lubuntu-default-settings/usr/share usr/

@ -1,3 +0,0 @@
# These desktop files are not meant to be user-visible; ignore these flags
lubuntu-default-settings: desktop-entry-lacks-icon-entry usr/share/xsessions/Lubuntu.desktop
lubuntu-default-settings: desktop-entry-lacks-keywords-entry usr/share/xsessions/Lubuntu.desktop

@ -1,2 +0,0 @@
lubuntu-snap-installation-monitor/etc/xdg/autostart/snap-installation-monitor.desktop etc/xdg/autostart/
lubuntu-snap-installation-monitor/usr/libexec/snap-installation-monitor usr/libexec/

3
debian/rules vendored

@ -1,6 +1,3 @@
#!/usr/bin/make -f
%:
dh $@
override_dh_auto_build:
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp

@ -1,12 +0,0 @@
cmake_minimum_required(VERSION 3.5.0)
project(snap-installation-monitor)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
find_package(Qt6 COMPONENTS Widgets DBus REQUIRED)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(snap-installation-monitor main.cpp)
target_link_libraries(snap-installation-monitor Qt6::Widgets Qt6::DBus)

@ -1,76 +0,0 @@
// Copyright (C) 2024 Simon Quigley <tsimonq2@ubuntu.com>
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 3
// of the License, or (at your option) any later version.
//
// This program 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 General Public License for more details.
#include <QApplication>
#include <QSystemTrayIcon>
#include <QtDBus/QtDBus>
#include <QTimer>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// Create and set application icon
QIcon appIcon = QIcon::fromTheme("dialog-information");
QApplication::setWindowIcon(appIcon);
// DBus interface to systemd
QDBusInterface systemd("org.freedesktop.systemd1",
"/org/freedesktop/systemd1",
"org.freedesktop.systemd1.Manager",
QDBusConnection::systemBus());
// Retrieve current status of snapd.seeded.service, which tracks the preseed process
QDBusMessage methodCall = systemd.call("GetUnit", "snapd.seeded.service");
QDBusObjectPath unitPath = methodCall.arguments().at(0).value<QDBusObjectPath>();
QDBusInterface unit("org.freedesktop.systemd1",
unitPath.path(),
"org.freedesktop.systemd1.Unit",
QDBusConnection::systemBus());
QVariant activeState = unit.property("ActiveState");
QVariant subState = unit.property("SubState");
// System tray icon setup
QSystemTrayIcon trayIcon(appIcon);
trayIcon.setToolTip("Snap Installation Monitor");
// Initial message displayed in the system tray
auto showMessage = [&trayIcon]() {
trayIcon.showMessage("Installation Notice", "Finalizing installation of snaps, please wait...",
QSystemTrayIcon::Information, 15000);
};
// If the user clicks the system tray icon, display the notification again
QObject::connect(&trayIcon, &QSystemTrayIcon::activated, [&](QSystemTrayIcon::ActivationReason reason) {
if (reason == QSystemTrayIcon::Trigger) {
showMessage();
}
});
// Exit immediately if the service is "active (exited)", launch the GUI parts otherwise
if (activeState.toString() == "active" && subState.toString() == "exited") { return 0; }
trayIcon.show();
showMessage();
QTimer timer;
QObject::connect(&timer, &QTimer::timeout, [&unit, &trayIcon]() {
QVariant newState = unit.property("ActiveState");
QVariant newSubState = unit.property("SubState");
if (newState.toString() == "active" && newSubState.toString() == "exited") {
trayIcon.hide();
QApplication::quit();
}
});
timer.start(5000); // Check every 5 seconds
return app.exec();
}

@ -1,8 +0,0 @@
[Desktop Entry]
Type=Application
Name=Snap Installation Monitor
Exec=/usr/libexec/snap-installation-monitor
Icon=dialog-information
Comment=Monitor snapd seeding at startup
X-LXQt-Need-Tray=true
NoDisplay=true

@ -4,6 +4,7 @@ FixedTabWidth=false
HideTabBarWithOnlyOneTab=true
fontFamily=Ubuntu Mono
fontSize=14
colorScheme=Ubuntu
[MainWindow]
size=@Size(800 600)

Loading…
Cancel
Save