Custom desktop file issues

I’m working on a simple tray icon for updating. It works however, Im having a hard time getting it to autostart.

When working on the script, I created a .desktop, installed it, updated db and it worked just fine as wanted.

Problem appeared when I moved the project folder once script was finished. I tried to simply edit the .desktop file to point to the correct locations, delete and rewrite a new one, deleted that and used gendesk to generate one. No luck.

.desktop file is:

[Desktop Entry]
Version=1.0
Type=Application
Name=SysTrayUpdater
Exec=/home/ez/Git/systrayUpdater/systrayUpdater.py
Icon=/home/ez/Git/systrayUpdater/blue-logo.png
Terminal=false
StartupNotify=false
Categories=Utility;

Script is at https://github.com/ericlay/systrayUpdater/blob/main/systrayUpdater.py

with open('config.yml') 

is good to add path for this file
ps: run “pacman -Syu” without terminal … :cry:

Will update to an absolute path and try that out, thanks.

On the other note, I’m not sure I understand, it should run in a terminal window?

for path:
best is to use home

f"{os.path.expanduser('~')}/.config/systrayUpdater.yml"

can also sometime use relative to python script

f"{os.path.dirname(os.path.abspath(__file__))}/config.yml"

ok, my bad, not view var “term” is for open a terminal


ps:

  • i often use checkupdates -d
  • is good to pass timer in .yml
1 Like

Thanks! I would have never thought looking there. Since it threw no errors testing in a terminal I was fooled. It works as expected now.

I wanted to use regular pacman -Syu in a terminal for the normal abilities to deny update if user wanted. Would checkupdates -d provide something I’m missing? It seems like it would speed things up when user wanted to run the update itself. However, what if user did not want to update for any reason, there would then be useless pkgs in the cache?

Timer option in config is a good look for sure.

no, “checkupdates -d” not run an update :wink: is a “Download” command, only download packages in pacman cache
so we can use it for a background download before update
only problem is this command need root access (can load with pkexec)

yes only if user want skip one update (which is extremely unusual in rolling)
here, my idea is more add a new menu “download” , if i don’t want this update : i don’t download !

An extra menu option to only download pkgs to cache, not run an update? I’m not sure I understand that part. As is, it will not download or update unless you chose to ( twice, once by clicking menu and secondly by accepting update in terminal window). The way I’m understanding the idea feels like how it works, it will only update (including downloading pkgs) if you click “# Updates”. By not using -d, the pacman command gives you an option to view and decide whether or not to update?

I’m thinking (based on my own usage and maybe this is your idea I’m misunderstanding) it’s very rare to not accept the full update. And why not run checkupdates -d in the background and install from cache when user decides to update? Is this a bad practice (it feels like auto-update territory)

Or allow user to choose how they would want in config file? Interesting altogether.

have with stable branch !
after notify, i download “new” packages in background

And, after, when i have a moment, i go to forum et if not exists too much errors, i update
between my downgrade and update it can have one or 2 days (or 1hour)
for me , with your tool, is an option, after notify, user can downgrade or update

1 Like

I like the flow of that! Good idea.

Some reading points to possible issues using this method:

https://bbs.archlinux.org/viewtopic.php?id=246505

This would effect me as I am used to up to date machine, I often use pacman -S to grab a pkg.

My thoughts are same as ‘informant.hook’ author. A hook to check if newer pkg versions exist in cache, if so, force pacman -Syu before pacman -S

something like https://github.com/ericlay/systrayUpdater/blob/main/noPartial.sh

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.