Coder Social home page Coder Social logo

Comments (10)

perry-mitchell avatar perry-mitchell commented on August 11, 2024 2

Ok, well a simple misunderstanding then. I think the hidden on startup is more intuitive, and this creates a broken experience when you click on the launcher, expecting the app to open. Also if you click on the item in the task icons area it should open the GUI.

I'd be fine with rephrasing this setting to be more explicit, and adding the functionality so that it's only hidden on launch, not click/exec. Some combination of all of these features would be best.

from buttercup-desktop.

Oxalin avatar Oxalin commented on August 11, 2024 1

It won't work under Linux: app.[set,get]LoginItemSettings() functions are only available on macOS and Windows. That's why I had opted to use the node-auto-launch module.

from buttercup-desktop.

perry-mitchell avatar perry-mitchell commented on August 11, 2024

Note that this also affects the window re-opening after updates. It should re-open after an update.

We probably need to remove the setting and just use a --minimised flag in the auto-start config.

EDIT: Apparently auto-launch supports options.isHidden..

from buttercup-desktop.

Oxalin avatar Oxalin commented on August 11, 2024

The option is working exactly as I intended it to behave: Buttercup starts in the background when launching it from the taskbar or at startup if the option is enabled, because we don't have needs for the main window at this time. If we choose to, we can either open the main window (from the tray or by launching the app a second time from the taskbar or from the menu) or interact with Buttercup through its tray icon.

From what I understand of your scenarios, you expect "start application in background" to be applied only on startup launch, which is not how I had it planned. We could either add another option to separate both scenarios: auto-start in background and always start in background, with a clear description to distinguish their behavior. What do you think?

About auto-launch supporting "isHidden", it only adds an argument to be passed when calling the app. Then you have to manage it, exactly like we do with the "start application in background" option or with the "hidden" arg we already support from the command line.

from buttercup-desktop.

Oxalin avatar Oxalin commented on August 11, 2024

Is this supposed to be supported on Linux and macOS? I can test on Linux, but not macOS.

from buttercup-desktop.

perry-mitchell avatar perry-mitchell commented on August 11, 2024

from buttercup-desktop.

perry-mitchell avatar perry-mitchell commented on August 11, 2024

I migrated the functionality across just for Linux, to create a desktop file. I can see it creating the file just fine, so I'll test it on my Debian machine this morning before release.

from buttercup-desktop.

Oxalin avatar Oxalin commented on August 11, 2024

Ok. What about macOS which has its own trickeries (and no args support from native calls)? Is there anyone who could test it?

from buttercup-desktop.

georglauterbach avatar georglauterbach commented on August 11, 2024

When there is a release, I will test it on macOS. I lack the time to build it myself, hence I can only report once a release has been published.

from buttercup-desktop.

perry-mitchell avatar perry-mitchell commented on August 11, 2024

I've published it.

Yes, I can see that MacOS doesn't like my hybrid setting. It'll need some more work.

Hopefully this is enough for mac:

openAsHidden boolean (optional) macOS - true to open the app as hidden. Defaults to false. The user can edit this setting from the System Preferences so app.getLoginItemSettings().wasOpenedAsHidden should be checked when the app is opened to know the current value. This setting is not available on MAS builds.

from buttercup-desktop.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.