Revised the formatting of hotkeys

This commit is contained in:
joten 2015-03-15 16:32:09 +01:00
parent 402ba02876
commit 377c524c62
9 changed files with 124 additions and 110 deletions

View File

@ -189,6 +189,7 @@ desktop and therewith changing the active window.
* `-` `Config_showTitleBars`
* `~` `Config_rules` have two more parameters (window style and if the window
is decorated; this replaces `Config_showTitleBars`).
* `+` `LWin+Shift+X` maximizes a window to the bug.n workspace.
* `+` <kbd>Win</kbd><kbd>Shift</kbd><kbd>X</kbd>` maximizes a window to the
bug.n workspace.
* `+` You may now use `Monitor_activateView(">")` for cycling through the views
and `View_setLayout(">")` for cycling through the layouts.

View File

@ -40,4 +40,4 @@ summarizes these sources (of ideas or code):
+ [Crazy Scripting : Quick Launcher for Portable Apps](http://www.autohotkey.com/forum/topic22398.html)
+ [HDD Activity Monitoring LED](http://www.autohotkey.com/community/viewtopic.php?p=113890&sid=64d9824fdf252697ff4d5026faba91f8#p113890)
+ How to Hook on to Shell to receive its messages? (AutoHotkey forum)
* Unambiguous: Re-use WIN+L as a hotkey in bug.n (AutoHotkey forum)
* Unambiguous: Re-use <kbd>Win</kbd><kbd>L</kbd> as a hotkey in bug.n (AutoHotkey forum)

View File

@ -4,15 +4,15 @@ bug.n can be customized by setting configuration variables and hotkeys (the key
bindings for the bug.n functions).
To change either of them, first create a configuration file (`Config.ini`) by
using the hotkey `#^s`, i. e. `Win+Ctrl+S`. The file is either saved in the
directory you specified with the parameter to the executable or script when
running bug.n, or in the Windows user directory (e. g.
`C:\Users\joten\AppData\Roaming\bug.n`).
using the hotkey `#^s`, i. e. <kbd>Win</kbd><kbd>Ctrl</kbd><kbd>S</kbd>. The
file is either saved in the directory you specified with the parameter to the
executable or script when running bug.n, or in the Windows user directory
(e. g. `C:\Users\joten\AppData\Roaming\bug.n`).
You may then edit the file with a text editor, i. a. using the hotkey `#^e`
(`Win+Ctrl+E`), and add a new line for each configuration variable with its
value; the general format is `<variable>=<value>` not using quotation marks
surrounding the values.
(<kbd>Win</kbd><kbd>Ctrl</kbd><kbd>E</kbd>), and add a new line for each
configuration variable with its value; the general format is
`<variable>=<value>` not using quotation marks surrounding the values.
If you want to set a boolean value, use `1` for "True" and `0` for "False";
e. g. `Config_showBar=0`. You will have to reload bug.n for the changes to take
effect.
@ -42,17 +42,20 @@ settings.
You may find a sample configuration file at
https://github.com/joten/bug.n.config.
### Re-using Win+L
### Re-using <kbd>Win</kbd><kbd>L</kbd>
The hotkey `#l` (`Win+L`) is set by Microsoft Windows to lock the workstation.
If you want to use it as a hotkey in bug.n, you can bind another hotkey, e. g.
`#^+l` (`Win+Ctrl+Shift+L`), to the lock function by using the bug.n-function
`Manager_lockWorkStation()`, which i. a. sets the registry key
The hotkey `#l` (<kbd>Win</kbd><kbd>L</kbd>) is set by Microsoft Windows to
lock the workstation. If you want to use it as a hotkey in bug.n, you can bind
another hotkey, e. g. `#^+l`
(<kbd>Win</kbd><kbd>Ctrl</kbd><kbd>Shift</kbd><kbd>L</kbd>), to the lock
function by using the bug.n-function `Manager_lockWorkStation()`, which i. a.
sets the registry key
`Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableLockWorkstation`
and locks the workstation. This than allows to set `Win+L` as a hotkey in
`Config.ini`.
and locks the workstation. This than allows to set <kbd>Win</kbd><kbd>L</kbd> as
a hotkey in `Config.ini`.
If `Win+L` still locks the workstation, use the new keybinding for locking the
workstation at least once and therewith set the needed registry key.
If <kbd>Win</kbd><kbd>L</kbd> still locks the workstation, use the new
keybinding for locking the workstation at least once and therewith set the
needed registry key.
**WARNING**: This will permanently set a registry key.

