Compare commits

..

No commits in common. 'ubuntu/plucky' and 'ubuntu/oracular' have entirely different histories.

@ -1,5 +1,16 @@
#!/usr/bin/make -f #!/usr/bin/make -f
all: all: build install
build:
make -C src/usr/share/xsessions/po/ make -C src/usr/share/xsessions/po/
rm -rf src/usr/share/xsessions/po/ src/usr/share/xsessions/*.in 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,16 +1,3 @@
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 lubuntu-default-settings (24.10.1) oracular; urgency=medium
[ Aaron Rainbolt ] [ Aaron Rainbolt ]

9
debian/control vendored

@ -3,7 +3,7 @@ Section: x11
Priority: optional Priority: optional
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com> Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Uploaders: Simon Quigley <tsimonq2@ubuntu.com> Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
Build-Depends: debhelper-compat (= 13), intltool Build-Depends: cmake, debhelper-compat (= 13), intltool, qt6-base-dev
Standards-Version: 4.7.0 Standards-Version: 4.7.0
Homepage: https://lubuntu.me Homepage: https://lubuntu.me
Vcs-Browser: https://git.launchpad.net/lubuntu-default-settings?h=master Vcs-Browser: https://git.launchpad.net/lubuntu-default-settings?h=master
@ -26,3 +26,10 @@ Recommends: breeze-gtk-theme,
Description: default settings for Lubuntu Description: default settings for Lubuntu
Various system settings tailored for Lubuntu's default session. This includes Various system settings tailored for Lubuntu's default session. This includes
default settings, applications, and themes. 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,3 +21,22 @@ License: GPL-2+
. .
On Debian systems, the complete text of the GNU General On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". 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

@ -1,3 +0,0 @@
src/etc/xdg /etc/
src/usr/lib /usr
src/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]

@ -0,0 +1,3 @@
lubuntu-default-settings/etc/xdg etc/
lubuntu-default-settings/usr/lib usr/
lubuntu-default-settings/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

@ -0,0 +1,2 @@
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,3 +1,6 @@
#!/usr/bin/make -f #!/usr/bin/make -f
%: %:
dh $@ dh $@
override_dh_auto_build:
$(MAKE) DESTDIR=$(CURDIR)/debian/tmp

@ -0,0 +1,12 @@
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)

@ -0,0 +1,76 @@
// 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();
}

@ -0,0 +1,8 @@
[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,7 +4,6 @@ FixedTabWidth=false
HideTabBarWithOnlyOneTab=true HideTabBarWithOnlyOneTab=true
fontFamily=Ubuntu Mono fontFamily=Ubuntu Mono
fontSize=14 fontSize=14
colorScheme=Ubuntu
[MainWindow] [MainWindow]
size=@Size(800 600) size=@Size(800 600)

Loading…
Cancel
Save