diff --git a/doc/CHANGES.md b/doc/CHANGES.md index 424c465..dc246c9 100644 --- a/doc/CHANGES.md +++ b/doc/CHANGES.md @@ -77,8 +77,6 @@ called with the window ID as a paramater, when applying the rule. | | `+` `Config_rule_#13` | | | | | `+` `Config_rule_#14` | | | | | `+` `Config_rule_#15` | | | -| | `+` `Config_rule_#16` | | | -| | `+` `Config_rule_#17` | | | ### 8.4.0 diff --git a/doc/Configuring_rules.md b/doc/Configuring_rules.md index 2a1acee..d609c6a 100644 --- a/doc/Configuring_rules.md +++ b/doc/Configuring_rules.md @@ -55,11 +55,11 @@ An example would be the value `17` for views 1 and 5. #### Mozilla Firefox -The following `Config.ini` line replaces rule number 16 in the default +The following `Config.ini` line replaces rule number 14 in the default configuration, putting windows of 'Mozilla Firefox' on view 5, keeping the title bar visible and maximizing them. -`Config_rule_#16=MozillaWindowClass;.*Mozilla Firefox;;1;0;16;0;1;0;maximize` +`Config_rule_#14=MozillaWindowClass;.*Mozilla Firefox;;1;0;16;0;1;0;maximize` #### Mozilla Thunderbird diff --git a/doc/Default_configuration.md b/doc/Default_configuration.md index bb0d90a..27e33d1 100644 --- a/doc/Default_configuration.md +++ b/doc/Default_configuration.md @@ -275,60 +275,61 @@ view, not floating (i. e. tiled), the window title bar is not visible, the title is not hidden on the bug.n status bar and no window action is taken, when the window first is created. -`Config_rule_#2=.*;.*;Window_isChild;0;0;0;1;1;1;` +`Config_rule_#2=.*;.*;Window_isChild;1;0;0;1;1;0;` > Child windows (style WS_CHILD) will not be managed, are floating and the titles are hidden. -`Config_rule_#3=.*;.*;Window_isPopup;0;0;0;1;1;1;` +`Config_rule_#3=.*;.*;Window_isPopup;0;0;0;1;1;0;` > Pop-up windows (style WS_POPUP) will not be managed, are floating and the titles are hidden. -`Config_rule_#4=QWidget;.*;;1;0;0;0;0;0;` +`Config_rule_#4=.*;.*;Window_isElevated;0;0;0;1;1;0;` +> Windows created by applications run as administrator cannot be managed by +bug.n and are therefor excluded. If a higher numbered rule also covers elevated +windows, it would precede rule #4 and therefor needs to be followed by an +additional rule, which again would exclude those windows identified by the +rule, but which are elevated. + +`Config_rule_#5=QWidget;.*;;1;0;0;0;0;0;` > Windows created by QT (QWidget) have the style WS_POPUP, but should be excluded from the preceding rule. -`Config_rule_#5=SWT_Window0;.*;;1;0;0;0;0;0;` +`Config_rule_#6=SWT_Window0;.*;;1;0;0;0;0;0;` > Also windows created by Java (SWT) e. g. Eclipse should be excluded from the second rule for the same reason as above. -`Config_rule_#6=Xming;.*;;1;0;0;0;0;0;` +`Config_rule_#7=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_#7=MsiDialog(No)?CloseClass;.*;;1;0;0;1;1;0; - Config_rule_#8=AdobeFlashPlayerInstaller;.*;;1;0;0;1;0;0; - -`Config_rule_#9=CalcFrame;.*;;1;0;0;1;1;0;` -> Windows calculator. - -`Config_rule_#10=CabinetWClass;.*;;1;0;0;0;1;0;` +`Config_rule_#8=CabinetWClass;.*;;1;0;0;0;1;0;` > Windows Explorer. If the window's title bar is hidden, it looks distorted. -`Config_rule_#11=OperationStatusWindow;.*;;0;0;0;1;1;0;` +`Config_rule_#9=OperationStatusWindow;.*;;1;0;0;1;1;0;` > Windows Explorer dialog.These windows should also be treated as pop-up windows. -`Config_rule_#12=Chrome_WidgetWin_1;.*;;1;0;0;0;1;0;` +`Config_rule_#10=Chrome_WidgetWin_1;.*;;1;0;0;0;1;0;` > Chrome web browser. If the window's title bar is hidden, it looks distorted. -`Config_rule_#13=Chrome_WidgetWin_1;.*;Window_isPopup;0;0;0;1;1;0;` +`Config_rule_#11=Chrome_WidgetWin_1;.*;Window_isPopup;1;0;0;1;1;0;` > With the preceding rule overriding #2 Chrome pop-up windows would be treated as new main windows. -`Config_rule_#14=Chrome_RenderWidgetHostHWND;.*;;0;0;0;1;1;0;` +`Config_rule_#12=Chrome_RenderWidgetHostHWND;.*;;0;0;0;1;1;0;` > These windows may represent new tabs, which should not be treated as new windows. -`Config_rule_#15=IEFrame;.*Internet Explorer;;1;0;0;0;1;0;` +`Config_rule_#13=IEFrame;.*Internet Explorer;;1;0;0;0;1;0;` > Internet Explorer. If the window's title bar is hidden, it looks distorted. -`Config_rule_#16=MozillaWindowClass;.*Mozilla Firefox;;1;0;0;0;1;0;` +`Config_rule_#14=MozillaWindowClass;.*Mozilla Firefox;;1;0;0;0;1;0;` > Firefox web browser. If the window's title bar is hidden, it looks distorted. -`Config_rule_#17=MozillaDialogClass;.*;;1;0;0;1;1;0;` +`Config_rule_#15=MozillaDialogClass;.*;;1;0;0;1;1;0;` > These windows should also be treated as pop-up windows. -`Config_ruleCount=17` +`Config_ruleCount=15` > This variable will be automatically set to the total number of active rules above. diff --git a/src/Config.ahk b/src/Config.ahk index c6f6c57..386fb5b 100644 --- a/src/Config.ahk +++ b/src/Config.ahk @@ -80,23 +80,21 @@ Config_init() { ;; Config_rule_# := ";;<function name>;<is managed>;<m>;<tags>;<is floating>;<is decorated>;<hide title>;<action>" Config_rule_#1 := ".*;.*;;1;0;0;0;0;0;" - Config_rule_#2 := ".*;.*;Window_isChild;0;0;0;1;1;1;" - Config_rule_#3 := ".*;.*;Window_isPopup;0;0;0;1;1;1;" - Config_rule_#4 := "QWidget;.*;;1;0;0;0;0;0;" - Config_rule_#5 := "SWT_Window0;.*;;1;0;0;0;0;0;" - Config_rule_#6 := "Xming;.*;;1;0;0;0;0;0;" - Config_rule_#7 := "MsiDialog(No)?CloseClass;.*;;1;0;0;1;1;0;" - Config_rule_#8 := "AdobeFlashPlayerInstaller;.*;;1;0;0;1;0;0;" - Config_rule_#9 := "CalcFrame;.*;;1;0;0;1;1;0;" - Config_rule_#10 := "CabinetWClass;.*;;1;0;0;0;1;0;" - Config_rule_#11 := "OperationStatusWindow;.*;;0;0;0;1;1;0;" - Config_rule_#12 := "Chrome_WidgetWin_1;.*;;1;0;0;0;1;0;" - Config_rule_#13 := "Chrome_WidgetWin_1;.*;Window_isPopup;0;0;0;1;1;0;" - Config_rule_#14 := "Chrome_RenderWidgetHostHWND;.*;;0;0;0;1;1;0;" - Config_rule_#15 := "IEFrame;.*Internet Explorer;;1;0;0;0;1;0;" - Config_rule_#16 := "MozillaWindowClass;.*Mozilla Firefox;;1;0;0;0;1;0;" - Config_rule_#17 := "MozillaDialogClass;.*;;1;0;0;1;1;0;" - Config_ruleCount := 17 ;; This variable has to be set to the total number of active rules above. + Config_rule_#2 := ".*;.*;Window_isChild;1;0;0;1;1;0;" + Config_rule_#3 := ".*;.*;Window_isPopup;0;0;0;1;1;0;" + Config_rule_#4 := ".*;.*;Window_isElevated;0;0;0;1;1;0;" + Config_rule_#5 := "QWidget;.*;;1;0;0;0;0;0;" + Config_rule_#6 := "SWT_Window0;.*;;1;0;0;0;0;0;" + Config_rule_#7 := "Xming;.*;;1;0;0;0;0;0;" + Config_rule_#8 := "CabinetWClass;.*;;1;0;0;0;1;0;" + Config_rule_#9 := "OperationStatusWindow;.*;;1;0;0;1;1;0;" + Config_rule_#10 := "Chrome_WidgetWin_1;.*;;1;0;0;0;1;0;" + Config_rule_#11 := "Chrome_WidgetWin_1;.*;Window_isPopup;1;0;0;1;1;0;" + Config_rule_#12 := "Chrome_RenderWidgetHostHWND;.*;;0;0;0;1;1;0;" + Config_rule_#13 := "IEFrame;.*Internet Explorer;;1;0;0;0;1;0;" + Config_rule_#14 := "MozillaWindowClass;.*Mozilla Firefox;;1;0;0;0;1;0;" + Config_rule_#15 := "MozillaDialogClass;.*;;1;0;0;1;1;0;" + Config_ruleCount := 15 ;; This variable has to be set to the total number of active rules above. ;; Configuration management Config_autoSaveSession := "auto" ;; "off" | "auto" | "ask" diff --git a/src/Manager.ahk b/src/Manager.ahk index 1fe7ace..7866339 100644 --- a/src/Manager.ahk +++ b/src/Manager.ahk @@ -366,9 +366,6 @@ Manager_manage(preferredMonitor, preferredView, wndId) tags := 1 << (preferredView - 1) } - If Window_isElevated(wndId) - isManaged := 0 - a := Manager__setWinProperties( wndId, isManaged, m, tags, isDecorated, isFloating, hideTitle, action) ; Do view placement.