View File

@ -1,5 +1,9 @@
## Default setting of configuration variables
The configuration variables, as you can set them in `Config.ini`, are noted in
the format `Conifg_<identifier>=<value>`; you may copy the string from ` ` and
use it as a templete for a new line in `Config.ini`.
### Status bar
`Config_showBar=1`
@ -260,9 +264,10 @@ correspondingly set to the tag.
`Config_viewMargins=0;0;0;0`
> The margin of a view (around the layout, "monocle" and "tile") as a semicolon
separated list of values in px (top;right;bottom;left), which by default can be
activated per view with the hotkey Win+Shift+N (`View_toggleMargins`).
With view margins you may create an empty area on the monitor, which is not
occupied by the layout, therewith making a desktop widget visible.
activated per view with the hotkey <kbd>Win</kbd><kbd>Shift</kbd><kbd>N</kbd>
(`View_toggleMargins`). With view margins you may create an empty area on the
monitor, which is not occupied by the layout, therewith making a desktop widget
visible.
### Rules

View File

@ -3,280 +3,285 @@
### General description
The hotkeys, as you can set them in `Config.ini`, are noted in the format
`<modifier><key>::<function>(<argument>)`.
`Conifg_hotkey=<modifier><key>::<function>(<argument>)`; you may copy the
string from ` ` and use it as a templete for a new line in `Config.ini`.
Possible modifiers are the following:
* `!` (Alt)
* `^` (Ctrl, Control)
* `#` (LWin, left Windows)
* `+` (Shift)
* `!` (<kbd>Alt</kbd>)
* `^` (<kbd>Ctrl</kbd>, Control)
* `#` (<kbd>Win</kbd> / LWin, left Windows)
* `+` (<kbd>Shift</kbd>)
You will have to press all keys of a hotkey at the same time beginning with the
modifier for calling the associated function, e. g. `#^q` means pressing the
left 'Windows key' and the 'Control key' and the 'Q key' (`Win+Ctrl+Q`) for
quitting bug.n.
left 'Windows key' and the 'Control key' and the 'Q key'
(<kbd>Win</kbd><kbd>Ctrl</kbd><kbd>Q</kbd>) for quitting bug.n.
### Window management
`#Down::View_activateWindow(0, +1)`
`Conifg_hotkey=#Down::View_activateWindow(0, +1)`
> Activate the next window in the active view.
`#Up::View_activateWindow(0, -1)`
`Conifg_hotkey=#Up::View_activateWindow(0, -1)`
> Activate the previous window in the active view.
`#+Down::View_shuffleWindow(0, +1)`
`Conifg_hotkey=#+Down::View_shuffleWindow(0, +1)`
> Move the active window to the next position in the window list of the view.
`#+Up::View_shuffleWindow(0, -1)`
`Conifg_hotkey=#+Up::View_shuffleWindow(0, -1)`
> Move the active window to the previous position in the window list of the view.
`#+Enter::View_shuffleWindow(1)`
`Conifg_hotkey=#+Enter::View_shuffleWindow(1)`
> Move the active window to the first position in the window list of the view.
You may also move the active window to any other absolute position in the
window list by using the first parameter.
`#c::Manager_closeWindow()`
`Conifg_hotkey=#c::Manager_closeWindow()`
> Close the active window.
`#+d::Window_toggleDecor()`
`Conifg_hotkey=#+d::Window_toggleDecor()`
> Show / Hide the title bar of the active window.
`#+f::View_toggleFloatingWindow()`
`Conifg_hotkey=#+f::View_toggleFloatingWindow()`
> Toggle the floating status of the active window (i. e. dis- / regard it when
tiling).
`#^m::Manager_minimizeWindow()`
`Conifg_hotkey=#^m::Manager_minimizeWindow()`
> Minimize the active window; this implicitly makes the window floating.
`#+m::Manager_moveWindow()`
`Conifg_hotkey=#+m::Manager_moveWindow()`
> Move the active window by key (only floating windows).
`#+s::Manager_sizeWindow()`
`Conifg_hotkey=#+s::Manager_sizeWindow()`
> Resize the active window by key (only floating windows).
`#+x::Manager_maximizeWindow()`
`Conifg_hotkey=#+x::Manager_maximizeWindow()`
> Move and resize the active window to the size of the work area (only floating
windows).
`#i::Manager_getWindowInfo()`
`Conifg_hotkey=#i::Manager_getWindowInfo()`
> Get information for the active window (id, title, class, process name, style,
geometry, tags and floating state).
`#+i::Manager_getWindowList()`
`Conifg_hotkey=#+i::Manager_getWindowList()`
> Get a window list for the active view (id, title and class).
`!Down::View_moveWindow(0, +1)`
`Conifg_hotkey=!Down::View_moveWindow(0, +1)`
> Manually move the active window to the next area in the layout.
`!Up::View_moveWindow(0, -1)`
`Conifg_hotkey=!Up::View_moveWindow(0, -1)`
> Manually move the active window to the previous area in the layout.
`!+Enter::Manager_maximizeWindow()`
`Conifg_hotkey=!+Enter::Manager_maximizeWindow()`
> Move and resize the active window to the size of the work area (only floating
windows).
`!<n>::View_moveWindow(<n>)`
`Conifg_hotkey=!<n>::View_moveWindow(<n>)`
> Manually move the active window to the n<sup><small>th</small></sup> area in
the layout (n = 1..9).
`!0::View_moveWindow(10)`
`Conifg_hotkey=!0::View_moveWindow(10)`
> Manually move the active window to the n<sup><small>th</small></sup> area in
the layout.
`!BackSpace::View_toggleStackArea()`
`Conifg_hotkey=!BackSpace::View_toggleStackArea()`
> Toggle the stack area of the layout. If the stack area is disabled, the
master area takes up the whole view.
### Window debugging
`#^i::Debug_logViewWindowList()`
`Conifg_hotkey=#^i::Debug_logViewWindowList()`
> Dump window information on the windows of the active view to the log.
`#+^i::Debug_logManagedWindowList()`
`Conifg_hotkey=#+^i::Debug_logManagedWindowList()`
> Dump window information on the contents of the managed window list (floating
and tiled windows of all views) to the log.
`#^h::Debug_logHelp()`
`Conifg_hotkey=#^h::Debug_logHelp()`
> Print a description of the formatting (column headings) used in the previous
two log messages (`Manager_logViewWindowList` and
`Manager_logManagedWindowList`) to the log.
`#^d::Debug_setLogLevel(0, -1)`
`Conifg_hotkey=#^d::Debug_setLogLevel(0, -1)`
> Decrement the debug log level. Show fewer debug messages. You may also set
the debug log level to an absolute value by using the first parameter.
`#^+d::Debug_setLogLevel(0, +1)`
`Conifg_hotkey=#^+d::Debug_setLogLevel(0, +1)`
> Increment the debug log level. Show more debug messages. You may also set
the debug log level to an absolute value by using the first parameter.
### Layout management
`#Tab::View_setLayout(-1)`
`Conifg_hotkey=#Tab::View_setLayout(-1)`
> Set the previously set layout. You may also use `View_setLayout(0, +1)` for
setting the next or `View_setLayout(0, -1)` for setting the previous layout in
the layout array.
`#f::View_setLayout(3)`
`Conifg_hotkey=#f::View_setLayout(3)`
> Set the 3<sup><small>rd</small></sup> defined layout (i. e. floating layout
in the default configuration).
`#m::View_setLayout(2)`
`Conifg_hotkey=#m::View_setLayout(2)`
> Set the 2<sup><small>nd</small></sup> defined layout (i. e. monocle layout in
the default configuration).
`#t::View_setLayout(1)`
`Conifg_hotkey=#t::View_setLayout(1)`
> Set the 1<sup><small>st</small></sup> defined layout (i. e. tile layout in
the default configuration).
`#Left::View_setLayoutProperty("MFactor", 0, -0.05)`
`Conifg_hotkey=#Left::View_setLayoutProperty(MFactor, 0, -0.05)`
> Reduce the size of the master area in the active view (only for the "tile"
layout). You may also set an additional parameter for accelerating the third
one. E. g. with `#Left::View_setLayoutProperty(MFactor, 0, -0.05, 2)` the
first step, by which the master area is reduced, is -0.0016% and will be
doubled with consecutive calls until it reaches -0.05%.
one. E. g. with
`Conifg_hotkey=#Left::View_setLayoutProperty(MFactor, 0, -0.05, 2)` the first
step, by which the master area is reduced, is -0.0016% and will be doubled with
consecutive calls until it reaches -0.05%.
With the second parameter you may set an absolute value, e. g.
'View_setLayoutProperty(MFactor, 0.5, 0)' splits the view in half.
`#Right::View_setLayoutProperty("MFactor", 0, +0.05)`
`Conifg_hotkey=#Right::View_setLayoutProperty(MFactor, 0, +0.05)`
> Enlarge the size of the master area in the active view (only for the "tile"
layout). You may also set a additional parameter for accelerating the third
one. E. g. with `#Right::View_setLayoutProperty(MFactor, 0, +0.05, 0.5)` the
one. E. g. with
`Conifg_hotkey=#Right::View_setLayoutProperty(MFactor, 0, +0.05, 0.5)` the
first step, by which the master area is reduced, is 0.05%, but with consecutive
calls it will be halved until it reaches 0.0016%.
With the second parameter you may set an absolute value, e. g.
'View_setLayoutProperty(MFactor, 0.67, 0)' makes the master area two thirds
and the stacking area one third the size of the view.
`#^t::View_setLayoutProperty("Axis", 0, +1, 1)`
`Conifg_hotkey=#^t::View_setLayoutProperty(Axis, 0, +1, 1)`
> Rotate the layout axis (i. e. 2 -> 1 = vertical layout, 1 -> 2 = horizontal
layout, only for the "tile" layout).
`#^Enter::View_setLayoutProperty("Axis", 0, +2, 1)`
`Conifg_hotkey=#^Enter::View_setLayoutProperty(Axis, 0, +2, 1)`
> Mirror the layout axis (i. e. -1 -> 1 / 1 -> -1 = master on the left / right
side, -2 -> 2 / 2 -> -2 = master at top / bottom, only for the "tile" layout).
`#^Tab::View_setLayoutProperty("Axis", 0, +1, 2)`
`Conifg_hotkey=#^Tab::View_setLayoutProperty(Axis, 0, +1, 2)`
> Rotate the master axis (i. e. 3 -> 1 = x-axis = horizontal stack, 1 -> 2 =
y-axis = vertical stack, 2 -> 3 = z-axis = monocle, only for the "tile" layout).
`#^+Tab::View_setLayoutProperty("Axis", 0, +1, 3)`
`Conifg_hotkey=#^+Tab::View_setLayoutProperty(Axis, 0, +1, 3)`
> Rotate the stack axis (i. e. 3 -> 1 = x-axis = horizontal stack, 1 -> 2 =
y-axis = vertical stack, 2 -> 3 = z-axis = monocle, only for the "tile" layout).
`#^Up::View_setLayoutProperty("MY", 0, +1)`
`Conifg_hotkey=#^Up::View_setLayoutProperty(MY, 0, +1)`
> Increase the master Y dimension by 1, i.e. increase the number of windows in
the master area by X. Maximum of 9 (only for the "tile" layout).
`#^Down::View_setLayoutProperty("MY", 0, -1)`
`Conifg_hotkey=#^Down::View_setLayoutProperty(MY, 0, -1)`
> Decrease the master Y dimension by 1, i.e. decrease the number of windows in
the master area by X. Minimum of 1 (only for the "tile" layout).
`#^Right::View_setLayoutProperty("MX", 0, +1)`
`Conifg_hotkey=#^Right::View_setLayoutProperty(MX, 0, +1)`
> Increase the master X dimension by 1, i. e. increase the number of windows in
the master area by Y. Maximum of 9 (only for the "tile" layout).
`#^Left::View_setLayoutProperty("MX", 0, +1)`
`Conifg_hotkey=#^Left::View_setLayoutProperty(MX, 0, +1)`
> Decrease the master X dimension by 1, i. e. decrease the number of windows in
the master area by Y. Minimum of 1 (only for the "tile" layout).
`#+Left::View_setLayoutProperty("GapWidth", 0, -2)`
`Conifg_hotkey=#+Left::View_setLayoutProperty(GapWidth, 0, -2)`
> Decrease the gap between windows in "monocle" and "tile" layout. You may also
set an absolute value for the gap width by using the first parameter, e. g.
`View_setLayoutProperty(GapWidth, 0, 0)` will eliminate the gap and
`View_setLayoutProperty(GapWidth, 20, 0)` will set it to 20px.
`#+Right::View_setLayoutProperty("GapWidth", 0, +2)`
`Conifg_hotkey=#+Right::View_setLayoutProperty(GapWidth, 0, +2)`
> Increase the gap between windows in "monocle" and "tile" layout.
### View / Tag management
`#+n::View_toggleMargins()`
`Conifg_hotkey=#+n::View_toggleMargins()`
> Toggle the view margins, which are set by the configuration variable
`Config_viewMargins`.
`#BackSpace::Monitor_activateView(-1)`
`Conifg_hotkey=#BackSpace::Monitor_activateView(-1)`
> Activate the previously activated view. You may also use
`Monitor_activateView(0, -1)` or `Monitor_activateView(0, +1)` for activating
the previous or next adjacent view.
`#+0::Monitor_setWindowTag(10)`
`Conifg_hotkey=#+0::Monitor_setWindowTag(10)`
> Tag the active window with all tags (n = 1..`Config_viewCount`). You may also
use `Monitor_setWindowTag(0, -1)` or `Monitor_setWindowTag(0, +1)` for setting
the tag of the previous or next adjacent to the current view.
`#<n>::Monitor_activateView(<n>)`
`Conifg_hotkey=#<n>::Monitor_activateView(<n>)`
> Activate the n<sup><small>th</small></sup> view (n = 1..`Config_viewCount`).
`#+<n>::Monitor_setWindowTag(<n>)`
`Conifg_hotkey=#+<n>::Monitor_setWindowTag(<n>)`
> Tag the active window with the n<sup><small>th</small></sup> tag (n =
1..`Config_viewCount`).
`#^<n>::Monitor_toggleWindowTag(<n>)`
`Conifg_hotkey=#^<n>::Monitor_toggleWindowTag(<n>)`
> Add / Remove the n<sup><small>th</small></sup> tag (n = 1..`Config_viewCount`)
for the active window, if it is not / is already set.
### Monitor management
`#.::Manager_activateMonitor(0, +1)`
`Conifg_hotkey=#.::Manager_activateMonitor(0, +1)`
> Activate the next monitor in a multi-monitor environment. You may also
activate a specific monitor by using the first parameter, e. g.
`Manager_activateMonitor(1)` will activate the first monitor.
`#,::Manager_activateMonitor(0, -1)`
`Conifg_hotkey=#,::Manager_activateMonitor(0, -1)`
> Activate the previous monitor in a multi-monitor environment.
`#+.::Manager_setWindowMonitor(0, +1)`
`Conifg_hotkey=#+.::Manager_setWindowMonitor(0, +1)`
> Set the active window's view to the active view on the next monitor in a
multi-monitor environment. You may also set the active window on a specific
monitor by using the first parameter, e. g. `Manager_setWindowMonitor(1)` will
set the active window on the first monitor.
`#+,::Manager_setWindowMonitor(0, -1)`
`Conifg_hotkey=#+,::Manager_setWindowMonitor(0, -1)`
> Set the active window's view to the active view on the previous monitor in a
multi-monitor environment.
`#^+.::Manager_setViewMonitor(0, +1)`
`Conifg_hotkey=#^+.::Manager_setViewMonitor(0, +1)`
> Set all windows of the active view on the active view of the next monitor in
a multi-monitor environment. You may also set all windows of the active view on
a specific monitor by using the first parameter, e. g.
`Manager_setViewMonitor(1)` will set all windows of the active view on the
first monitor.
`#^+,::Manager_setViewMonitor(0, -1)`
`Conifg_hotkey=#^+,::Manager_setViewMonitor(0, -1)`
> Set all windows of the active view on the active view of the previous monitor
in a multi-monitor environment.
### GUI management
`#+Space::Monitor_toggleBar()`
`Conifg_hotkey=#+Space::Monitor_toggleBar()`
> Hide / Show the bar (bug.n status bar) on the active monitor.
`#Space::Monitor_toggleTaskBar()`
`Conifg_hotkey=#Space::Monitor_toggleTaskBar()`
> Hide / Show the task bar.
`#y::Bar_toggleCommandGui()`
`Conifg_hotkey=#y::Bar_toggleCommandGui()`
> Open the command GUI for executing programmes or bug.n functions.
`#+y::Monitor_toggleNotifyIconOverflowWindow()`
`Conifg_hotkey=#+y::Monitor_toggleNotifyIconOverflowWindow()`
> Toggle the overflow window of the 'notify icons'.
`!+y::View_traceAreas()`
`Conifg_hotkey=!+y::View_traceAreas()`
> Indicate the areas of the "tile" layout.
### Administration
`#^e::Run, edit %Config_filePath%`
> Open the configuration file in the standard text editor.
`Conifg_hotkey=#^e::Run, edit <Config_filePath>`
> Open the configuration file in the standard text editor. If you want to set
this hotkey in `Config.ini`, you have to replace `<Config_filePath>` with an
explicit file path.
`#^s::Config_UI_saveSession()`
`Conifg_hotkey=#^s::Config_UI_saveSession()`
> Save the current state of monitors, views, layouts to the configuration file.
`#^r::Reload`
`Conifg_hotkey=#^r::Reload`
> Reload bug.n (i. e. the whole script), which resets i. a. the configuration
and internal variables of bug.n, including the window lists. It is like
Quitting and restarting bug.n.
If `Config_autoSaveSession` is not set to `off`, the window lists can be
restored and windows are put to their associated monitor and views.
`#^q::ExitApp`
`Conifg_hotkey=#^q::ExitApp`
> Quit bug.n, restore the default Windows UI and show all windows.

