RELEASE Apollo - File Explorer for Nintendo Switch

Discussion in 'Switch - Emulation, Homebrew & Software Projects' started by evo-brut3, Jul 9, 2019.

  1. hippy dave

    hippy dave BBMB

    Member
    14
    Apr 30, 2012
    United Kingdom
    Oh good, blawar's here to save the day :tpi:
     
    Dutt, Billy Acuña and chaoskagami like this.
  2. fixingmytoys

    fixingmytoys GBAtemp Fan

    Member
    5
    Jan 4, 2018
    Australia
    this looks really good,thing would love for this to have, is copying to and from USB and SD card and FTP into both USB and SD card and i would not have to shut down my switch to get "stuff" over
     
  3. chaoskagami

    chaoskagami G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚

    Member
    9
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    Trust me, I'm not misunderstanding anything. What you have described is called a layout manager. It is a common component of almost any UX framework, such as Swing, Win32's GDI API, GTK+, .NET's XAML etc. A window manager or windowing framework is something else entirely, and these two terms don't refer to remotely the same thing. A window manager controls you guessed it: multiple windows. A layout manager controls the contents of a window (or a single application view, if you prefer to look at it like so.)

    As for programmatic events, widgets, etc - that is also commonly part of a UX framework (a layout manager would be useless without components to place inside the layout), but these still do not add up to a window manager. They add up to a UX framework.

    Also, elements are not in their own window. They're in their own container. Or pane. But not a window.

    EDIT: Why am I even bothering to write a coherent reply? You'll just find something to nitpick and won't make any effort to use correct CS terminology.
     
    Last edited by chaoskagami, Jul 11, 2019 at 11:32 AM
    Billy Acuña and hippy dave like this.
  4. evo-brut3
    OP

    evo-brut3 Member

    Newcomer
    2
    Jun 25, 2019
    Poland
    I think that I didn't make it clear, my role model is Es File Explorer, but only in terms of functions, design is completely different thing.

    I must admit that using raw Plutonium out of the box, wouldn't work, I needed to add some changes, even the sidebar couldn't exist without some fixes. But Plutonium is very modular, I can add new things really fast, and I'm not going to have any problems with it, because my app, same as XorTroll's Goldleaf is built from layouts, and that gives me freedom in terms of design. I think you misunderstood this because of me mentioning Es File Explorer earlier, but I meant functions only.

    If you have some ideas on what projects should I start next, I'll be happy to listen to them :).

    Thanks mate, but I'm not yet sure whether sidebar should be black or white in the dark theme, I'll think about it in v0.3 :).
     
    chaoskagami likes this.
  5. lordelan

    lordelan GBAtemp Psycho!

    Member
    11
    Jan 4, 2015
    Germany
    That's cool. Would be nice to have some of Android's ES File Explorer features like accessing network shares, FTP, Cloud Drives (!), viewing/editing text files and so on. :)

    I don't know if this is even possible but since there's already a text editor (vgedit), can you redirect certain file types (like *.txt) to open with other homebrew apps like vgedit or pplay? To launch other homebrews you could use hbmenus code but I think you would also have to pass the desired file as an argument to the destination app which might not be possible yet but if it was, then homebrews on the Switch would become a pure mobile OS feel where multiple apps share stuff between each other. :)
     
  6. chaoskagami

    chaoskagami G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚

    Member
    9
    Mar 26, 2016
    United States
    ↑↑↓↓←→←→BA
    If the components you implemented in Plutonium are potentially reusable in other projects and sufficiently generic, it's probably worthwhile to attempt to upstream any code that may be useful to other developers. Just some food for thought.

    The main barrier to that approach is that homebrew doesn't maintain a stack of launches; were you to launch HBL, then a File Manager, which then launched a video player - executing the return operating would put you in HBL, not the file manager.
     
  7. evo-brut3
    OP

    evo-brut3 Member

    Newcomer
    2
    Jun 25, 2019
    Poland
    That is exactly what I wanted to do! :D The problem is I need to add some changes to the orginal pplay and vgedit to make them able to receive arguments in main, and then the rest should be easy (I'm not yet sure how easy or if even easy). If I will be able to do it, then you can expect this feature :).

    I thought about it, but as for now these are only minor changes.
    edit: If someone is interested, then I uploaded my version of Plutonium to the Apollo's github.

    That can be fixed by editing the pplay and vgedit code, when it will receive arguments from main, then the exit function won't exit an app but instead it will open Apollo :).
     
    Last edited by evo-brut3, Jul 11, 2019 at 12:06 PM
    lordelan likes this.
  8. lordelan

    lordelan GBAtemp Psycho!

    Member
    11
    Jan 4, 2015
    Germany
    Well, that'd be a revolution to the homebrew screne on the Switch!
     
  9. blawar

    blawar GBAtemp Advanced Fan

    Member
    9
    Nov 21, 2016
    United States
    Some apps already do this, retroarch for example.
     
    evo-brut3 likes this.
  10. evo-brut3
    OP

    evo-brut3 Member

    Newcomer
    2
    Jun 25, 2019
    Poland
    Really? I wasn't aware of that, but that only means that it is possible to implement :).
     
  11. blawar

    blawar GBAtemp Advanced Fan

    Member
    9
    Nov 21, 2016
    United States
    There is a more elegant way to do it, but this should get you started.


    Code:
    
                memset(g_argBuf, 0, sizeof(g_argBuf));
                snprintf(g_argBuf, ENTRY_ARGBUFSIZE, "%s \"%s\"", nro->url().c_str(), launchParam.c_str());
                if (envSetNextLoad(nro->url().c_str(), g_argBuf))
                {
                    error("failed to launch nro.\n"));
                }
                else
                {
                    application()->quit();
                }
    
     
    Last edited by blawar, Jul 11, 2019 at 2:21 PM
    lordelan, peteruk and evo-brut3 like this.
  12. cucholix

    cucholix Banners guy

    Member
    8
    Jan 17, 2017
    Chile
    Is it touchscreen only? :c
     
  13. evo-brut3
    OP

    evo-brut3 Member

    Newcomer
    2
    Jun 25, 2019
    Poland
    Thanks! I'll try to implement that feature in the v0.3.

    Nope, it doesn't support touch yet, it is controlled by joycons.
     
    lordelan, peteruk and cucholix like this.
  14. hippy dave

    hippy dave BBMB

    Member
    14
    Apr 30, 2012
    United Kingdom
    Clicking the right stick for "help" shows you button labels, what to press for each icon.
     
  15. evo-brut3
    OP

    evo-brut3 Member

    Newcomer
    2
    Jun 25, 2019
    Poland
    And after tilting your left dpad to the left you got access to the sidebar menu.
     
    cucholix and hippy dave like this.
  16. iGom

    iGom Newbie

    Newcomer
    1
    Jul 5, 2019
    United Kingdom
    UI is really good
     
  17. midstor

    midstor GBAtemp Regular

    Member
    5
    Aug 1, 2018
    United States
    Awesome work dude, great job.
     
  18. SG911

    SG911 GBAtemp Fan

    Member
    5
    Dec 20, 2017
    United States
    Bronx, NY
    Stupid question (This is really nice btw) can we use this to delete accounts on the switch?
     
  19. evo-brut3
    OP

    evo-brut3 Member

    Newcomer
    2
    Jun 25, 2019
    Poland
    Nope, I didn't really planned to implement any of systemwise functions to Apollo, I want to keep it as a file explorer. I'll add method to manage NAND files in the future and a few other things (maybe redirecting nsps to one's favourite nsp installer homebrew), but for stuff like installing nsp, xci, deleting accounts, managing tickets and so on I encourage you to use Goldleaf, Tinfoil or any other homebrew that is better at this.
     
    lordelan and SG911 like this.
  20. SG911

    SG911 GBAtemp Fan

    Member
    5
    Dec 20, 2017
    United States
    Bronx, NY
    Gotcha! Thank you.
     
Loading...