Reboot option on menu

Hey guys,

I’m running into an issue when trying to add the reboot option to my launcher. I edited my __init__.py to have the changes linked by @QuantumKraken, and after adding it I rebooted my machine to see the changes on my launcher. On this boot, I freeze up (I get this error) and while it’s stuck showing the “loading” image I’m able to ssh into it and restore my /home/cpi/apps/launcher folder using git reset --hard HEAD, and then sudo reboot again and it works again.

Any thoughts on why this is failing for me?

Thanks,

Eash

edit: To note, I tried this multiple times - once by literally using sftp to put Quantum’s file on my machine, and once by editing my file to mirror the changes

There are a ton of __init__.py's in the system.
If you adjusted the one at /home/cpi/apps/Launcher/Menu/Gameshell/Poweroff, it shouldn’t effect boot up. (Hell, you could completely delete that file.)

I’m unsure how the error you linked to can get resolved without an SD re imaging. All three of these cases were caused differently…

But! Because I hear that there is a magical button on the pcb that does stuff. I don’t think pressing it can make matters much worse. (Talking about the reset button, not the power button… I’m not a monster…)

I am 100% certain that I was editing the correct __init__.py. IDK what’s happening, but when I modify that one python file and reboot it gets stuck on that loading screen.

The error I linked to was resolved for me by resetting the /home/cpi/apps/launcher folder to not have my modifications to that python file, since even though the GameShell was stuck on that loading screen it still connected to the WiFi okay. (I guess that’s lucky for me because if it didn’t connect to the WiFi I probably would have had to re-image my SD card like you did)

I have no clue why my GameShell doesn’t like me modifying this python file. When I get home from work I’ll see if it also dislikes me deleting that file.

Not sure about the rebooting, but if you are editing the file with something like WinSCP’s default text editor, that could be your problem…? I used IDLE to get the formatting right when I was first editing it.

I just tested deleting /home/cpi/apps/launcher/Menu/Gameshell/PowerOFF and rebooting. It booted fine for me.
(You can reload the menu by entering and leaving Retroarch to SCP it back in…)

Removing the file within the folder “PowerOFF” turns it into a folder like “RetroGames” (btw, what is the point of “20_” in the file name?)

At this point… you can try reloading the menu with Retroarch after you change the file instead of rebooting.
Though, if you haven’t already, you should update to the latest version before you change this file again.

Hey, so I got it to work for no apparent reason at all. I guess yesterday wasn’t my day. I modified my __init__.py file to have the reboot options and it started working great. Thanks for trying to help troubleshoot with me though!

Also, deleting that folder and rebooting also worked just fine for me.

As for the text editor I’m using, I’m one of those weirdos that uses vim with a bunch of plugins, so I’m actually editing the files through ssh with the vim installed on the GameShell, so it couldn’t have been a line endings issue between Windows and Linux.

In terms of those folder names, it’s to put them in the front. The launcher sorts all of the icons in alphanumeric order, so 10_ will go first, then 20_, then everything else that starts with a letter. And freeDM goes last because lowercase letters go after uppercase letters, I think?

Also, the branch of launcher I’m on (I’m keeping all of my launcher changes on my own local branch) is rebased on top of the most recent (1.2), so no worries there.

1 Like

Ah! I’m glad it works for you now!
And, now that I know the point of the “10_” and “20_” (how could I be so blind?!), it is time to reorganize the menu properly! :smiling_imp:

(Btw, vim is awesome)

2 Likes

I added a custom rebooting image :sunglasses:

Here’s the image itself if you guys want it:

reboot

You’ll have to put this in /home/cpi/apps/launcher/sys.py/gameshell/wallpaper/reboot.png, and then in the PowerOFF __init__.py, add the following lines instead of cmdpath = "sudo reboot":

cmdpath = "feh --bg-center gameshell/wallpaper/reboot.png"
cmdpath += "sleep 3;"
cmdpath += "sudo reboot"

hope this helps :smile:

2 Likes

Hello,
you can update your gameshell, reboot option is present :slight_smile:

2 Likes

nice :slight_smile: thanks for making the PR @Mrp1xel! I just rebased on top of 1.21 :smile: