This project is read-only.

Cannot get rule for internet explorer to catch

Jan 13, 2014 at 1:23 AM
I've tried several different ways to make a rule for Internet Explorer, but none of them seems to catch, and that application keeps showing up on the wrong workspace. Here is what winspy++ 1.7 says:

Class: Internet Explorer_Server (Unicode)
Style: 56000000 (visible, enabled)
Window Proc: N/A
Window Styles: WS_CHILD WS_VISIBLE WS_CLIPSIBLINGS WS_CLIPCHILDREN

I tried keying off of the class name as well as the process name (IEXPLORE.EXE) but could not get it to open on the correct workspace. Here are the rules I tried, I put them first in the list to avoid other rules interfering):
    ProgramRule(
        processName = "^IEXPLORE",
        rules = [ProgramRule.Rule(workspace = 2)]
    ),
    ProgramRule(
        className = "^Internet Explorer",
        rules = [ProgramRule.Rule(workspace = 2)]
    ),
Could you help me figure out why my Internet Explorer windows keep showing up in workspace 1? These are the first two rules in my rule set.
Jan 14, 2014 at 12:30 PM
Edited Jan 14, 2014 at 12:32 PM
I am only able to test this on IE 11 right now. This works for me:
        ProgramRule(
            className = "^IEFrame$",
            rules = [ProgramRule.Rule(workspace = 2)]
        ),
For older IE's I am fairly certain that processName = "^IEXPLORE" should work, but I cannot confirm it.
Jan 14, 2014 at 1:33 PM
Thank you, I am using IE11, but for some reason
processName = "^IEXPLORE"
was not having the desired effect. However, I was able to make it work using your suggestion
className = "^IEFrame$"
Thank you for the help,

-Tyler
Jan 14, 2014 at 1:36 PM
And of course it's obvious. It looks like for IE11 they changed the executable name to iexplore.exe instead of IEXPLORE.exe