desbma / gotify-desktop

Small Gotify daemon to send messages as desktop notifications
GNU General Public License v3.0
50 stars 1 forks source link

[Feature Request] Include a Freedesktop .desktop (menu/launcher) #13

Closed OdinVex closed 9 months ago

OdinVex commented 9 months ago

If you could include a ".desktop" file for use with Desktop Environments to ease starting and adding to automatic start (via pointing say, KDE's autostart to a .desktop) it might be a nice feature. Manually creating it works fine, though.

desbma commented 9 months ago

Yes I guess since this daemon is for desktop use, creating a .desktop file makes sense.

desbma commented 9 months ago

@OdinVex Can you please try the .desktop file from desktop-entry branch? desktop/gotify-desktop.desktop should go in /usr/share/applications/gotify-desktop.desktop desktop/icon.png should go in /usr/share/icons/hicolor/96x96/apps/gotify-desktop.png

OdinVex commented 9 months ago

@desbma It works fine, though I did need to tell my OS to update the icon cache and such for it to show up in other software (a normal part of adding icons and updates, KDE Plasma). KDE Plasma however does place it in "Lost and Found". The category could be adjusted.

desbma commented 9 months ago

I have added a "category" in the desktop file.

Copying the .desktop & icon file, updating the icon cache and such is typically the job of a distribution package. I'll update the Arch Linux AUR one since I maintain it, the best I can do for the other distros is add instructions in the README.

desbma commented 9 months ago

4df9b7d3ff6df8037516dd756681b65374074bf6 looks good to you?

OdinVex commented 9 months ago

Looks good, ai. I'd use an SVG as well though, most desktops support SVG. (Especially Gnome and KDE, pretty much any Linux distro.)

desbma commented 9 months ago

I just stole the Gotify server favicon :blush: Gotify has SVGs here, but only of the main logo, which does not look great as a smallish icon.

OdinVex commented 9 months ago

I thought it looked pretty good myself and most importantly unique, recognizable. When I added the .desktop and saw the PNG I also added the SVG. Looks nice on my 4K.

desbma commented 9 months ago

There is clearly a generic Gotify logo, and another one designed for small icons, made to be more legible in small sizes, exactly our use case here. I understand the benefits of using SVG instead of PNG, but in this case I don't think it makes sense to use the generic logo just for the sake of using SVG.

Anyway, this is released in 1.3.3 and the AUR package has been updated.

OdinVex commented 9 months ago

It's not a generic logo, it's the icon you used in the .desktop simply scanned and reduced in SVG-terms to a reasonable facsimile (converters aren't perfect for this but they're reasonable). So I see the same icon you intended, it's just SVG. Visually it's identical enough for my purposes. :]

desbma commented 9 months ago

No it's not the same logo, they made a small one that is cropped, it's not just a raster version of the SVG, see https://github.com/gotify/logo#full-logo.

Generic Small

OdinVex commented 9 months ago

I'm using the small logo. There are plenty of tools that can take the small one and convert it to actual vector graphics. I'm not talking about the 'import a PNG and stretch it' stuff. Good tools will create actual vector pieces in the SVG intelligently to recreate (very near accuracy) what something rasterized looks like but vectored.

desbma commented 9 months ago

So you are using a tool to convert the small PNG logo to a SVG, in a fundamentally inaccurate way, so that your desktop environment can then raster it to an image of the same size? That sounds complex and inefficient, and I would be very surprised if it results in a better looking image, even when upscaling.

OdinVex commented 9 months ago

Fundamentally inaccurate yes but the point is it vector after that. Then it rasters at any size without issue. I have a 4K display, so it's rendered at 2x. It looks fine, especially upscaled. gotify-logo-small(large)

Still, an actual SVG from the original creator would be nicer. This one can artifact on some renderers. It suits my needs despite not being official. ^_^ File size is a little larger than I want, so I'm thinking about taking the original logo and 'cropping' the SVG file itself (though hopefully the original author can do it considering they have src of small), though my skills in SVG work are quite limited.

desbma commented 9 months ago

I'm impressed, this looks good indeed.

OdinVex commented 9 months ago

It does but only up to 420x420, anything after that causes one vector to scale veeery wrong over the image and there are around 500 objects there to clean up and delete (sometimes those tools create "pizza" triangles to fill an area...think triangles/quads in 3d graphics programming...and sometimes they scale badly with "trap math"). It's still useful to me for anything under 420, so desktop icons and menu icons are a go.

desbma commented 9 months ago

What is the tool you are using for the PNG -> SVG conversion?

OdinVex commented 9 months ago

Can't remember, it was one of the first page or two from a Google query looking for a tool that does intelligent attempts at converting images to SVGs (provided they look like this it increases the chances of a good conversion or something that may only need cleanup). It had around 20 options for tuning it, that's all I can remember.

desbma commented 9 months ago

SVG icon added in aac929d9a16331ed686792e3e303dc49ffd901bc and AUR package updated.

OdinVex commented 9 months ago

By the way, your .desktop forgot to include the Icon line. I had set it myself manually on my end, forgot to mention it. Icon=gotify-desktop Your icon also has the wrong permissions, it should be 644...it is currently executable.

desbma commented 9 months ago

Thanks, fixed for both. I did not notice the missing Icon= line because my launcher (rofi) picks the icon anyway, I assume from the executable name.