From 70f9c9c4a6e71dd8b9f330ef0d2c698e6049fa23 Mon Sep 17 00:00:00 2001 From: joten Date: Fri, 27 Feb 2015 21:57:32 +0100 Subject: [PATCH] Revert "Moved the exclusion of elevated windows to a rule" This reverts commit 4fd0b98c9bfa44d98669e5b4a440a72028fd5a9e. --- doc/CHANGES.md | 2 ++ doc/Configuring_rules.md | 4 ++-- doc/Default_configuration.md | 41 ++++++++++++++++++------------------ src/Config.ahk | 32 +++++++++++++++------------- src/Manager.ahk | 3 +++ 5 files changed, 44 insertions(+), 38 deletions(-) diff --git a/doc/CHANGES.md b/doc/CHANGES.md index dc246c9..424c465 100644 --- a/doc/CHANGES.md +++ b/doc/CHANGES.md @@ -77,6 +77,8 @@ 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 d609c6a..2a1acee 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 14 in the default +The following `Config.ini` line replaces rule number 16 in the default configuration, putting windows of 'Mozilla Firefox' on view 5, keeping the title bar visible and maximizing them. -`Config_rule_#14=MozillaWindowClass;.*Mozilla Firefox;;1;0;16;0;1;0;maximize` +`Config_rule_#16=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 27e33d1..bb0d90a 100644 --- a/doc/Default_configuration.md +++ b/doc/Default_configuration.md @@ -275,61 +275,60 @@ 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;1;0;0;1;1;0;` +`Config_rule_#2=.*;.*;Window_isChild;0;0;0;1;1;1;` > 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;0;` +`Config_rule_#3=.*;.*;Window_isPopup;0;0;0;1;1;1;` > Pop-up windows (style WS_POPUP) will not be managed, are floating and the titles are hidden. -`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;` +`Config_rule_#4=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_#6=SWT_Window0;.*;;1;0;0;0;0;0;` +`Config_rule_#5=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_#7=Xming;.*;;1;0;0;0;0;0;` +`Config_rule_#6=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_#8=CabinetWClass;.*;;1;0;0;0;1;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;` +> Windows calculator. + +`Config_rule_#10=CabinetWClass;.*;;1;0;0;0;1;0;` > Windows Explorer. If the window's title bar is hidden, it looks distorted. -`Config_rule_#9=OperationStatusWindow;.*;;1;0;0;1;1;0;` +`Config_rule_#11=OperationStatusWindow;.*;;0;0;0;1;1;0;` > Windows Explorer dialog.These windows should also be treated as pop-up windows. -`Config_rule_#10=Chrome_WidgetWin_1;.*;;1;0;0;0;1;0;` +`Config_rule_#12=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_#11=Chrome_WidgetWin_1;.*;Window_isPopup;1;0;0;1;1;0;` +`Config_rule_#13=Chrome_WidgetWin_1;.*;Window_isPopup;0;0;0;1;1;0;` > With the preceding rule overriding #2 Chrome pop-up windows would be treated as new main windows. -`Config_rule_#12=Chrome_RenderWidgetHostHWND;.*;;0;0;0;1;1;0;` +`Config_rule_#14=Chrome_RenderWidgetHostHWND;.*;;0;0;0;1;1;0;` > These windows may represent new tabs, which should not be treated as new windows. -`Config_rule_#13=IEFrame;.*Internet Explorer;;1;0;0;0;1;0;` +`Config_rule_#15=IEFrame;.*Internet Explorer;;1;0;0;0;1;0;` > Internet Explorer. If the window's title bar is hidden, it looks distorted. -`Config_rule_#14=MozillaWindowClass;.*Mozilla Firefox;;1;0;0;0;1;0;` +`Config_rule_#16=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_#15=MozillaDialogClass;.*;;1;0;0;1;1;0;` +`Config_rule_#17=MozillaDialogClass;.*;;1;0;0;1;1;0;` > These windows should also be treated as pop-up windows. -`Config_ruleCount=15` +`Config_ruleCount=17` > 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 386fb5b..c6f6c57 100644 --- a/src/Config.ahk +++ b/src/Config.ahk @@ -80,21 +80,23 @@ 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;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. + 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. ;; Configuration management Config_autoSaveSession := "auto" ;; "off" | "auto" | "ask" diff --git a/src/Manager.ahk b/src/Manager.ahk index 7866339..1fe7ace 100644 --- a/src/Manager.ahk +++ b/src/Manager.ahk @@ -366,6 +366,9 @@ 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.