View File

@ -44,8 +44,8 @@ description.
##### [Customizing bug.n](./Customization.md)
> A description on how to customize bug.n by setting configuration variables
and hotkeys. Also described is a method to re-use the hotkey `Win+L`, which is
blocked by the Windows function to lock the screen.
and hotkeys. Also described is a method to re-use the hotkey <kbd>Win</kbd><kbd>L</kbd>,
which is blocked by the Windows function to lock the screen.
##### [Default setting of configuration variables](./Default_configuration.md)
> A list of all configuration variables with their default values and a short

View File

@ -4,11 +4,11 @@ bug.n is mostly controlled with hotkeys. The available hotkeys are listed in
the document "[Default hotkeys](./Default_hotkeys.md)". For a quick help there
are the following hotkeys:
* `#y` (`Win+Y`): Show the command GUI, which allows you to enter
bug.n-functions.
* `#Space` (`Win+Space`): Show / Hide the Windows Taskbar.
* `#^q` (`Win+Ctrl+Q`): Quit bug.n and restore all windows and Windows UI
elements.
* `#y` (<kbd>Win</kbd><kbd>Y</kbd>): Show the command GUI, which allows you to
enter bug.n-functions.
* `#Space` (<kbd>Win</kbd><kbd>Space</kbd>): Show / Hide the Windows Taskbar.
* `#^q` (<kbd>Win</kbd><kbd>Ctrl</kbd><kbd>Q</kbd>): Quit bug.n and restore all
windows and Windows UI elements.
The following functions can also be controlled with the mouse:

