After pressing the PrtSc key, Spectacle takes about 1.5-2 s to launch. On the contrary, when I used Mint as my daily driver (X11), Flameshot launched almost instantly.
Was flameshot not permanently running in the tray?
But yes, spectacle is known for having some startup time - which might be critical for capturing moving targets (video, gaming or whatever). I think mine’s taking about 1/3s up to 1so there’s obviously some significant loading headroom - possibly something to do with loading fonts or opengl.
Normally, for static screens, it’s not a big deal.
However, you can get it faster; I have an issue that my PrScr in a Fn key (Fn_PgUp) so to do Meta with Fn key will lock my Meta key (can’t adjust that)…
So I made MetaAltPgDn snap the screen and give me a cursor to select a region. Now THAT is instant… and there are options to capture the screenshot with no interaction at all, so you can just snap the whole desk, or current window, without any interference - then edit later.
No, I made sure to check if the process is running in System Monitor before pressing the key. I had mapped the PrtSc key to open Flameshot in Mint. In fact, I’d like to reconsider my statement: it didn’t launch “almost instantly”, it was instant.
Restart=always is necessary because spectacle exits every time screenshot was taken. On the other hand, it’s 200MiB of used RAM (well, at least on my machine). Now it opens and takes screenshots instantly
Well, after some time using it I noticed that Plasma cannot properly log out of session with this service enabled and running. Just change graphical-session.target to plasma-workspace.target and logout should work properly.
it’s 200MiB of used RAM (well, at least on my machine)
graphical-session.target.wants usually contains user level services, which depends on graphical-session.target. It is kinda dependency resolver for systemd.
Speaking of spectacle.service, any user written services should be in the root of user level systemd folder, AKA $HOME/.config/systemd/user/<my_unit>.<service|timer|mount|whatever>, so spectacle.servicemust be in there