def place(data):
global _data
if data.client:
- if not windowplacement.ignore_requested_positions:
+ if not (windowplacement.ignore_requested_positions and
+ data.client.normal()):
if data.client.positionRequested(): return
state = _create_state(data)
try:
# ignore_requested_positions - When true, the placement algorithm will ###
### attempt to place windows even when they ###
### request a position (like XMMS). ###
+### Note this only applies to normal windows, ###
+### not to special cases like desktops and ###
+### docks. ###
ignore_requested_positions = 0 ###
### ###
##############################################################################
def random(data):
"""Place windows randomly around the screen."""
if not data.client: return
- if not ignore_requested_positions:
+ if not (ignore_requested_positions and data.client.normal()):
if data.client.positionRequested(): return
client_area = data.client.area()
frame_size = data.client.frame.size()
def cascade(data):
"""Place windows in a cascading order from top-left to bottom-right."""
if not data.client: return
- if not ignore_requested_positions:
+ if not (ignore_requested_positions and data.client.normal()):
if data.client.positionRequested(): return
client_area = data.client.area()
frame_size = data.client.frame.size()