View File

@ -2,13 +2,13 @@
#### User: jbremer (2012-Oct-27 19:33, bug.n 8.2.1)
| Hotkey | Alias to | Description |
| ------ | ------------ | -------------------------------------------------------------------------------------------------- |
| `#x` | `#Backspace` | toggle view (duplicate of `#Backspace`, but `#x` types much easier) |
| `#j` | `#Down` | window down |
| `#k` | `#Up` | window up |
| `#t` | - | launch a terminal (`Run, C:\Program Files\mintty.exe -`) |
| `#b` | - | launch terminal with an ssh connection (`Run, C:\Program Files\mintty.exe /bin/ssh user@hostname`) |
| Hotkey | Alias to | Description |
| ------ | ------------ | ---------------------------------------------------------------------------------------------------- |
| `#x` | `#Backspace` | toggle view (duplicate of `#Backspace`, but `#x` types much easier) |
| `#j` | `#Down` | window down |
| `#k` | `#Up` | window up |
| `#t` | - | launch a terminal (`Run, C:\Program Files\mintty.exe -`) |
| `#b` | - | launch a terminal with an ssh connection (`Run, C:\Program Files\mintty.exe /bin/ssh user@hostname`) |
#### Xmonad hotkeys

View File

@ -504,7 +504,7 @@ Manager_onShellMessage(wParam, lParam) {
;; @todo: There are two problems with the use of Manager_hideShow:
;; 1) If Manager_hideShow is set when we hit this block, we won't take some actions that should eventually be taken.
;; This _may_ explain why some windows never get picked up when spamming Win+e
;; This _may_ explain why some windows never get picked up when spamming Win+E
;; 2) There is a race condition between the time that Manager_hideShow is checked and any other action which we are
;; trying to protect against. If another process (hotkey) enters a hideShow block after Manager_hideShow has
;; been checked here, bad things could happen. I've personally observed that windows may be permanently hidden.