Prevent macOS app from staying in 'Recent' section of Dock - swift

My application is an Agent (doesn't show up in dock) until one specific window is shown, before showing that window I set the following to let the dock display the icon:
NSApp.setActivationPolicy(.regular)
When the window gets closed I set the following to hide the icon from the dock:
NSApp.setActivationPolicy(.accessory)
It works on most of the machines, however on others the app icon stays in dock in 'Recent' section with no 'active' indicator. I can manually remove it via right click and selecting 'remove from dock' but it appears again the next time the window is open. Is it even a 'Recent' section? What's the API to either remove the app from there or prevent it from being added to dock when it's open?
Thank you!

Related

VS Code Terminal panel [duplicate]

Is it possible to get tabs instead of the select list when using multiple terminals from the "integrated terminal" window?
Terminal "tabs" appear to be coming to v1.56. See Terminal Tabs release notes. They are vertical tabs - always visible, if you want, in a resizable view to the left or right. Not like traditional tabs across the top like a browser though.
Tabs in the terminal [are] available as a preview feature and can be
enabled with the following setting:
"terminal.integrated.tabs.enabled": true
The tabs view is a split pane to the right of two split terminals. It
contains icons and labels for each terminal instance.
When enabled, the new tabs view will only show by default when there
is at least 2 terminals.
We've tried to mostly align how the new tabs behave with how the
explorer works, here are some of the other behaviors:
Double clicking the empty space will create a new terminal.
Double clicking the sash will toggle the tabs view width between the "ideal" size which displays all the titles without truncating and a
narrow view that shows only the icons.
The tabs can be moved to the left side using the terminal.integrated.tabs.location setting.
Various other configuration settings available under terminal.integrated.tabs.
Terminal Statuses
Along with tabs, we have introduced the concept of statuses to the
terminal. A terminal can have many statuses, each of which represents
a state the terminal can be in temporarily, with the highest severity
one being displayed next to the tab. Status icons appear to the right
of the terminal title in the tabs view. On hover, details of the
status and any associated actions are presented.
On a tab associated with a terminal that requires a relaunch, a
yellow triangle with an exclamation mark is to the right of the
terminal title.
For now, these states are supported:
Relaunch needed: A warning icon status is used if extensions want to change a terminal's environment.
Disconnected: A plug icon status is used when the terminal loses its connection with its process.
Bell: A bell icon appears when the bell is enabled via the terminal.integrated.enableBell setting and the terminal bell
triggers.
We plan to support task states soon so that task run status is
available at a glance even without activating the tab.
And more at the link. From the Insiders Build:
NO EXTENSION REQUIRED, as docs say:
Ctrl+Shift+5
If enough space, you can press it multiple times. However, as always, extensions might be more sophisticated for the job.
They are called "Terminal Tabs" and you can un-check them to turn them off. Go to your VS code setting User->Features->Terminal and look for the section called "Integrated > Tabs:Enabled" and un-check it.
Requested by the community in https://github.com/Microsoft/vscode/issues/10546
Added in release 1.57 (https://github.com/microsoft/vscode/releases)
There is an extension that does this by adding tabs to the status bar: https://marketplace.visualstudio.com/items?itemName=Tyriar.terminal-tabs

How to restore Visual Studio Code terminal dropdown - it has become icons [duplicate]

Is it possible to get tabs instead of the select list when using multiple terminals from the "integrated terminal" window?
Terminal "tabs" appear to be coming to v1.56. See Terminal Tabs release notes. They are vertical tabs - always visible, if you want, in a resizable view to the left or right. Not like traditional tabs across the top like a browser though.
Tabs in the terminal [are] available as a preview feature and can be
enabled with the following setting:
"terminal.integrated.tabs.enabled": true
The tabs view is a split pane to the right of two split terminals. It
contains icons and labels for each terminal instance.
When enabled, the new tabs view will only show by default when there
is at least 2 terminals.
We've tried to mostly align how the new tabs behave with how the
explorer works, here are some of the other behaviors:
Double clicking the empty space will create a new terminal.
Double clicking the sash will toggle the tabs view width between the "ideal" size which displays all the titles without truncating and a
narrow view that shows only the icons.
The tabs can be moved to the left side using the terminal.integrated.tabs.location setting.
Various other configuration settings available under terminal.integrated.tabs.
Terminal Statuses
Along with tabs, we have introduced the concept of statuses to the
terminal. A terminal can have many statuses, each of which represents
a state the terminal can be in temporarily, with the highest severity
one being displayed next to the tab. Status icons appear to the right
of the terminal title in the tabs view. On hover, details of the
status and any associated actions are presented.
On a tab associated with a terminal that requires a relaunch, a
yellow triangle with an exclamation mark is to the right of the
terminal title.
For now, these states are supported:
Relaunch needed: A warning icon status is used if extensions want to change a terminal's environment.
Disconnected: A plug icon status is used when the terminal loses its connection with its process.
Bell: A bell icon appears when the bell is enabled via the terminal.integrated.enableBell setting and the terminal bell
triggers.
We plan to support task states soon so that task run status is
available at a glance even without activating the tab.
And more at the link. From the Insiders Build:
NO EXTENSION REQUIRED, as docs say:
Ctrl+Shift+5
If enough space, you can press it multiple times. However, as always, extensions might be more sophisticated for the job.
They are called "Terminal Tabs" and you can un-check them to turn them off. Go to your VS code setting User->Features->Terminal and look for the section called "Integrated > Tabs:Enabled" and un-check it.
Requested by the community in https://github.com/Microsoft/vscode/issues/10546
Added in release 1.57 (https://github.com/microsoft/vscode/releases)
There is an extension that does this by adding tabs to the status bar: https://marketplace.visualstudio.com/items?itemName=Tyriar.terminal-tabs

Visual Studio Code Activity bar completely missing, Version 1.28

Just downloaded VSCode, ver 1.28 and the activity bar (left side) and the left side of the side bar are not there. This happened yesterday too, so uninstalled the program and tried again today.
I have no way to get to settings, debug, search, etc. Tried right clicking on black space and they don't show up, merely options to open a new file. If I do open (untitled) I still do not get that left part of the screen. I am comparing it to MS's user interface page (https://code.visualstudio.com/docs/getstarted/userinterface). Is it possible that I would have to change the resolution on my laptop?
Thanks.
From the menu bar at the top try
View/Apperance/Show Activity Bar
When the Activity Bar is visible, this option will show "Hide Activity Bar"
See screenshot
1.Simple go to the setting
2.Under the user settings search for Activity Bar.
3.You'd find it under the workbench.
4. Click the Activity bar visible and that's green and working.
Another way to loose Activity Bar is to accidently active Zen Mode. Check if
View/Apperance/Zen Mode
is checked and if so uncheck it.
You can also pull up the command pallet with
Ctrl + Shift + P
Then type/select
View: Toggle Activity Bar Visibility

Cocoa Swift: Connect Main Menu to Preferences Window Controller & Disabling Items like Minimise in Attributes Inspector doesn't work in Xcode?

I have a simple Menubar app in which it has 2 options - namely Preferences & Quit
After clicking on Preferences it opens a new window but doesn't show the menu bar
I tried connecting from Main Menu to the Window Controller but it doesn't work.
I drag it from the Application Name to the Window Controller or View Controller using Ctrl+Drag but still it doesn't work.
Another issue is my Preferences Window is resizing even though I unchecked the resize button in the Attributes Inspector.
Even Maximise & Minimise checkboxes are disabled but they are still showing.
Any solutions?
See NSApplication.activationPolicy.
If you want the app's main menu bar to appear, you'll need to change the activationPolicy to NSApplicationActivationPolicyRegular. Once you do that, the app's main menu will appear when your app is the active one. (It will also appear in the dock.)
If you want this to happen only when your preferences window is open, then you'll need to change the activationPolicy when the window opens, then set it back again when it closes.
You don't need to connect any outlets for this; the Main Menu should already be a resource for your app and should be loaded automatically when your app launches.
I think I had given Storyboard Id to my View Controller rather than my Window Controller so it wasn't working.
I also checked some apps like Dropbox which didn't have Main Menu Bar because it was a background or accessory app so I ditched it.
Some apps like Focus have it though. But I went with the popular choice.
As for no resizing, no minimising & no maximising goes, I pasted below code & it worked
var myWindow: NSWindow? = nil
myWindow?.styleMask.remove(NSWindow.StyleMask.resizable)
myWindow?.standardWindowButton(.miniaturizeButton)?.isEnabled=false
myWindow?.standardWindowButton(.zoomButton)?.isEnabled=false

Window icon for Gtk.MessageDialog?

I was wondering if it was possible to have a window icon placed in the dock bar for a generic MessageDialog.
For any other window, I can easily set the icon from a file; and every time I open or I hide a window, then the relative windows icon is showed in the dock bar.
I tried by different ways but i'm not able.
Is it possible?