mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	Move map functionality into shell
Initial surface.attach makes the surface visible and clients can set the surface type using shell.set_transient etc or other interfaces prior to that.
This commit is contained in:
		
							parent
							
								
									98d8256b8e
								
							
						
					
					
						commit
						a2db57517b
					
				
					 1 changed files with 33 additions and 28 deletions
				
			
		| 
						 | 
					@ -176,6 +176,39 @@
 | 
				
			||||||
      <arg name="id" type="new_id" interface="wl_selection"/>
 | 
					      <arg name="id" type="new_id" interface="wl_selection"/>
 | 
				
			||||||
    </request>
 | 
					    </request>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Make the surface visible as a toplevel window. -->
 | 
				
			||||||
 | 
					    <request name="set_toplevel">
 | 
				
			||||||
 | 
					      <arg name="surface" type="object" interface="wl_surface"/>
 | 
				
			||||||
 | 
					    </request>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Map the surface relative to an existing surface. The x and y
 | 
				
			||||||
 | 
					         arguments specify the locations of the upper left corner of
 | 
				
			||||||
 | 
					         the surface relative to the upper left corner of the parent
 | 
				
			||||||
 | 
					         surface.  The flags argument controls overflow/clipping
 | 
				
			||||||
 | 
					         behaviour when the surface would intersect a screen edge,
 | 
				
			||||||
 | 
					         panel or such.  And possibly whether the offset only
 | 
				
			||||||
 | 
					         determines the initial position or if the surface is locked
 | 
				
			||||||
 | 
					         to that relative position during moves. -->
 | 
				
			||||||
 | 
					    <request name="set_transient">
 | 
				
			||||||
 | 
					      <arg name="surface" type="object" interface="wl_surface"/>
 | 
				
			||||||
 | 
					      <arg name="parent" type="object" interface="wl_surface"/>
 | 
				
			||||||
 | 
					      <arg name="x" type="int"/>
 | 
				
			||||||
 | 
					      <arg name="y" type="int"/>
 | 
				
			||||||
 | 
					      <arg name="flags" type="uint"/>
 | 
				
			||||||
 | 
					    </request>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <!-- Map the surface as a fullscreen surface.  There are a number
 | 
				
			||||||
 | 
					         of options here: on which output? if the surface size doesn't
 | 
				
			||||||
 | 
					         match the output size, do we scale, change resolution, or add
 | 
				
			||||||
 | 
					         black borders? is that something the client controls?  what
 | 
				
			||||||
 | 
					         about transient surfaces, do they float on top of the
 | 
				
			||||||
 | 
					         fullscreen? what if there's already a fullscreen surface on
 | 
				
			||||||
 | 
					         the output, maybe you can only go fullscreen if you're
 | 
				
			||||||
 | 
					         active?  -->
 | 
				
			||||||
 | 
					    <request name="set_fullscreen">
 | 
				
			||||||
 | 
					      <arg name="surface" type="object" interface="wl_surface"/>
 | 
				
			||||||
 | 
					    </request>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- The configure event asks the client to resize its surface.
 | 
					    <!-- The configure event asks the client to resize its surface.
 | 
				
			||||||
         The size is a hint, in the sense that the client is free to
 | 
					         The size is a hint, in the sense that the client is free to
 | 
				
			||||||
         ignore it if it doesn't resize, pick a smaller size (to
 | 
					         ignore it if it doesn't resize, pick a smaller size (to
 | 
				
			||||||
| 
						 | 
					@ -346,34 +379,6 @@
 | 
				
			||||||
      <arg name="y" type="int"/>
 | 
					      <arg name="y" type="int"/>
 | 
				
			||||||
    </request>
 | 
					    </request>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <!-- Make the surface visible as a toplevel window. -->
 | 
					 | 
				
			||||||
    <request name="map_toplevel"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Map the surface relative to an existing surface. The x and y
 | 
					 | 
				
			||||||
         arguments specify the locations of the upper left corner of
 | 
					 | 
				
			||||||
         the surface relative to the upper left corner of the parent
 | 
					 | 
				
			||||||
         surface.  The flags argument controls overflow/clipping
 | 
					 | 
				
			||||||
         behaviour when the surface would intersect a screen edge,
 | 
					 | 
				
			||||||
         panel or such.  And possibly whether the offset only
 | 
					 | 
				
			||||||
         determines the initial position or if the surface is locked
 | 
					 | 
				
			||||||
         to that relative position during moves. -->
 | 
					 | 
				
			||||||
    <request name="map_transient">
 | 
					 | 
				
			||||||
      <arg name="parent" type="object" interface="wl_surface"/>
 | 
					 | 
				
			||||||
      <arg name="x" type="int"/>
 | 
					 | 
				
			||||||
      <arg name="y" type="int"/>
 | 
					 | 
				
			||||||
      <arg name="flags" type="uint"/>
 | 
					 | 
				
			||||||
    </request>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- Map the surface as a fullscreen surface.  There are a number
 | 
					 | 
				
			||||||
         of options here: on which output? if the surface size doesn't
 | 
					 | 
				
			||||||
         match the output size, do we scale, change resolution, or add
 | 
					 | 
				
			||||||
         black borders? is that something the client controls?  what
 | 
					 | 
				
			||||||
         about transient surfaces, do they float on top of the
 | 
					 | 
				
			||||||
         fullscreen? what if there's already a fullscreen surface on
 | 
					 | 
				
			||||||
         the output, maybe you can only go fullscreen if you're
 | 
					 | 
				
			||||||
         active?  -->
 | 
					 | 
				
			||||||
    <request name="map_fullscreen"/>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <!-- After attaching a new buffer, this request is used to
 | 
					    <!-- After attaching a new buffer, this request is used to
 | 
				
			||||||
         describe the regions where the new buffer is different from
 | 
					         describe the regions where the new buffer is different from
 | 
				
			||||||
         the previous buffer and needs to be repainted.  Coordinates
 | 
					         the previous buffer and needs to be repainted.  Coordinates
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue