Commit Graph

320 Commits

Author SHA1 Message Date
Ilya Fedin
5990b0fabf Fix build with Qt 5 2022-12-08 10:15:59 +04:00
Ilya Fedin
6f50906952 Don't use unneeded QEventLoop::ApplicationExec 2022-12-07 11:27:49 +04:00
23rd
4fabb3f2a2 Replaced some qsl with u""_q literal. 2022-11-30 17:17:14 +03:00
John Preston
ad3f8e72a0 Remove namespace App. 2022-11-30 17:28:09 +04:00
Ilya Fedin
b383dad6ac Install launcher before registering URL scheme 2022-11-28 12:12:09 +01:00
Ilya Fedin
4484edd212 Get rid of unneeded QTextStream from GenerateDesktopFile 2022-11-26 17:26:52 +01:00
Ilya Fedin
d6ed23b3dd Fix race condition between GApplication and GNotification 2022-11-26 17:26:52 +01:00
Ilya Fedin
9ee4ad95d0 Fix GApplication with some binary paths 2022-11-26 17:26:52 +01:00
Ilya Fedin
4ade80905f Add proper build-time checks to AutostartSupported on Linux 2022-11-26 17:26:52 +01:00
Ilya Fedin
94b4809cdf Get XDG activation token also from DESKTOP_STARTUP_ID 2022-11-25 15:11:25 +01:00
Ilya Fedin
109f6614f0 Unset XDG_ACTIVATION_TOKEN after used with GApplication 2022-11-25 15:11:25 +01:00
Ilya Fedin
a94dd22caa Rewrite GenerateDesktopFile using Glib::KeyFile and KShell 2022-11-21 21:30:17 +00:00
Ilya Fedin
899ab9a16a Fix range loop warnings in Snap build 2022-11-21 21:30:17 +00:00
Ilya Fedin
2f0d14bd35 Use customWorkingDir() outside of Core::Launcher
This allows to add -workdir to shortcuts only if the process was launched with -workdir
2022-11-21 21:30:17 +00:00
Ilya Fedin
9b66b76bac Use GNotification only in flatpak by default
The UX is not the best without sound, so there's no advantage in using GNotification on GNOME.

Remove mention about being native to GNOME as it's not true anymore.
2022-11-20 08:52:36 +00:00
Ilya Fedin
a1e60a3f20 Ensure GNotification is not autodetected in snap
Snap reports it as present, but prevents the access and GNotification attempts to use portal that doesn't work in snap
2022-11-19 02:21:51 +04:00
Ilya Fedin
b9b6a9e747 Follow desktop file naming specification
This is required for GApplication to enable all the features

https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#file-naming
2022-11-18 20:40:33 +04:00
Ilya Fedin
f9dd2b4a0a Support GNotification
It's used if there's a gtk notification daemon or application is running sandboxed without access to the freedesktop protocol.

