moved and revised the old doc and wiki
files from src/doc and the berliOS Wiki
This commit is contained in:
parent
52eeb776a1
commit
b2e9336357
12 changed files with 561 additions and 31 deletions
|
@ -63,13 +63,14 @@ add-on for Microsoft Windows. It is written in the scripting language
|
||||||
* [AutoHotkey](http://ahkscript.org/download/) (if running bug.n from source as
|
* [AutoHotkey](http://ahkscript.org/download/) (if running bug.n from source as
|
||||||
a script)
|
a script)
|
||||||
|
|
||||||
There is no installation wizard for bug.n. If you downloaded the repository
|
There is no installation process for bug.n. If you downloaded the repository
|
||||||
from [GitHub](../../archive/master.zip) as a zip file and unpacked it, you
|
from [GitHub](../../archive/master.zip) as a zip file and unpacked it, you
|
||||||
should be able to run either the executbale as it is or the main script
|
should be able to run either the executbale as it is or the main script
|
||||||
(src\Main.ahk) with [AutoHotkey](http://ahkscript.org/download/).
|
(src\Main.ahk) with [AutoHotkey](http://ahkscript.org/download/).
|
||||||
|
|
||||||
bug.n stores the session data (configuration, layout, window states and log) to
|
By default bug.n stores the session data (configuration, layout, window states
|
||||||
the user's APPDATA directory, e. g. C:\Users\joten\AppData\Roaming\bug.n.
|
and log) to the user's APPDATA directory, e. g.
|
||||||
|
`C:\Users\joten\AppData\Roaming\bug.n`.
|
||||||
|
|
||||||
Please see the [documentation](./doc) or the [Wiki](../../wiki) for more
|
Please see the [documentation](./doc) or the [Wiki](../../wiki) for more
|
||||||
information on installing and running, customizing and using bug.n and for a
|
information on installing and running, customizing and using bug.n and for a
|
||||||
|
|
|
@ -0,0 +1,93 @@
|
||||||
|
## Changes
|
||||||
|
|
||||||
|
##### Legend
|
||||||
|
* `-` deleted
|
||||||
|
* `~` changed
|
||||||
|
* `+` added
|
||||||
|
|
||||||
|
|
||||||
|
### 8.4.0
|
||||||
|
* `+` Session auto-save and restore. Layout and Window information is stored
|
||||||
|
periodically so that it may be recovered after a restart.
|
||||||
|
* `+` A hotkey for toggling the overflow window of the 'notify icons'.
|
||||||
|
* `+` Manual tiling.
|
||||||
|
|
||||||
|
### 8.3.0
|
||||||
|
* `~` Changed the command line argument from specifying 'the path to the
|
||||||
|
Config.ini' to 'the path to the general data directory containing the
|
||||||
|
Config.ini and log.txt'.
|
||||||
|
* `+` Multi-dimensional tiling of the master area. The user may now specify X
|
||||||
|
and Y dimensions independently up to 9 x 9.
|
||||||
|
* `+` Created bug.n log to record major and debugging events and window
|
||||||
|
information.
|
||||||
|
* `+` 'View margins' allowing a layout to occupy a limited space of the
|
||||||
|
monitor.
|
||||||
|
* `+` 'Single window action', which allows to close or maximize windows based
|
||||||
|
on rules.
|
||||||
|
* `+` 'Reload' hotkey, which reloads the whole script.
|
||||||
|
* `+` Re-Setting the 'Reload' and 'ExitApp' hotkey in 'Config.ini'-
|
||||||
|
* `+` Added the configuration variable `Config_viewNames`, with which views can
|
||||||
|
be named and the number of views can be set. The configuration variable
|
||||||
|
`Config_viewCount` therewith becomes obsolete.
|
||||||
|
* `-` Removed the configuration variable `Config_viewCount`.
|
||||||
|
* `-` Removed the explicit listing of commands in the `Bar_cmdGui`.
|
||||||
|
* `-` Removed the default rules for Gimp, since from version 2.8 onwards Gimp
|
||||||
|
can use a single application window instead of three and more.
|
||||||
|
|
||||||
|
### 8.2.1
|
||||||
|
* `+` feature #005446: Reload function (reloading bug.n without changing the
|
||||||
|
current association of windows to views/tags)
|
||||||
|
* `+` workaround bug #018364: (Evernote: new note) Introducing the
|
||||||
|
configuration variable `Config_onActiveHiddenWnds` to set the behaviour of
|
||||||
|
bug.n for already existing but hidden windows on redraw
|
||||||
|
|
||||||
|
### 8.2.0
|
||||||
|
* `-` `Config_addRunCommands` (the 'Run' item in 'command GUI').
|
||||||
|
* `-` `Config_sessionFilePath`
|
||||||
|
* `-` `Config_topBar` (replaced by `Config_verticalBarPos`.
|
||||||
|
* `~` The default values for the color (`Config_normBgColor`,
|
||||||
|
`Config_normFgColor`, `Config_selBgColor` and `Config_selFgColor`) and font
|
||||||
|
size (`Config_fontSize`) of the status bar are now retrieved from the system
|
||||||
|
settings.
|
||||||
|
* `+` Default rules
|
||||||
|
* `+` `Config_hotkey` (setting hotkeys in 'Config.ini').
|
||||||
|
* `+` `Config_horizontalBarPos` (The horizontal position of the bar: `center`,
|
||||||
|
`left` or `right` side of the monitor or an offset in pixel (px) from the left
|
||||||
|
(>= 0) or right (< 0).
|
||||||
|
* `+` `Config_verticalBarPos` (The vertical position of the bar: `top` or
|
||||||
|
`bottom` of the monitor, `tray` = sub-window of the task bar.
|
||||||
|
* `+` `Config_barWidth` (The width of the bar in pixel (px) or with a per cent
|
||||||
|
sign (%) as a percentage.
|
||||||
|
* `+` `Config_singleRowBar` (If false, the bar will have to rows, one for the
|
||||||
|
window title and one for all other GUI controls.
|
||||||
|
* `+` `Config_spaciousBar` (If true, the height of the bar will be set to a
|
||||||
|
value equal to the height of an edit control, else it will be set to the text
|
||||||
|
height.
|
||||||
|
* `+` `Config_syncMonitorViews` (The number of monitors (2 or more), for which
|
||||||
|
views should be activated, when using the accordant hotkey. If set to 1, the
|
||||||
|
views are actiated for all monitors. If set to 0, views are activated
|
||||||
|
independently (only on the active monitor).
|
||||||
|
* `~` Changed hotkeys
|
||||||
|
+ `#s` => `#^s::Config_saveSession()`
|
||||||
|
+ `#+r` => `#^r::Reload`
|
||||||
|
+ `#+q` => `#^q::ExitApp`
|
||||||
|
* `+` `#y::Bar_toggleCommandGui()` (Open the command GUI for executing
|
||||||
|
programmes or bug.n functions.)
|
||||||
|
* `+` `#^e::Run, edit, %Config_sessionFilePath%` (Open the session file in the
|
||||||
|
standard text editor.
|
||||||
|
* `+` "<" and ">" as an argument for `Monitor_activateView`.
|
||||||
|
* `+` "<" and ">" as an argument for `Monitor_setWindowTag`.
|
||||||
|
* `+` `Manager_maximizeWindow()` to 'command GUI'
|
||||||
|
* `~` The number of windows on a view is not indicated by different background
|
||||||
|
colors anymore, but by a progress bar.
|
||||||
|
* `~` The battery status is also indicated with a progress bar.
|
||||||
|
* `+` A monitor with no windows on it can now be activated by cklicking on the
|
||||||
|
desktop and therewith changing the active window.
|
||||||
|
|
||||||
|
### 8.1.0
|
||||||
|
* `-` `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.
|
||||||
|
* `+` You may now use `Monitor_activateView(">")` for cycling through the views
|
||||||
|
and `View_setLayout(">")` for cycling through the layouts.
|
69
doc/Configuring_rules.md
Normal file
69
doc/Configuring_rules.md
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
## Configuring rules
|
||||||
|
|
||||||
|
### General description
|
||||||
|
|
||||||
|
Not all windows should be managed by bug.n the same way, or even may not be
|
||||||
|
managable at all. To handle windows differently, you can add rules to the
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
With the first part of the rule, you identify the window using the
|
||||||
|
following information:
|
||||||
|
|
||||||
|
1. class (as a regular expression)
|
||||||
|
2. title (as a regular expression)
|
||||||
|
3. window style (as a hexadecimal number or blank)
|
||||||
|
|
||||||
|
With the second part you can give bug.n the following information on how to
|
||||||
|
handle the identified windows:
|
||||||
|
|
||||||
|
1. Is the window managed at all (0 = no, 1 = yes)?
|
||||||
|
2. On which monitor should the window be moved (given as an integer >= 0,
|
||||||
|
0 means the currently active monitor)?
|
||||||
|
3. On which views should the window be set (given as a binary mask converted to
|
||||||
|
an integer >= 0, 0 means the currently active view)?
|
||||||
|
4. Is the window floating, i. e. should not be tiled (0 = no, 1 = yes)?
|
||||||
|
5. Is the window decorated (0 = no, 1 = yes)? If not, the window title bar is
|
||||||
|
removed.
|
||||||
|
6. Should the title text be hidden in the bug.n bar (0 = no, 1 = yes)?
|
||||||
|
7. A special single window action (`Close` or `Maximize` or blank).
|
||||||
|
|
||||||
|
The general format of a rule added to `Config.ini` is as follows:
|
||||||
|
`Config_rule=<class>;<title>;<window style>;<is managed>;<monitor>;<views /
|
||||||
|
tags>;<is floating>;<is decorated>;<hide title>;<action on a single window>`
|
||||||
|
(all in one line, ";" is not allowed as a character in the field values)
|
||||||
|
|
||||||
|
If you want to replace a rule, which is already set in `Config.ahk`, you will
|
||||||
|
have to use the correct variable name; e. g. you may set a default rule
|
||||||
|
(identifying part: `.*;.*;`), overwriting the first rule set in `Config.ahk`,
|
||||||
|
by using the variable name `Config_rule_#1`. If you want to _add_ a rule,
|
||||||
|
simply use `Config_rule` as the variable name; the numbering will be done
|
||||||
|
automatically by bug.n when reading `Config.ini` using the order given there.
|
||||||
|
|
||||||
|
#### Views / Tags
|
||||||
|
|
||||||
|
You can set a window to more than one view. Add up the associated numbers as
|
||||||
|
shown in the following table and set the sixth field of the rule to the value
|
||||||
|
of the sum.
|
||||||
|
|
||||||
|
| view / tag | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | n | all |
|
||||||
|
| ---------------- | --- | --- | --- | --- | --- | --- | --- | --- | --- | -------------- | --- |
|
||||||
|
| number to sum up | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | `2 ** (n - 1)` | 511 |
|
||||||
|
|
||||||
|
An example would be the value `17` for views 1 and 5.
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
|
||||||
|
#### Mozilla Firefox
|
||||||
|
|
||||||
|
The following `Config.ini` line replaces rule number 11 in the default
|
||||||
|
configuration, putting windows of 'Mozilla Firefox' on view 5, keeping the
|
||||||
|
title bar visible and maximizing them.
|
||||||
|
|
||||||
|
`Config_rule_#11=MozillaWindowClass;.*Mozilla Firefox;;1;0;16;0;1;0;Maximize`
|
||||||
|
|
||||||
|
#### Mozilla Thunderbird
|
||||||
|
|
||||||
|
The following `Config.ini` line adds a rule, putting windows of 'Mozilla
|
||||||
|
Thunderbird' on view 4, keeping the title bar visible and maximizing them.
|
||||||
|
|
||||||
|
`Config_rule=MozillaWindowClass;.* - Mozilla Thunderbird;;1;0;8;0;1;0;Maximize`
|
58
doc/Customization.md
Normal file
58
doc/Customization.md
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
## Customizing bug.n
|
||||||
|
|
||||||
|
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`).
|
||||||
|
|
||||||
|
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.
|
||||||
|
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.
|
||||||
|
|
||||||
|
To set a hotkey, use the variable name `Config_hotkey` and [the hotkey notation
|
||||||
|
from AutoHotkey](http://ahkscript.org/docs/Hotkeys.htm) as value:
|
||||||
|
`Config_hotkey=<key name>::<command or function name>`.
|
||||||
|
You may overwrite default or add new hotkeys.
|
||||||
|
* To deacivate a hotkey from the default configuration, add a new line in the
|
||||||
|
format `Config_hotkey=<key name>::` (without a function name).
|
||||||
|
* To assign an external program to a new hotkey, add a line in the general
|
||||||
|
format, using the `Run` command of AutoHotkey as described in
|
||||||
|
http://ahkscript.org/docs/commands/Run.htm (`Run, Target [, WorkingDir,
|
||||||
|
Max|Min|Hide|UseErrorLevel, OutputVarPID]`).
|
||||||
|
* You may also use the `Send` command of AutoHotkey as described in
|
||||||
|
http://ahkscript.org/docs/commands/Send.htm
|
||||||
|
|
||||||
|
The available configuration variables are listed in the document
|
||||||
|
"[Default configuration](./Default_configuration.md)"; the hotkeys with their
|
||||||
|
associated functions are listed in the document
|
||||||
|
"[Default hotkeys](./Default_hotkeys.md)".
|
||||||
|
|
||||||
|
`Config_borderWidth`, `Config_borderPadding` and `Config_selBorderColor` are
|
||||||
|
especially usefull, if you are not allowed to set the design in the system
|
||||||
|
settings.
|
||||||
|
|
||||||
|
You may find a sample configuration file at
|
||||||
|
https://github.com/joten/bug.n.config.
|
||||||
|
|
||||||
|
### Re-using Win+L
|
||||||
|
|
||||||
|
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
|
||||||
|
`Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableLockWorkstation`
|
||||||
|
and locks the workstation. This than allows to set `Win+L` 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.
|
||||||
|
|
||||||
|
**WARNING**: This will permanently set a registry key.
|
|
@ -1,4 +1,4 @@
|
||||||
## Configuration variables
|
## Default setting of configuration variables
|
||||||
|
|
||||||
### Status bar
|
### Status bar
|
||||||
|
|
||||||
|
@ -107,7 +107,6 @@ the status bar.
|
||||||
`Config_readinInterval=30000`
|
`Config_readinInterval=30000`
|
||||||
> Time in milliseconds after which the above status values are refreshed.
|
> Time in milliseconds after which the above status values are refreshed.
|
||||||
|
|
||||||
|
|
||||||
### Windows ui elements
|
### Windows ui elements
|
||||||
|
|
||||||
`Config_bbCompatibility=0`
|
`Config_bbCompatibility=0`
|
||||||
|
@ -135,7 +134,6 @@ resized manually by dragging the border, even if using the according hotkey.
|
||||||
> Border colour of the active window; format: 0x00BBGGRR (e. g. `0x006A240A`,
|
> Border colour of the active window; format: 0x00BBGGRR (e. g. `0x006A240A`,
|
||||||
if =0, the system's window border colour is not changed).
|
if =0, the system's window border colour is not changed).
|
||||||
|
|
||||||
|
|
||||||
### Window arrangement
|
### Window arrangement
|
||||||
|
|
||||||
`Config_viewNames=1;2;3;4;5;6;7;8;9`
|
`Config_viewNames=1;2;3;4;5;6;7;8;9`
|
||||||
|
@ -230,24 +228,16 @@ monitor).
|
||||||
> If true (`=1`) and a window is tagged with a single tag, the view is
|
> If true (`=1`) and a window is tagged with a single tag, the view is
|
||||||
correspondingly set to the tag.
|
correspondingly set to the tag.
|
||||||
|
|
||||||
|
|
||||||
### Rules
|
### Rules
|
||||||
|
|
||||||
|
For a general description of rules and how they can be replaced or added see
|
||||||
|
the [specific documentation](./Configuring_rules.md).
|
||||||
|
|
||||||
`Config_rule_#1=.*;.*;;1;0;0;0;0;0;`
|
`Config_rule_#1=.*;.*;;1;0;0;0;0;0;`
|
||||||
> If you want to replace a default rule, you will have to use the correct
|
> By default all windows are managed, not allocated on a specific monitor or
|
||||||
variable name, e. g. you may set a rule (`.*;.*;`) for a default monitor, view
|
view, not floating (i. e. tiled), the window title bar is not visible, the
|
||||||
and / or showing window title bars by setting the first rule
|
title is not hidden on the bug.n status bar and no window action is taken, when
|
||||||
`Config_rule_#1=...` and therewith replacing the value.
|
the window first is created.
|
||||||
If you want to add a rule you do not have to use a numbered variable, but
|
|
||||||
`Config_rule=...` (the numbering will be done automatically in the order given
|
|
||||||
in the configuration file). General format:
|
|
||||||
`Config_rule_#<i>=<class (regular expression string)>;<title (regular expression
|
|
||||||
string)>;<window style (hexadecimal number or blank)>;<is managed (1 = True or
|
|
||||||
0 = False)>;<monitor (0 <= integer <= total number of monitors, 0 means the
|
|
||||||
currently active monitor)>;<tags (binary mask as integer >= 0, e. g. 17 for 1
|
|
||||||
and 5, 0 means the currently active tag)>;<is floating (1 = True or
|
|
||||||
0 = False)>;<is decorated (1 = True or 0 = False)>;<hide title (1 = True or
|
|
||||||
0 = False)>;<action on single windows (Close or Maximize)>`
|
|
||||||
(all in one line, ";" is not allowed as a character)
|
|
||||||
|
|
||||||
`Config_rule_#2=.*;.*;0x80000000;0;0;0;1;1;1;`
|
`Config_rule_#2=.*;.*;0x80000000;0;0;0;1;1;1;`
|
||||||
> Pop-up windows (style WS_POPUP=0x80000000) will not be managed, are floating
|
> Pop-up windows (style WS_POPUP=0x80000000) will not be managed, are floating
|
||||||
|
@ -277,7 +267,6 @@ reason as above.
|
||||||
> This variable will be automatically set to the total number of active rules
|
> This variable will be automatically set to the total number of active rules
|
||||||
above.
|
above.
|
||||||
|
|
||||||
|
|
||||||
### Configuration management
|
### Configuration management
|
||||||
|
|
||||||
`Config_autoSaveSession=auto`
|
`Config_autoSaveSession=auto`
|
|
@ -1,4 +1,4 @@
|
||||||
## Hotkeys
|
## Default hotkeys
|
||||||
|
|
||||||
### General description
|
### General description
|
||||||
|
|
||||||
|
@ -8,13 +8,13 @@ Possible modifiers are the following:
|
||||||
|
|
||||||
* `!` (Alt)
|
* `!` (Alt)
|
||||||
* `^` (Ctrl, Control)
|
* `^` (Ctrl, Control)
|
||||||
* `+` (Shift)
|
|
||||||
* `#` (LWin, left Windows)
|
* `#` (LWin, left Windows)
|
||||||
|
* `+` (Shift)
|
||||||
|
|
||||||
You will have to press all keys of a hotkey at the same time beginning
|
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
|
with the modifier for calling the associated function, e. g. `#^q` means
|
||||||
pressing the left Windows key and the shift key and the q key
|
pressing the left Windows key and the shift key and the q key
|
||||||
(WIN+CTRL+Q) for quitting bug.n.
|
(`Win+Ctrl+Q`) for quitting bug.n.
|
||||||
|
|
||||||
### Window management
|
### Window management
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ the layout.
|
||||||
master area takes up the whole view.
|
master area takes up the whole view.
|
||||||
|
|
||||||
### Window debugging
|
### Window debugging
|
||||||
|
|
||||||
`#^i::Debug_logViewWindowList()`
|
`#^i::Debug_logViewWindowList()`
|
||||||
> Dump window information on the windows of the active view to the log.
|
> Dump window information on the windows of the active view to the log.
|
||||||
|
|
||||||
|
@ -101,8 +102,8 @@ two log messages (`Manager_logViewWindowList` and
|
||||||
`#^+d::Debug_setLogLevel(+1)`
|
`#^+d::Debug_setLogLevel(+1)`
|
||||||
> Increment the debug log level. Show more debug messages.
|
> Increment the debug log level. Show more debug messages.
|
||||||
|
|
||||||
|
|
||||||
### Layout management
|
### Layout management
|
||||||
|
|
||||||
`#Tab::View_setLayout(-1)`
|
`#Tab::View_setLayout(-1)`
|
||||||
> Set the previously set layout. You may also use `View_setLayout(>)` for
|
> Set the previously set layout. You may also use `View_setLayout(>)` for
|
||||||
setting the next layout in the layout array.
|
setting the next layout in the layout array.
|
||||||
|
@ -165,8 +166,8 @@ the master area by Y. Minimum of 1 (only for the "tile" layout).
|
||||||
`#+Right::View_setGapWidth(+2)`
|
`#+Right::View_setGapWidth(+2)`
|
||||||
> Increase the gap between windows in "tile" layout.
|
> Increase the gap between windows in "tile" layout.
|
||||||
|
|
||||||
|
|
||||||
### View / Tag management
|
### View / Tag management
|
||||||
|
|
||||||
`#+n::View_toggleMargins()`
|
`#+n::View_toggleMargins()`
|
||||||
> Toggle the view margins, which are set by the configuration variable
|
> Toggle the view margins, which are set by the configuration variable
|
||||||
`Config_viewMargins`.
|
`Config_viewMargins`.
|
||||||
|
@ -192,8 +193,8 @@ of the previous or next adjacent to the current view.
|
||||||
> Add / Remove the n<sup><small>th</small></sup> tag (n = 1..`Config_viewCount`)
|
> 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.
|
for the active window, if it is not / is already set.
|
||||||
|
|
||||||
|
|
||||||
### Monitor management
|
### Monitor management
|
||||||
|
|
||||||
`#.::Manager_activateMonitor(+1)`
|
`#.::Manager_activateMonitor(+1)`
|
||||||
> Activate the next monitor in a multi-monitor environment.
|
> Activate the next monitor in a multi-monitor environment.
|
||||||
|
|
||||||
|
@ -216,8 +217,8 @@ a multi-monitor environment.
|
||||||
> Set all windows of the active view on the active view of the previous monitor
|
> Set all windows of the active view on the active view of the previous monitor
|
||||||
in a multi-monitor environment.
|
in a multi-monitor environment.
|
||||||
|
|
||||||
|
|
||||||
### GUI management
|
### GUI management
|
||||||
|
|
||||||
`#+Space::Monitor_toggleBar()`
|
`#+Space::Monitor_toggleBar()`
|
||||||
> Hide / Show the bar (bug.n status bar) on the active monitor.
|
> Hide / Show the bar (bug.n status bar) on the active monitor.
|
||||||
|
|
||||||
|
@ -233,7 +234,6 @@ in a multi-monitor environment.
|
||||||
`!+y::View_traceAreas()`
|
`!+y::View_traceAreas()`
|
||||||
> Indicate the areas of the "tile" layout.
|
> Indicate the areas of the "tile" layout.
|
||||||
|
|
||||||
|
|
||||||
### Administration
|
### Administration
|
||||||
|
|
||||||
`#^e::Run, edit %Config_filePath%`
|
`#^e::Run, edit %Config_filePath%`
|
66
doc/Home.md
Normal file
66
doc/Home.md
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
## bug.n -- Tiling Window Manager
|
||||||
|
|
||||||
|
bug.n is a
|
||||||
|
[tiling window manager](https://en.wikipedia.org/wiki/Tiling_window_manager)
|
||||||
|
add-on for Microsoft Windows.
|
||||||
|
|
||||||
|
This page links the resources available for information on installing and
|
||||||
|
running, customizing and using bug.n and for a list of changes made with the
|
||||||
|
current version.
|
||||||
|
|
||||||
|
#### [README](https://github.com/fuhsjr00/bug.n/blob/master/README.md)
|
||||||
|
> A description of what bug.n can do.
|
||||||
|
|
||||||
|
#### [[CHANGES|CHANGES]]
|
||||||
|
> A list of changes to the user interface (i. a. configuration variables and
|
||||||
|
hotkeys) for each version of bug.n.
|
||||||
|
|
||||||
|
#### [[Installing and running bug.n|Installing_and_running]]
|
||||||
|
> A description of how to install and run bug.n. Also described is a method to
|
||||||
|
run bug.n as Administrator to solve problems with the User Access Control of
|
||||||
|
Microsft Windows higher than Vista.
|
||||||
|
|
||||||
|
#### Usage
|
||||||
|
|
||||||
|
##### [[Using bug.n|Usage]]
|
||||||
|
> A short introduction on how to use bug.n and on concepts, like layouts and
|
||||||
|
tagging, bug.n uses.
|
||||||
|
|
||||||
|
##### [[Default hotkeys|Default_hotkeys]]
|
||||||
|
> A list of all hotkeys with their default mapping to functions and a short
|
||||||
|
description.
|
||||||
|
|
||||||
|
#### Customization
|
||||||
|
|
||||||
|
##### [[Customizing bug.n|Customization]]
|
||||||
|
> 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.
|
||||||
|
|
||||||
|
##### [[Default setting of configuration variables|Default_configuration]]
|
||||||
|
> A list of all configuration variables with their default values and a short
|
||||||
|
description.
|
||||||
|
|
||||||
|
##### [[Configuring rules|Configuring_rules]]
|
||||||
|
> A description of 'rules', bug.n uses for handling windows, and how they can
|
||||||
|
be set in `Config.ini`.
|
||||||
|
|
||||||
|
##### [[Default hotkeys|Default_hotkeys]]
|
||||||
|
> A list of all hotkeys with their default mapping to functions and a short
|
||||||
|
description.
|
||||||
|
|
||||||
|
##### [[Used hotkeys|Used_hotkeys]]
|
||||||
|
> An overview of those hotkeys, already in use by bug.n with the default
|
||||||
|
configuration. With this overview you may find unused keys, which can be used
|
||||||
|
for non-bug.n hotkeys or to reassign bug.n functions.
|
||||||
|
|
||||||
|
##### [[Xmonad hotkeys|Xmonad-hotkeys]]
|
||||||
|
> A list of hotkeys, which are similar to those used in
|
||||||
|
[Xmonad](http://xmonad.org/), a tiling window manager for the 'X windows
|
||||||
|
system' on *n?x.
|
||||||
|
|
||||||
|
##### [[User proposed hotkeys|User-hotkeys]]
|
||||||
|
> Some individual hotkeys, proposed by bug.n users.
|
||||||
|
|
||||||
|
#### [LICENSE](https://github.com/fuhsjr00/bug.n/blob/master/LICENSE.md)
|
||||||
|
> bug.n is licensed under the GNU General Public License version 3.
|
71
doc/Installing_and_running.md
Normal file
71
doc/Installing_and_running.md
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
## Installing and running bug.n
|
||||||
|
|
||||||
|
#### Requirements
|
||||||
|
|
||||||
|
* Microsoft Windows 2000 or higher
|
||||||
|
* [AutoHotkey](http://ahkscript.org/download/) (if running bug.n from source as
|
||||||
|
a script)
|
||||||
|
|
||||||
|
There is no installation process for bug.n. If you downloaded the repository
|
||||||
|
from [GitHub](../../archive/master.zip) as a zip file and unpacked it, you
|
||||||
|
should be able to run either the executbale as it is or the main script
|
||||||
|
(src\Main.ahk) with [AutoHotkey](http://ahkscript.org/download/).
|
||||||
|
|
||||||
|
You may copy bug.n anywhere you like -- at least if you have write acces
|
||||||
|
there -- e. g. `C:\Program Files\bugn` or link it to the 'Windows Start Menu'
|
||||||
|
or the 'Windows Taskbar', for example.
|
||||||
|
|
||||||
|
By default bug.n stores the session data (configuration, layout, window states
|
||||||
|
and log) to the user's APPDATA directory, e. g.
|
||||||
|
`C:\Users\joten\AppData\Roaming\bug.n`.
|
||||||
|
|
||||||
|
You may redirect the bug.n data directory by setting the first argument either
|
||||||
|
to the executable or to the main script (`Main.ahk`), when running bug.n,
|
||||||
|
e. g. `C:\Program Files\bugn\bugn.exe D:\bugn`; but you will need to have write
|
||||||
|
access to this directory.
|
||||||
|
|
||||||
|
You can run bug.n manually, either by using the executable and starting it like
|
||||||
|
any other application, or by using the main script (`Main.ahk`) and starting it
|
||||||
|
with [AutoHotkey](http://ahkscript.org/download/).
|
||||||
|
If using the script, the working directory must be the directory, where the
|
||||||
|
file `Main.ahk` is saved; therewith bug.n can find the other script files. One
|
||||||
|
possibility, to do so, is to install AutoHotkey, open the directory, where
|
||||||
|
`Main.ahk` is saved, and execute the file.
|
||||||
|
|
||||||
|
### Microsoft Windows User Access Control
|
||||||
|
|
||||||
|
If you are using bug.n on Microsoft Windows Vista or higher you may use
|
||||||
|
applications, which run with administrator privileges, e. g. 'administrative
|
||||||
|
tools'. In the case that you are running bug.n in the standard user session,
|
||||||
|
i. e. _without_ administrator privileges, bug.n will not be able to manage the
|
||||||
|
associated windows. If you want those application windows to be managed, you
|
||||||
|
need to run bug.n with administrator privileges, too.
|
||||||
|
You can set the option `Run this program as an administrator` on the
|
||||||
|
'Compatiblity' tab, section 'Privilege level' of the bug.n executable file
|
||||||
|
properties. But if you also want to run bug.n when Windows starts, you will
|
||||||
|
have to create a task in 'Task Scheduler'.
|
||||||
|
|
||||||
|
#### Create a task in 'Task Scheduler'
|
||||||
|
|
||||||
|
In Windows 7 you can create a task following the steps from the
|
||||||
|
[Windows website](http://windows.microsoft.com/en-us/windows/schedule-task#1TC=windows-7):
|
||||||
|
|
||||||
|
1. Open Task Scheduler by clicking the **Start** button, clicking
|
||||||
|
**Control Panel**, clicking **System and Security**, clicking
|
||||||
|
**Administrative Tools**, and then double-clicking **Task Scheduler**
|
||||||
|
(Administrator permission required). If you're prompted for an administrator
|
||||||
|
password or confirmation, type the password or provide confirmation.
|
||||||
|
2. Click the **Action** menu, and then click **Create Basic Task**.
|
||||||
|
3. Type a name for the task and an optional description, and then click
|
||||||
|
**Next**.
|
||||||
|
4. Click **When I log on**, and then click **Next**.
|
||||||
|
5. To schedule a program to start automatically, click **Start a program**, and
|
||||||
|
then click **Next**.
|
||||||
|
6. Click **Browse** to find the program you want to start, and then click
|
||||||
|
**Next**.
|
||||||
|
7. Select the **Open the Properties dialog for this task when I click Finish**
|
||||||
|
check box and click **Finish**.
|
||||||
|
8. In the **Properties** dialog box, select the following, and then click
|
||||||
|
**OK**.
|
||||||
|
* **Run only when user is logged on**
|
||||||
|
* **Run with highest privileges**
|
65
doc/Usage.md
Normal file
65
doc/Usage.md
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
## Using bug.n
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
The following functions can also be controlled with the mouse:
|
||||||
|
|
||||||
|
* With a click on a tag (a number on the left end of the bug.n bar) you can
|
||||||
|
change the view and show only the windows associated with that tag.
|
||||||
|
* With a right-click on a tag you can tag the active window with that tag.
|
||||||
|
* With a click on the layout symbol in the bug.n bar you can toggle the layout
|
||||||
|
to the last one used.
|
||||||
|
* With a right-click on the layout symbol you can set the layout to the next in
|
||||||
|
the list.
|
||||||
|
* A function can be selected from a list or entered in the command GUI, which
|
||||||
|
is accessible by cklickig on `#!` on the right end of the bug.n bar.
|
||||||
|
|
||||||
|
### Concepts
|
||||||
|
|
||||||
|
#### Layouts
|
||||||
|
|
||||||
|
bug.n provides three layouts.
|
||||||
|
|
||||||
|
* **tile**: A master area for the main window(s) and a stacking area for the
|
||||||
|
rest, all windows are shown at any time. This layout can be further changed in
|
||||||
|
the following respects:
|
||||||
|
+ the dimensions of the master area (1x1 ... 2x3 ... 9x9)
|
||||||
|
+ the stacking direction of the master and stacking area (from left to right,
|
||||||
|
from top to bottom or monocle)
|
||||||
|
+ the position of the master area (left, top, right or bottom) and
|
||||||
|
accordingly the position of the stacking area
|
||||||
|
+ the witdh or height of the master area (depending on its position)
|
||||||
|
* **monocle**: All windows are maximized and only one is shown at any time.
|
||||||
|
+ **floating**: Do not tile any window.
|
||||||
|
|
||||||
|
Please see the document "[Default hotkeys](./Default_hotkeys.md)" for a list of
|
||||||
|
hotkeys and their associated functions, with which you can set and manipulate
|
||||||
|
layouts.
|
||||||
|
|
||||||
|
#### Tagging
|
||||||
|
|
||||||
|
bug.n features an extended implementation of virtual desktops: _tagging_.
|
||||||
|
|
||||||
|
Windows are tagged with one or more numbers, which determine on which views
|
||||||
|
they are shown. Selecting a view shows the windows tagged with the same number
|
||||||
|
and hides all other windows.
|
||||||
|
|
||||||
|
#### Session management
|
||||||
|
|
||||||
|
bug.n features a session management, which is used for saving configuration
|
||||||
|
variables, hotkeys and internal variables; it does not restore applications,
|
||||||
|
you will have to run them manually. The configuration variables may include
|
||||||
|
those listed in the document
|
||||||
|
"[Default configuration](./Default_configuration.md)", hotkeys as
|
||||||
|
listed in the document "[Default hotkeys](./Default_hotkeys.md)" and internal
|
||||||
|
variables for the current state of bug.n, e. g. the active view (saved for each
|
||||||
|
monitor), the layout and its configuration (saved for each view) and window
|
||||||
|
states as they could be set by a rule.
|
55
doc/Used_hotkeys.md
Normal file
55
doc/Used_hotkeys.md
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
## Used hotkeys
|
||||||
|
|
||||||
|
The following tables list the base keys, i. e. a key without any modifier, and
|
||||||
|
their combination with the modifier keys (Alt: `!`, Ctrl: `^`, LWin: `#` and
|
||||||
|
Shift: `+`), which are used in bug.n. With this overview you may find unused
|
||||||
|
keys, which can be used for non-bug.n hotkeys or to reassign bug.n functions.
|
||||||
|
|
||||||
|
| Base key | `#` | `#+` | `#^` | `#+^` | `!` | `!+` |
|
||||||
|
| --------- | --- | ---- | ---- | ----- | --- | ---- |
|
||||||
|
| Down | x | x | x | | x | |
|
||||||
|
| Up | x | x | x | | x | |
|
||||||
|
| Left | x | x | x | | | |
|
||||||
|
| Right | x | x | x | | | |
|
||||||
|
| Backspace | x | | | | x | |
|
||||||
|
| Enter | | x | x | | | x |
|
||||||
|
| Space | x | x | | | | |
|
||||||
|
| Tab | x | | x | x | | |
|
||||||
|
|
||||||
|
| Base key | `#` | `#+` | `#^` | `#+^` | `!` | `!+` |
|
||||||
|
| --------- | --- | ---- | ---- | ----- | --- | ---- |
|
||||||
|
| . | x | x | | x | | |
|
||||||
|
| , | x | x | | x | | |
|
||||||
|
| - | | | | | | |
|
||||||
|
There are not many special character keys, which are on both keyboards, US and DE.
|
||||||
|
|
||||||
|
| Base key | `#` | `#+` | `#^` | `#+^` | `!` | `!+` |
|
||||||
|
| --------- | --- | ---- | ---- | ----- | --- | ---- |
|
||||||
|
| c | x | | | | | |
|
||||||
|
| d | | x | x | x | | |
|
||||||
|
| e | | | x | | | |
|
||||||
|
| f | x | x | | | | |
|
||||||
|
| h | | | x | | | |
|
||||||
|
| i | x | x | x | x | | |
|
||||||
|
| m | x | x | | | | |
|
||||||
|
| n | | x | | | | |
|
||||||
|
| q | | | x | | | |
|
||||||
|
| r | | | x | x | | |
|
||||||
|
| s | | x | x | | | |
|
||||||
|
| t | x | | x | | | |
|
||||||
|
| x | | x | | | | |
|
||||||
|
| y | x | x | | | | x |
|
||||||
|
Any letter key, which is not listed in this table, is not used.
|
||||||
|
|
||||||
|
| Base key | `#` | `#+` | `#^` | `#+^` | `!` | `!+` |
|
||||||
|
| --------- | --- | ---- | ---- | ----- | --- | ---- |
|
||||||
|
| 0 | | x | | | x | |
|
||||||
|
| 1 | x | x | x | | x | |
|
||||||
|
| 2 | x | x | x | | x | |
|
||||||
|
| 3 | x | x | x | | x | |
|
||||||
|
| 4 | x | x | x | | x | |
|
||||||
|
| 5 | x | x | x | | x | |
|
||||||
|
| 6 | x | x | x | | x | |
|
||||||
|
| 7 | x | x | x | | x | |
|
||||||
|
| 8 | x | x | x | | x | |
|
||||||
|
| 9 | x | x | x | | x | |
|
11
doc/User-hotkeys.md
Normal file
11
doc/User-hotkeys.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
## User proposed hotkeys
|
||||||
|
|
||||||
|
##### 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`) |
|
52
doc/Xmonad-hotkeys.md
Normal file
52
doc/Xmonad-hotkeys.md
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
## Xmonad hotkeys
|
||||||
|
|
||||||
|
Here follows an example for configuring hotkeys, which are similar to those of
|
||||||
|
[xmonad](http://xmonad.org/); this example was submitted for bug.n version
|
||||||
|
8.2.1.
|
||||||
|
|
||||||
|
Config_hotkey=#1::Monitor_activateView(1)
|
||||||
|
Config_hotkey=#+1::Monitor_setWindowTag(1)
|
||||||
|
Config_hotkey=#2::Monitor_activateView(2)
|
||||||
|
Config_hotkey=#+2::Monitor_setWindowTag(2)
|
||||||
|
Config_hotkey=#3::Monitor_activateView(3)
|
||||||
|
Config_hotkey=#+3::Monitor_setWindowTag(3)
|
||||||
|
Config_hotkey=#4::Monitor_activateView(4)
|
||||||
|
Config_hotkey=#+4::Monitor_setWindowTag(4)
|
||||||
|
Config_hotkey=#5::Monitor_activateView(5)
|
||||||
|
Config_hotkey=#+5::Monitor_setWindowTag(5)
|
||||||
|
Config_hotkey=#6::Monitor_activateView(6)
|
||||||
|
Config_hotkey=#+6::Monitor_setWindowTag(6)
|
||||||
|
Config_hotkey=#7::Monitor_activateView(7)
|
||||||
|
Config_hotkey=#+7::Monitor_setWindowTag(7)
|
||||||
|
Config_hotkey=#8::Monitor_activateView(8)
|
||||||
|
Config_hotkey=#+8::Monitor_setWindowTag(8)
|
||||||
|
Config_hotkey=#9::Monitor_activateView(9)
|
||||||
|
Config_hotkey=#+9::Monitor_setWindowTag(9)
|
||||||
|
Config_hotkey=#+0::Monitor_setWindowTag(0)
|
||||||
|
Config_hotkey=#^1::Monitor_toggleWindowTag(1)
|
||||||
|
Config_hotkey=#^2::Monitor_toggleWindowTag(2)
|
||||||
|
Config_hotkey=#^3::Monitor_toggleWindowTag(3)
|
||||||
|
Config_hotkey=#^4::Monitor_toggleWindowTag(4)
|
||||||
|
Config_hotkey=#^5::Monitor_toggleWindowTag(5)
|
||||||
|
Config_hotkey=#^6::Monitor_toggleWindowTag(6)
|
||||||
|
Config_hotkey=#^7::Monitor_toggleWindowTag(7)
|
||||||
|
Config_hotkey=#^8::Monitor_toggleWindowTag(8)
|
||||||
|
Config_hotkey=#^9::Monitor_toggleWindowTag(9)
|
||||||
|
Config_hotkey=#q::Reload
|
||||||
|
Config_hotkey=#+q::ExitApp
|
||||||
|
Config_hotkey=#w::Manager_activateMonitor(1)
|
||||||
|
Config_hotkey=#+w::Manager_setWindowMonitor(1)
|
||||||
|
Config_hotkey=#e::Manager_activateMonitor(2)
|
||||||
|
Config_hotkey=#+e::Manager_setWindowMonitor(2)
|
||||||
|
Config_hotkey=#t::View_toggleFloating()
|
||||||
|
Config_hotkey=#h::View_setMFactor(-0.05)
|
||||||
|
Config_hotkey=#j::View_activateWindow(+1)
|
||||||
|
Config_hotkey=#+j::View_shuffleWindow(+1)
|
||||||
|
Config_hotkey=#k::View_activateWindow(-1)
|
||||||
|
Config_hotkey=#+k::View_shuffleWindow(-1)
|
||||||
|
Config_hotkey=#l::View_setMFactor(+0.05)
|
||||||
|
Config_hotkey=#Enter::View_shuffleWindow(0)
|
||||||
|
Config_hotkey=#+c::Manager_closeWindow()
|
||||||
|
Config_hotkey=#,::View_setMSplit(+1)
|
||||||
|
Config_hotkey=#.::View_setMSplit(-1)
|
||||||
|
Config_hotkey=#Space::View_setLayout(>)
|
Loading…
Reference in a new issue