Finally got a resolved candidate
This commit is contained in:
commit
ad94306aec
10 changed files with 149 additions and 56 deletions
|
@ -1,3 +1,6 @@
|
|||
syntax: glob
|
||||
src/Config.ini
|
||||
src/Config_test.ini
|
||||
01_administration.org
|
||||
src/log.txt
|
||||
syntax: regexp
|
||||
.*[cC]onfig.*\.ini
|
||||
.+\.\w{3}~
|
||||
|
|
|
@ -245,7 +245,8 @@ Config_redirectHotkey(key)
|
|||
}
|
||||
}
|
||||
|
||||
Config_restoreLayout(filename, m) {
|
||||
Config_restoreLayout(filename, m)
|
||||
{
|
||||
Local i, var, val
|
||||
|
||||
If Not FileExist(filename)
|
||||
|
@ -260,7 +261,8 @@ Config_restoreLayout(filename, m) {
|
|||
}
|
||||
}
|
||||
|
||||
Config_restoreConfig(filename) {
|
||||
Config_restoreConfig(filename)
|
||||
{
|
||||
Local cmd, i, key, type, val, var
|
||||
|
||||
If Not FileExist(filename)
|
||||
|
|
|
@ -241,9 +241,9 @@ Main_toggleBar:
|
|||
Monitor_toggleBar()
|
||||
Return
|
||||
|
||||
#include Debug.ahk
|
||||
#Include Bar.ahk
|
||||
#Include Config.ahk
|
||||
#Include Debug.ahk
|
||||
#Include Manager.ahk
|
||||
#Include Monitor.ahk
|
||||
#Include ResourceMonitor.ahk
|
||||
|
|
|
@ -347,7 +347,8 @@ Manager__setWinProperties(wndId, isManaged, m, tags, isDecorated, isFloating, hi
|
|||
If Not Instr(Manager_allWndIds, wndId ";")
|
||||
Manager_allWndIds .= wndId ";"
|
||||
|
||||
If (isManaged) {
|
||||
If (isManaged)
|
||||
{
|
||||
Manager_managedWndIds .= wndId ";"
|
||||
Monitor_moveWindow(m, wndId)
|
||||
Manager_#%wndId%_tags := tags
|
||||
|
@ -360,10 +361,13 @@ Manager__setWinProperties(wndId, isManaged, m, tags, isDecorated, isFloating, hi
|
|||
Manager_winSet("Style", "-0xC00000", wndId)
|
||||
|
||||
a := Manager_#%wndId%_tags & (1 << (Monitor_#%m%_aView_#1 - 1))
|
||||
If a {
|
||||
If a
|
||||
{
|
||||
Manager_aMonitor := m
|
||||
Manager_winActivate(wndId)
|
||||
} Else {
|
||||
}
|
||||
Else
|
||||
{
|
||||
Manager_hideShow := True
|
||||
Manager_winHide(wndId)
|
||||
Manager_hideShow := False
|
||||
|
@ -372,8 +376,6 @@ Manager__setWinProperties(wndId, isManaged, m, tags, isDecorated, isFloating, hi
|
|||
If hideTitle
|
||||
Bar_hideTitleWndIds .= wndId . ";"
|
||||
|
||||
|
||||
|
||||
Return, a
|
||||
}
|
||||
|
||||
|
|
|
@ -10,14 +10,9 @@
|
|||
(~) changed
|
||||
(+) added
|
||||
|
||||
=8.2.2(?)=
|
||||
=8.3.0=
|
||||
|
||||
(+) Multi-dimensional tiling of the master area. The user may now specify
|
||||
X and Y dimensions independently up to 9 x 9.
|
||||
(+) Initially assign windows to the monitor on which they appear if
|
||||
nothing is specified in the configuration.
|
||||
(~) Improved view arranging runtime.
|
||||
(+) Created bug.n log to record major and debugging events.
|
||||
(~) Fixed bug #18641: Freezing problem. In most cases, bug.n will no
|
||||
longer hang when one of its managed windows hangs.
|
||||
(~) Fixed bug: Sometimes cycling through the windows in a view would
|
||||
|
@ -26,6 +21,38 @@
|
|||
a non-active monitor could cause both monitors to change views.
|
||||
(~) Gap widths are now treated identically on both "tile" and "monocle"
|
||||
layouts.
|
||||
(~) Fixed bug #18650: Unexpected monitor focus changes
|
||||
(~) Fixed bug in 'Manager_setWindowMonitor(d)' and
|
||||
'Manager_setViewMonitor(d)'
|
||||
(~) Fixed bug, which prevented bug.n from Main_reload, if the number of
|
||||
monitors changed.
|
||||
(~) Fixed bug: Closing Bar_cmdGui and activating the next to last window.
|
||||
(~) Fixed bug: Vertical position of Bar_cmdGui, if
|
||||
Config_verticalBarPos=tray and the task bar is at the top of the
|
||||
monitor.
|
||||
(~) Fixed bug: On Main_reload() and Config_verticalBarPos=tray.
|
||||
(~) 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.
|
||||
(+) Initially assign windows to the monitor on which they appear if
|
||||
nothing is specified in the configuration.
|
||||
(+) 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=
|
|
@ -97,6 +97,12 @@
|
|||
The default values are retrieved from the "Window Color and Appearance"
|
||||
settings.
|
||||
|
||||
: **Config_barCommands**=Run, explore docs;Monitor_toggleBar();Main_reload();Reload;ExitApp
|
||||
The commands seperated by semicolon, which are listed in the command GUI
|
||||
of the bar (#!) and therewith can be selected rather then typed; bug.n
|
||||
functions (as used in the hotkey configuration), the "Run" and "Send"
|
||||
command of AutoHotkey can be used here.
|
||||
|
||||
: **Config_readinBat**=0
|
||||
If true (=1), the system battery status is read in and displayed in the
|
||||
status bar. This only makes sense, if you have a system battery
|
||||
|
@ -110,6 +116,18 @@
|
|||
If true (=1), the current date is read in (format: "WW, DD. MMM. YYYY")
|
||||
and displayed in the status bar.
|
||||
|
||||
: **Config_readinDiskLoad**=0
|
||||
If true (=1), the current disk load (read and write) is read in and
|
||||
displayed in the status bar.
|
||||
|
||||
: **Config_readinMemoryUsage**=0
|
||||
If true (=1), the system memory usage is read in and displayed in the
|
||||
status bar.
|
||||
|
||||
: **Config_readinNetworkLoad**=0
|
||||
If true (=1), the current network load (up and down) is read in and
|
||||
displayed in the status bar.
|
||||
|
||||
: **Config_readinTime**=1
|
||||
If true (=1), the current time is read in (format: "HH:MM") and
|
||||
displayed in the status bar.
|
||||
|
@ -156,9 +174,11 @@ settings.
|
|||
|
||||
=== View / Layout ===
|
||||
|
||||
: **Config_viewCount**=9
|
||||
The total number of views. This has effects on the displayed groups in
|
||||
the bar, and should not be exceeded in the hotkeys below.
|
||||
: **Config_viewNames**=1;2;3;4;5;6;7;8;9
|
||||
The names of the views separated by a semicolon. This variable sets the
|
||||
names of the views shown in the status bar and determines the nummber of
|
||||
views (Config_viewCount); the total number of names given, i. e. views,
|
||||
should not be exceeded by the configured hotkeys.
|
||||
|
||||
: **Config_layout_#1**=[]=;tile
|
||||
The layout symbol and arrange function (the first entry is set as the
|
||||
|
@ -182,17 +202,39 @@ settings.
|
|||
The stack axis: 1 = x (from left to right), 2 = y (from top to
|
||||
bottom), 3 = z (monocle).
|
||||
|
||||
: **Config_layoutGapWidth=0
|
||||
The default gap width in px (only even numbers) of the "tile" layout,
|
||||
i. e. the space between windows and around the layout.
|
||||
|
||||
: **Config_layoutMFactor**=0.6
|
||||
The factor for the size of the master area, which is multiplied by the
|
||||
monitor size.
|
||||
|
||||
: **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.
|
||||
|
||||
|
||||
=== Runtime ===
|
||||
|
||||
: **Config_ghostWndSubString**= (Not Responding)
|
||||
The text string, which identifies a hung window in its title bar; the
|
||||
german Windows version uses " (Keine Rückmeldung)".
|
||||
|
||||
: **Config_mouseFollowsFocus**=1
|
||||
If true (=1), the mouse pointer is set over the focused window, if a
|
||||
window is activated by bug.n.
|
||||
|
||||
: **Config_newWndPosition=top
|
||||
The position of a new window in a view; "top": at the beginning of the
|
||||
window list and the master area (default), "masterBottom": at the end
|
||||
of the master area, "stackTop": on top of the stack area, "bottom": at
|
||||
the end of the window list and the stack area.
|
||||
|
||||
: **Config_onActiveHiddenWnds**=view
|
||||
The action, which will be taken, if a window e. g. should be
|
||||
activated, but is not visible; "view": show the view accordng to the
|
||||
|
@ -208,7 +250,7 @@ settings.
|
|||
: **Config_syncMonitorViews**=0
|
||||
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
|
||||
activated for all monitors. If set to 0, views are activated
|
||||
independently (only on the active monitor).
|
||||
|
||||
: **Config_viewFollowsTagged**=0
|
||||
|
@ -218,7 +260,7 @@ settings.
|
|||
|
||||
=== Rules ===
|
||||
|
||||
: **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 variable name, e. g. you may set a rule (.*;.*;) for a default
|
||||
monitor, view and / or showing window title bars by setting the first
|
||||
|
@ -226,39 +268,39 @@ settings.
|
|||
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
|
||||
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)>
|
||||
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 and the titles are hidden.
|
||||
|
||||
: **Config_rule_#3**=SWT_Window0;.*;;1;0;0;0;0;0
|
||||
: **Config_rule_#3**=SWT_Window0;.*;;1;0;0;0;0;0;
|
||||
Windows created by Java (SWT) e. g. Eclipse have the style WS_POPUP,
|
||||
but should excluded from the above rule.
|
||||
but should be excluded from the second rule.
|
||||
|
||||
: **Config_rule_#4**=Xming;.*;;1;0;0;0;0;0
|
||||
Xming windows have the style WS_POPUP, but should be excluded from
|
||||
the above rule.
|
||||
: **Config_rule_#4**=QWidget;.*;;1;0;0;0;0;0;
|
||||
Also windows created by QT (QWidget) should be excluded from the second
|
||||
rule for the same reason as above.
|
||||
|
||||
: **Config_rule_#5**=MsiDialog(No)?CloseClass;.*;;1;0;0;1;1;0"
|
||||
: **Config_rule_#6**=AdobeFlashPlayerInstaller;.*;;1;0;0;1;0;1"
|
||||
: **Config_rule_#7**=CalcFrame;.*;;1;0;0;1;1;0"
|
||||
: **Config_rule_#8**=_sp;_sp;;1;0;0;1;0;1"
|
||||
: **Config_rule_#9**=MozillaDialogClass;.*;;1;0;0;1;1;0"
|
||||
: **Config_rule_#10**=gdkWindowToplevel;GIMP-Start;;1;0;0;1;1;0"
|
||||
: **Config_rule_#11**=gdkWindowToplevel;GNU Image Manipulation Program;;1;0;0;1;1;0"
|
||||
: **Config_rule_#12**=gdkWindowToplevel;Werkzeugkasten;;1;0;0;1;1;0"
|
||||
: **Config_rule_#13**=gdkWindowToplevel;Ebenen, .* - Pinsel, Muster, .*;;1;0;0;1;1;0"
|
||||
: **Config_rule_#14**=gdkWindowToplevel;Toolbox;;1;0;0;1;1;0"
|
||||
: **Config_rule_#15**=gdkWindowToplevel;Layers, Channels, Paths, .*;;1;0;0;1;1;0"
|
||||
: **Config_rule_#5**=Xming;.*;;1;0;0;0;0;0;
|
||||
Also Xming windows should be excluded from the second rule for the same
|
||||
reason as above.
|
||||
|
||||
: **Config_rule_#6**=MsiDialog(No)?CloseClass;.*;;1;0;0;1;1;0;
|
||||
: **Config_rule_#7**=AdobeFlashPlayerInstaller;.*;;1;0;0;1;0;1;
|
||||
: **Config_rule_#8**=CalcFrame;.*;;1;0;0;1;1;0;
|
||||
: **Config_rule_#9**=MozillaDialogClass;.*;;1;0;0;1;1;0;
|
||||
: **Config_rule_#10**=_sp;_sp;;1;0;0;1;0;1;
|
||||
: **Config_rule_#11**=MozillaWindowClass;.* - Mozilla Firefox;;1;0;0;0;1;0;Maximize
|
||||
: **Config_rule_#12**=Chrome_WidgetWin_1;.*;;1;0;0;0;1;0;Maximize
|
||||
|
||||
|
||||
=== Session management ===
|
|
@ -71,7 +71,7 @@ There are three layouts.
|
|||
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 ... 9x9)
|
||||
- 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)
|
||||
|
@ -120,7 +120,7 @@ path to the configuration file (<file path to the bug.n executable>
|
|||
If you are using bug.n on Microsoft Windows Vista or 7 you may use
|
||||
applications, which run with administrator privileges e. g.
|
||||
administrative tools and therefor are not managed by bug.n, if it is
|
||||
run with an account, which //is// not the administrator. If you want
|
||||
run with an account, which is //not// the administrator. If you want
|
||||
those applications 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
|
|
@ -136,19 +136,27 @@ pressing the left Windows key and the shift key and the q key
|
|||
|
||||
: #^Left::**View_setMX(-1)**
|
||||
Decrease the master X dimension by 1, i. e. decrease the number of
|
||||
windows in the master area by Y. Minimum of 1.
|
||||
windows in the master area by Y. Minimum of 1 (only for the "tile"
|
||||
layout).
|
||||
|
||||
: #^Right::**View_setMX(+1)
|
||||
Increase the master X dimension by 1, i. e. increase the number of
|
||||
windows in the master area by Y. Maximum of 9.
|
||||
windows in the master area by Y. Maximum of 9 (only for the "tile"
|
||||
layout).
|
||||
|
||||
: #^Down::**View_setMY(-1)**
|
||||
Decrease the master Y dimension by 1, i.e. decrease the number of
|
||||
windows in the master area by X. Minimum of 1.
|
||||
windows in the master area by X. Minimum of 1 (only for the "tile"
|
||||
layout).
|
||||
|
||||
: #^Up::**View_setMY(+1)**
|
||||
Increase the master Y dimension by 1, i.e. increase the number of
|
||||
windows in the master area by X. Maximum of 9.
|
||||
windows in the master area by X. Maximum of 9 (only for the "tile"
|
||||
layout).
|
||||
|
||||
: #+n::**View_toggleMargins()**
|
||||
Toggle the view margins, which are set by the configuration variable
|
||||
"Config_viewMargins".
|
||||
|
||||
|
||||
=== Tag / View related hotkeys ===
|
||||
|
@ -207,20 +215,22 @@ pressing the left Windows key and the shift key and the q key
|
|||
|
||||
=== Logging/Debugging related hotkeys ===
|
||||
|
||||
: #^i::**Manager_logViewWindowList()**
|
||||
Dump the contents of the current view to the bug.n log.
|
||||
: #^i::**Debug_logViewWindowList()**
|
||||
Dump window information on the windows of the active view to the log.
|
||||
|
||||
: #+^i::**Manager_logManagedWindowList()**
|
||||
Dump the contents of the managed window list to the bug.n log.
|
||||
: #+^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::**Manager_logHelp()**
|
||||
Print to the log a description of the formatting used in the
|
||||
previous two log messages.
|
||||
: #^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.
|
||||
|
||||
: #^[::**Log_decDebugLevel()**
|
||||
: #^d::**Debug_setLogLevel(-1)**
|
||||
Decrement the debug log level. Show fewer debug messages.
|
||||
|
||||
: #^]::**Log_incDebugLevel()**
|
||||
: #^+d::**Debug_setLogLevel(+1)**
|
||||
Increment the debug log level. Show more debug messages.
|
||||
|
||||
|
||||
|
@ -240,12 +250,19 @@ pressing the left Windows key and the shift key and the q key
|
|||
Reload bug.n (i. e. the configuration and its dependent settings)
|
||||
without deleting the window lists of bug.n and restoring windows.
|
||||
! It does not reset internal configuration variables, the tray icon or
|
||||
menu, hotkeys (unless set explicitly in Config.ini), individual window
|
||||
menu, hotkeys (unless defined in Config.ini), individual window
|
||||
settings like Config_showBorder (since windows might be hidden) or
|
||||
hiding the title bar, the monitor count or views.
|
||||
! It does not reload the monitor configuration and therefor does not
|
||||
recognize any changes in the number of monitors.
|
||||
! It does not reload functions.
|
||||
! Changed rules are only applied to new windows.
|
||||
|
||||
: #^+r::**Reload**
|
||||
Reload bug.n (i. e. the whole script), which resets the configuration,
|
||||
the bar, the monitor configuration and window lists of bug.n. It is
|
||||
like Quitting and restarting bug.n.
|
||||
|
||||
: #^q::**ExitApp
|
||||
Quit bug.n, restore the default Windows UI and show all windows.
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Loading…
Reference in a new issue