Menu

Main Menu
Talk Get Daily Search

Member's Online

    User Name
    Password

    How to make a launcher for a shell script

    Reply
    Page 1 of 2 | 1   2   | Next
    nonsuch | # 1 | 2022-05-01, 10:15 | Report

    Disclaimer: I posted this yesterday on SFOS forums but it got hijacked.

    It’s easy to add a custom launcher to your app menu, just drop a <something>.desktop file in ~/.local/share/applications that might look like this:

    Code:
    [Desktop Entry]
    Type=Application
    Name=Un/mount Server
    Exec=/home/nemo/.local/bin/server-sshfs
    Icon=/home/nemo/.local/share/icons/sshfs.png
    This works as desired, but I’m getting a cover tile with a spinner (created by the lipstick launcher I presume) that does not disappear after the script has completed, it just times out after 10-20s.

    How can I avoid that?

    I don't really need a cover tile at all. The script sends notifications, that's enough.

    I tried from within the .desktop file - all those commented options:

    Code:
    #X-Nemo-Application-Type=generic
    #Custom-Launcher=yes
    #X-Nemo-Single-Instance=no
    #"StartupNotify=false
    
    #[X-Sailjail]
    #Sandboxing=Disabled
    None made any difference.

    Maybe there’s some command I can add to the shell script just before it exits?

    I have been looking around existing projects and installed apps' .desktop files, but nothing seems to adress the situation.

    Edit | Forward | Quote | Quick Reply | Thanks

    Last edited by nonsuch; 2022-05-01 at 10:26.

     
    ric9K | # 2 | 2022-05-01, 13:01 | Report

    I have no idea and wonder if there's even a way or if it is part of silica behaviour.
    Even for app's covers, there doesn't seem to be delay/timeout properties. I fell on this looking for "cover" timeout or delay:
    https://sailfishos.org/develop/docs/...he-home-screen

    Hijacked?
    It is not against your question. Maybe you should insist a bit...

    Edit | Forward | Quote | Quick Reply | Thanks

     
    nonsuch | # 3 | 2022-05-01, 14:56 | Report

    Basically I'd want something telling the home screen (?) that the app is finished, done, not to bother with it anymore, forget about it.

    A shell command would be nice, but I'm open to other suggestions.

    I have terms like dbus-send and invoker swirling around my brain, but nothing makes sense.

    Edit | Forward | Quote | Quick Reply | Thanks

     
    suicidal_orange | # 4 | 2022-05-01, 17:13 | Report

    It's cheating but what happens if you run the script as an argument to the terminal app and exit at the end?

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to suicidal_orange For This Useful Post:
    pichlo

     
    nonsuch | # 5 | 2022-05-02, 05:25 | Report

    Originally Posted by suicidal_orange View Post
    It's cheating but what happens if you run the script as an argument to the terminal app and exit at the end?
    Something weird happens: It opens the terminal full size, and executes the script. However, the helpful message I coded into the script is not displayed.
    Then it minimizes.
    If I then tap the cover again, it executes the script again, and this time the helpful message appears, and the terminal does not minimize again...

    It would have been a good idea if fingerterm a) could be made to minimize straight away and b) would behave more consistently...

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to nonsuch For This Useful Post:
    suicidal_orange

     
    nonsuch | # 6 | 2022-05-06, 04:01 | Report

    Running it through a terminal works better with ToeTerm, but I'm still not satisfied with the result.

    Frankly I'd still prefer for the launcher to not create a cover tile at all, just show the notifications.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to nonsuch For This Useful Post:
    pichlo

     
    mrsellout | # 7 | 2022-05-06, 23:34 | Report

    Does prefixing
    Originally Posted by
    sh -c
    before the command make a difference?

    I noticed @nas gave an example .desktop file using this here

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to mrsellout For This Useful Post:
    nonsuch

     
    nonsuch | # 8 | 2022-05-07, 08:38 | Report

    Unfortunately it doesn't make a difference.
    Thanks for the example, it suffers the same limitations as discussed here but the dbus notification method is cool to have nonetheless.

    I've been faffing around with all sorts of settings inside the .desktop file, starting the script with invoker etc. and many fail. The pointless cover is at least succesful.

    Short of getting the SDK and compiling a shell wrapper, or learning how to register my script with dbus and launch it via dbus, I see no solution.

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following User Says Thank You to nonsuch For This Useful Post:
    pichlo

     
    nieldk | # 9 | 2022-05-13, 06:55 | Report

    You could use shc to compile the script to binary.
    I cant recall if thats available on SailfishOS, but otherwise, its fairly simple.
    Sources for shc is available so if its not already in repositories, it Can be compiled and used.
    https://github.com/neurobin/shc

    Edit | Forward | Quote | Quick Reply | Thanks
    The Following 2 Users Say Thank You to nieldk For This Useful Post:
    ric9K, suicidal_orange

     
    ric9K | # 10 | 2022-05-13, 22:28 | Report

    Does that mean "Shell to C"?
    This is gorgeous!
    edit: didn't find any shc in openrepos though

    Edit | Forward | Quote | Quick Reply | Thanks

     
    Page 1 of 2 | 1   2   | Next
vBulletin® Version 3.8.8
Normal Logout