GNotification API is poor, but should feel native on environments using GNOME technologies.
2022-11-18 20:40:33 +04:00
Ilya Fedin
fc4682d77e Get rid of TDESKTOP_LAUNCHER_BASENAME
This key was mainly used to let flatpak and snap provide right desktop file name.
Now, we can compute it from the environment in runtime for both flatpak and snap.
There's no more need in this option. Desktop filename override by downstreams is highly discouraged.
2022-11-07 13:47:58 +04:00
Ilya Fedin
a507edb67a Get rid of workarounds for old flatpak versions
The minimal supported flatpak version since Qt 6.x is 1.14.0.
Flatpak shares temp directory and runtime directory between launches since 1.11.1.
FLATPAK_ID is defined since 1.1.2.
2022-11-07 13:47:58 +04:00
Ilya Fedin
1336a7149b Update glibmm to latest version 2022-11-03 14:45:01 +04:00
Ilya Fedin
2a6e2fa353 Bundle kcoreaddons 2022-09-28 23:59:59 +04:00
Ilya Fedin
cfa12fb0cc Move AppRuntimeDirectory to private namespace 2022-09-19 14:23:27 +04:00
Ilya Fedin
d9318c9935 Move icon name getter to cross-platform header 2022-09-19 14:23:27 +04:00
Ilya Fedin
5132fd5010 Use KSandbox to check flatpak/snap environment 2022-09-19 14:23:27 +04:00
Ilya Fedin
89879e355d Replace EscapeShell with KShell::joinArgs 2022-09-19 14:20:02 +04:00
Ilya Fedin
88f1f8ff22 Move QGuiApplication::setDesktopFileName call to Platform::start
It depends on Core::UpdaterDisabled that is not initialized in Launcher::initHook yet
2022-09-05 08:24:48 +04:00
Ilya Fedin
38da0e086d Get rid of lib_waylandshells 2022-09-02 21:27:41 +04:00
Ilya Fedin
f1092753fc Remove version from the .desktop file
Some desktop environments hide the launcher if they don't know the version
2022-09-01 13:53:53 +04:00
Ilya Fedin
5fc7caeec9 Provide old version to Platform::NewVersionLaunched 2022-09-01 13:53:53 +04:00
Ilya Fedin
8c1bef929e A better way of PiP aspect ratio handling on Wayland 2022-08-08 11:05:52 +04:00
Ilya Fedin
9e63fc5acd Let PiP have custom buffer size on Wayland 2022-08-04 16:41:25 +04:00
Ilya Fedin
bb8ffcac3a Default to Wayland on GNOME for new installs 2022-07-28 20:17:49 +04:00
Ilya Fedin
e8477e5911 Get rid of 'paramtersCopy' in dbus code 2022-07-26 21:09:30 +04:00
Ilya Fedin
391a3a77f6 Use Qt's xdg-desktop-portal file dialog implementation 2022-06-14 16:36:44 +04:00
Ilya Fedin
088cca7452 Adapt for XCB::IsSupportedByWM changes 2022-06-14 16:36:44 +04:00
Ilya Fedin
a2a401c0b0 Use public Qt API for native dialogs modality 2022-05-19 17:23:47 +04:00
Ilya Fedin
acd18a57fb Get rid of the IBUS_USE_PORTAL workaround
It's been a while after the ibus breaking change, the new socket path should be in all major distros and this hack shouldn't be needed anymore.
2022-05-19 17:23:47 +04:00
Ilya Fedin
6a80b1b94c Get rid of __HAIKU__ checks
This is a leftover of something that wasn't finiched and looks like won't be finished. It also feels that's not a good idea to mix Linux and Haiku in the same file though...
2022-05-19 17:23:47 +04:00
23rd
0e16a50bbc Completely removed common and platform code for tray from main window. 2022-05-03 04:25:36 +03:00
Sergey A. Osokin
3ba5b825e5 Fix -Wunused-const-variable warnings by removing unused variables
Fixes #24432
2022-04-26 21:25:05 +04:00
Hugo Osvaldo Barrera
c52a5927e5 Avoid a second query for the current color-scheme
Telegram listens for a signal that indicates when the color-scheme
changes. The signal itself includes the new value, but Telegram
currently queries for the value immediately after getting the signal.
This second round-trip is unnecessary, since the signal itself contains
the same information.

This changeset avoids this follow-up query, and drops the now-unused
`Setter`.
2022-04-25 22:38:08 +04:00
Ilya Fedin
62e82a42fb Adapt to lib_base's XDP API changes 2022-04-14 09:15:50 +04:00
Ilya Fedin
80f1f079f1 Move waitForInterfaceAnnounce call to the uses of announced interfaces 2022-04-14 09:11:05 +04:00
Ilya Fedin
17fcc729a2 Implement org.freedesktop.appearance.color-scheme 2022-04-12 17:35:51 +04:00
Ilya Fedin
6fd02ccbae Match socket length check with Qt 2022-03-08 12:41:38 +04:00
Ilya Fedin
99e8d22c51 Move xdg-foreign support to lib_base 2022-02-04 16:31:40 +03:00
Ilya Fedin
e5981ed22b Move jemalloc initialization code to cmake_helpers 2022-02-01 14:41:54 +03:00
Ilya Fedin
b65d40a22b Get rid of custom SNI implementation
XDG is inventing new tray specification, so SNI will be outdated soon and it's better to just use QSystemTrayIcon.
I believe all the major drawbacks of QSystemTrayIcon are solved and we can live with minor ones.
Given the planned MainWindow refactoring, it seems it's the best time to do that.
2022-01-22 21:18:37 +04:00
Ilya Fedin
726aa3316d Rework DE detection
Variables can point to a mixed environment, make DE detection non-exclusive.
Remove unused methods.
2022-01-07 19:14:59 +03:00