Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimize to tray on start / start minimized #868

Closed
benoitf opened this issue Nov 20, 2022 Discussed in #867 · 2 comments · Fixed by #1374
Closed

Minimize to tray on start / start minimized #868

benoitf opened this issue Nov 20, 2022 Discussed in #867 · 2 comments · Fixed by #1374
Assignees
Labels
area/dashboard 📊 Concern the dashboard from Container Desktop area/system-tray 📤 Concern the system tray tool os/macOS 🍎 os/windows 🪟

Comments

@benoitf
Copy link
Collaborator

benoitf commented Nov 20, 2022

Discussed in #867

Originally posted by patstha November 20, 2022
On Microsoft Windows, it would be nice to have an option to minimize podman desktop on start so it doesn't open a new window every time I reboot the computer.

image

Microsoft Teams calls it "open application in background"

image

A user question and answer that explains this flow: https://techcommunity.microsoft.com/t5/microsoft-teams/allow-teams-application-start-minimized/m-p/1124951

@benoitf benoitf added area/dashboard 📊 Concern the dashboard from Container Desktop os/windows 🪟 area/system-tray 📤 Concern the system tray tool os/macOS 🍎 and removed status/need-triage labels Nov 21, 2022
@benoitf benoitf changed the title [Microsoft Windows] Minimize to tray on start / start minimized Minimize to tray on start / start minimized Nov 23, 2022
@benoitf
Copy link
Collaborator Author

benoitf commented Nov 24, 2022

it may requires an additional flag to read on startup

like --minimize

and it could be added in the macOS wrapper and in the Windows wrapper to always start minimized

@ghost
Copy link

ghost commented Jan 16, 2023

This would also be a nice feature for linux, especially starting minimized.

cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 27, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 27, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 27, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 27, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 30, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 30, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 30, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 30, 2023
### What does this PR do?

* Refactors the index.ts and mainWindow.ts functionality when first
  intilizating Podman Desktop. We must be able to retrieve configuration
  settings before creating windows, and a refactor was required to
  implement that change
* Podman Desktop will now start minimized on Windows, macOS and Linux

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

Set the setting within Preferences, and restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 31, 2023
### What does this PR do?

* Refactors how we restore / open windows by making two separate
  functions for restoring as well as opening
* Moves app.on('active', createNewWindow()); to within app.whenReady()
  in order to fix issues with macOS now opening correctly

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

1/2 of of containers#868

### How to test this PR?

<!-- Please explain steps to reproduce -->

`yarn watch` and it should open / start as normal

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 31, 2023
### What does this PR do?

* Refactors how we restore / open windows by making two separate
  functions for restoring as well as opening
* Moves app.on('active', createNewWindow()); to within app.whenReady()
  in order to fix issues with macOS now opening correctly

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

1/2 of of containers#868

### How to test this PR?

<!-- Please explain steps to reproduce -->

`yarn watch` and it should open / start as normal

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Jan 31, 2023
### What does this PR do?

* Refactors how we restore / open windows by making two separate
  functions for restoring as well as opening
* Moves app.on('active', createNewWindow()); to within app.whenReady()
  in order to fix issues with macOS now opening correctly

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

1/2 of of containers#868

### How to test this PR?

<!-- Please explain steps to reproduce -->

`yarn watch` and it should open / start as normal

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit that referenced this issue Feb 1, 2023
### What does this PR do?

* Refactors how we restore / open windows by making two separate
  functions for restoring as well as opening
* Moves app.on('active', createNewWindow()); to within app.whenReady()
  in order to fix issues with macOS now opening correctly

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

1/2 of of #868

### How to test this PR?

<!-- Please explain steps to reproduce -->

`yarn watch` and it should open / start as normal

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 1, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 1, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 1, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 1, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 1, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 2, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 2, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 2, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 3, 2023
### What does this PR do?

* On Windows & macOS, there is now an option to minimize on login.

Electron does this by reading the argsv value and seeing if --minimized
has been passed in through the macOS / Windows startup scripts.

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes containers#868

### How to test this PR?

On MacOS:
1. `yarn compile`
2. Move the binary to your applications folder
3. Launch Podman Desktop + enable minimize setting
4. Logout and login your computer.

On Windows:
1. `yarn compile`
2. Move the exe to the Desktop and run it to initially install the
   new startup script
3. Enable minimize setting
4. Logout and login your computer. OPTIONALLY you can test this by
   navigating to `C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start
   Menu\Programs\Startup`, finding Podman Desktop and running the vbs
   script which will imitate first-login.

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit to cdrage/podman-desktop that referenced this issue Feb 6, 2023
### What does this PR do?

* Adds the option and ability to configure if Podman Desktop should
  start minimized
* Moves window.show() from 'ready-to-show' to app.whenReady(). Why? Because
  Electron is incorrectly showing the window before configuration is
  has been read or fully loaded (ipcMain.emit('configuration-registry') being called).
  This fixes the issues of Podman Desktop being shown before it's ready
  / 'background flicker'.

Tested on dev / prod mode on Linux & dedicated Windows machine

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

N/A

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Fixes containers#868

### How to test this PR?

1. yarn watch
2. Go into preferences and enable "minimize on startup"
3. Restart Podman Desktop

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
cdrage added a commit that referenced this issue Feb 6, 2023
* feat: minimize on login

### What does this PR do?

* On Windows & macOS, there is now an option to minimize on login.

Electron does this by reading the argsv value and seeing if --minimized
has been passed in through the macOS / Windows startup scripts.

### Screenshot/screencast of this PR

<!-- Please include a screenshot or a screencast explaining what is doing this PR -->

### What issues does this PR fix or reference?

<!-- Please include any related issue from Podman Desktop repository (or from another issue tracker).
-->

Closes #868

### How to test this PR?

On MacOS:
1. `yarn compile`
2. Move the binary to your applications folder
3. Launch Podman Desktop + enable minimize setting
4. Logout and login your computer.

On Windows:
1. `yarn compile`
2. Move the exe to the Desktop and run it to initially install the
   new startup script
3. Enable minimize setting
4. Logout and login your computer. OPTIONALLY you can test this by
   navigating to `C:\Users\admin\AppData\Roaming\Microsoft\Windows\Start
   Menu\Programs\Startup`, finding Podman Desktop and running the vbs
   script which will imitate first-login.

<!-- Please explain steps to reproduce -->

Signed-off-by: Charlie Drage <charlie@charliedrage.com>

* rename function

Signed-off-by: Charlie Drage <charlie@charliedrage.com>

---------

Signed-off-by: Charlie Drage <charlie@charliedrage.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/dashboard 📊 Concern the dashboard from Container Desktop area/system-tray 📤 Concern the system tray tool os/macOS 🍎 os/windows 🪟
Projects
Archived in project
3 participants