• Havoc Pennington's avatar
    Patch from Rob Adams addresses #95014 (placement issues), makes first fit · c27d8921
    Havoc Pennington authored
    2003-02-23  Havoc Pennington  <hp@pobox.com>
    
    	Patch from Rob Adams addresses #95014 (placement issues),
    	makes first fit algorithm "center tile", adds most code
    	for per-xinerama workspaces (#86682) but disables it for now.
    
    	* src/workspace.c (meta_workspace_get_work_area_for_xinerama)
    	(meta_workspace_get_work_area_all_xineramas): new xinerama
    	functions, maintain workspace->work_areas with a different
    	work area for each xinerama. However for now all the work
    	areas are the same, because haven't quite figured out how
    	_NET_WM_STRUT is supposed to work
    
    	* src/window.c: adapt to new meta_window_* xinerama APIs
    	(meta_window_get_work_area_current_xinerama): new xinerama
    	API
    	(meta_window_get_work_area_for_xinerama): new xinerama API
    	(constrain_position): be a bit more clever about which xinerama's
    	work area we choose to use.
    
    	* src/stack.c: adapt to new Xinerama API
    
    	* src/screen.c (reload_xinerama_infos): invalidate all work areas
    	(meta_screen_get_xinerama_for_rect): new function
    	(meta_screen_window_intersects_xinerama): new function
    
    	* src/place.c (find_first_fit): change to use
    	"center tiling" (center a screen full of tiled windows,
    	rather than aligning them top left). Adapt to new
    	xinerama functions.
    c27d8921
screen.c 64.9 KB