Prevent Sublime Text sidebar from taking keyboard focus - sublimetext

I recently upgraded to Sublime Text 4. One change is that whenever I click in the sidebar, it takes over keyboard focus. After that I have to click back in an editor pane to give it focus again.
As far as I can tell, Sublime Text 3 didn't do that and I don't recall every having to configure that. I don't find it useful for the sidebar to ever have keyboard focus. Is there a way to turn it off so that clicking the sidebar does not give it keyboard focus?

Please note that this behavior only occurs when you click on the currently focused file in the sidebar. Clicking on any other file, whether it's currently open or not, switches the focus to that file. There is no documented setting or API function controlling this.
If this does happen, you can resume focus of the tab group that was previously focused by hitting Ctrl + the number of the group (1-indexed) your file is in. So, for example, if you have 2 tab groups open and the file you were working on is in group 2, hit Ctrl2. If the window isn't split (so there's just one group), hit Ctrl1.

Related

COCOA: cursor not jumping to next control on tab press

Here is my form:
Cursor is jumping fine from First Name fo Phone but when I press TAB on phone it goes to First Name instead of Country
I have set the NextKeyView but still its not going to country when pressing TAB on Phone Feild
Hit ctrl+F7 and try again. You may not have keyboard navigation enabled (as a user), which may skip the pop up.
(source: weba11y.com)
You need to change the following from System Preferences:
OSX lets the cursor stop only on text fields not on listbox or popup buttons. This is an expected behaviour and rarely someone tries to change it.
You can change this behaviour but that would be a bad UX since this change will affect all the applications in the system.

Is there a way to make the displayed tab in Firefox "follow" the opened Inspector window(s)?

When I am debugging frontend work, I frequently have multiple Inspector windows open at the same time, each inspecting a different page. As I change Inspector windows, I would like the displayed tab or window to follow me. In other words, I would like the browser to always automatically change to the page I am inspecting; I do not want to change Inspector windows, then go to the browser and find the corresponding tab or window myself.
Is this possible in Firefox? Is it possible in any browser?
(I realize I could dock the Inspector to each tab or window. I do not want to do that because I use the multiple Inspector windows side-by-side for comparison.)
While I am not aware of any way to switch to the target browser tab when selecting a given inspector window, you can certainly do it the other way around:
Say you have 3 tabs opened, and you have opened devtools for each them, in window-mode (undocked). Now, whenever you select any of these 3 tabs, if you just hit F12 (or ctrl+shift+I/cmd+alt+I), then the corresponding devtools window will be brought to the front.
That's an easy way to keep track of which devtools window is linked to which browser tab.
Now, doing this the other way around would require a new feature to be implemented. This can't really be automatic (or at least hidden behind a config of some sorts) because it could be considered frustrating to some users, having their current tab being switched away from each time they click in a devtools window.
I have filed this bug to get it done: https://bugzilla.mozilla.org/show_bug.cgi?id=1163646

Xcode: More efficient keyboard-based "back" navigation

In Xcode when we hold the mouse down on the "Back" arrow in the panel above the editor area, we get a popup window showing our navigation history. This is also a standard navigation behavior, seen in most Web browsers.
My question: Is there a keyboard shortcut (or XCode plugin) to pop open this Navigation History popup, so we can use arrow keys and quickly move a selection bar down to the item in the history list we would like to navigate to?
Rationale: When working in a given class, we tend to flip back and forth quite a few times between the .m and .h files for the class. Each flip creates an entry in the navigation history. So, to move back to the prior class we were editing, using keyboard shortcuts only, we need to hit the "go back" keyboard shortcut many times, undoing each flip between header/implementation. Seeing the list visually allows us to quickly identify and scroll down to the desired class in the history list, navigating directly there. When editing code, allowing the hands to remain on the keyboard is better.
Another solution could be: A keyboard shortcut to move back to the previous class (or .xib or other "significant" navigation item) rather than the previous file.
Is there a keyboard shortcut (or XCode plugin) to pop open this Navigation History popup
Yes. The standard key binding is Ctrl2, as indicated above. You can check the key bindings panel in Xcode's preferences for the current key binding on your system if there's any chance that you might have changed it.

Xcode 4 - detach the console/log window

Is it possible to detach the console/log window in Xcode 4?
Even better, how?
Go to Xcode preferences, and open the Behavior tab.
Tell Xcode to open a tab called "Debugger" when "Run Pauses" or "Run Starts". Then run it, and break that Debugging tab out into another window (drag it off the tab bar into its own window by just letting it drop outside the current window). Now reform it to your hearts content; it will stay that way. Also don't forget the little controls at the top right of the console window that slide the local variable display out of the way so you can have a full-width console on demand. I am not sure about keyboard shortcuts for that yet.
I usually keep the Debugging tab and one other tab in a separate window, for debugging tasks, and all my other editing tabs in a different window (and the debugging window on a separate monitor with the simulator). With the settings above it also means that, while editing a debugger reaching a breakpoint, it will not interrupt my editing by suddenly bringing forth the console.
Sure, create a new tab, drag it off the original window, and expand the debugger area to be the whole tab. Now, whether Xcode will remember that tab and its placement is another matter. File a bug with Apple to let them know your displeasure.
Taking jshier's advice a step further, you can do File -> New Window, and expand the debug window to take up the entire window. But you have to manually expand it every time you open it. Ugh.

Tab order in tab control with nested dialogs (WS_EX_CONTROLPARENT)

In a Win32 API C++ project, I have a dialog with a tab control (3 tabs) and 3 dialogs that are children of the tab control. I load the main dialog with tab control using DialogBoxParam, and the child dialogs from resources with CreateDialogParam. The main dialog appears with the child dialogs. Clicking the tabs shows/hides the correct child dialog, everything working fine.
After searching around about tab orders I found the WS_EX_CONTROLPARENT style to set on the tab control to get tabbing working into the child dialog windows. This works great, except for one problem: The tab control itself never gets focus, so I can't tab to the tab control to change to a different tab with the keyboard. Keyboard focus goes through the child dialog, to the buttons on the main dialog, then directly back to the child dialog, and never stops on the tab control itself, so I have to click on the tab control to change tabs. It's driving me crazy. Any suggestions?
Update: I managed to work around the problem by forgetting about WS_EX_CONTROLPARENT completely, and making the child dialogs siblings of the tab control. Only side effect seems to be more flashing of controls during a repaint, but would still like an answer, since making the child dialogs children of the tab seems cleaner.
Its not cleaner. The recommended way to create tabbed dialogs is to make the tab pages children of the dialog. The tab control simply controls which of the pages is visible, but is not their parent.
This is especially important when you might try to get XP themeing working on the dialog.
WS_EX_CONTROLPARENT is a style intended to be set on the actual 'tab' dialogs.
I presume you have set WS_TABSTOP on the tab control itself? I imagine that WS_TABSTOP and WS_EX_CONTROLPARENT conflict when simultaneously set as they tell the dialog manager to do two entirely different and conflicting - things when the tab cycle reaches the control.
Lastly, I cannot see any reason at all that flickering should increase because the dialog pages are children of the dialog rather than the tab control.
You can't AFAIK because tabbing cycles through the child controls of a dialog by design. Best you could do is preprocess the tab keydown event and if its after the focus is on the last control in the dialog, focus the tab page and discard the event. Not cleaner than the solution you already have it seems to me.

Resources