8. The system of claim 6 , wherein the changing display states comprise active window states, and wherein the windows are grouped based on frequencies of the switches between windows.
6. A system comprising: at least one processor; and a memory operatively connected to the at least one processor and comprising stored therein instructions that, when executed by the at least one processor, cause the at least one processor to implement a method for grouping windows, the method comprising: collecting window events associated with the windows; modeling states of the windows based on the collected window events, wherein different states of the windows correspond to different sets of the collected window events; and assigning various ones of the windows to various different groups based on the modeled states; modeling, based on the window events, changing display states of the windows over a period of time, wherein changes in how the windows are displayed comprise switches between windows over time, wherein the modeled changing display states indicate changes in displayed sizes and/or locations of windows and co-presence on the display; and clustering the windows based on the modeled display states.