I'm trying to get a certain behavior out of I3. As an example, lets say I'd like to have a firefox browser window on workspace 3, a chromium browser window on workspace 9 , etc. * However, I do not want to launch another firefox again and have it also appear on workspace 3 *.
For some reason, each firefox has the same WM_CLASS class / instance fields on my debian system. Too bad they didn't append natural numbers to each instance: firefox1 for the first, firefox2 for the second , etc. This is not a problem with some of the terminal emulator's e.g. gnome-terminal lets you set the WM_NAME window name, it remains static, and we can assign to that. I tried using exec xprop -name ..... -set name ..... to set the window name for the browsers from the config file, but i get no such window. I believe this is because the window name changes, as mentioned in the user guide. I can think of two ways to get my desired behavior to work. One would be a on_workspace command which I would add to the config file and its signature would be "on_workspace 9 exec chromium" or something similar, with the expected behavior launching a chromium browser on workspace 9. Another way would be to change the exec command to pass back the window id, however I'm not sure this is possible, and it doesn't seem to go with the design plan for i3. Can anybody suggest a way to achieve the behavior I'm looking for, or give me a pointer on how to implement the feature myself?
