These have been deprecated and removed from master.
GtkWindow:resizable should be used instead.
This completes commit 1a03a65e36
Reported by Benjamin Otte
		
	
		
			
				
	
	
		
			121 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| This is a list of things to check when testing window size/pos functions.
 | |
| ===
 | |
| 
 | |
| gtk_widget_set_size_request():
 | |
|  - causes the widget to request the given size
 | |
|  - for toplevel windows, changes the default-requested size if 
 | |
|    no default size is set and gtk_window_resize() has not been called
 | |
|  - passing -1 for either width or height reverts to "natural" request
 | |
|    in that dimension
 | |
|  - passing 0 is allowed, and results in requisition of 1x1 
 | |
|    (0x0 is a permitted requisition, but equivalent to 1x1, 
 | |
|    we use 1x1 for implementation convenience)
 | |
|  - causes notifies on width_request, height_request properties
 | |
| 
 | |
| gtk_window_resize():
 | |
|  - causes a configure request in all cases if the window is mapped, 
 | |
|    unless the new size is the same as the old size
 | |
|  - overrides the default size on map if the window is unmapped
 | |
|  - allows size of 0, equivalent to 1
 | |
|  - clamped to geometry hints
 | |
| 
 | |
| gtk_window_set_default_size():
 | |
|  - has no effect after the window has been mapped the first time, 
 | |
|    unless the window has been unrealized in which case it should 
 | |
|    have an effect
 | |
|  - allows size of 0, equivalent to 1
 | |
|  - allows size of -1 to unset the default size
 | |
|  - clamped to geometry hints
 | |
|  - gtk_window_resize() overrides it
 | |
|  - causes notifies on default_width, default_height properties
 | |
| 
 | |
| gtk_window_get_default_size():
 | |
|  - returns the values last passed to set_default_size(), including 
 | |
|    -1. If set_default_size() has not been called, returns -1.
 | |
| 
 | |
| gtk_window_move():
 | |
|  - always causes a configure request if the window is mapped, 
 | |
|    unless the last configure request we sent was for the same
 | |
|    position being moved to
 | |
|  - position may be negative to move windows offscreen
 | |
|  - if GTK_WIN_POS_CENTER_ALWAYS (or other future position 
 | |
|    constraints we may add) is in effect, the move
 | |
|    request is clamped to obey the constraints. thus
 | |
|    calling gtk_window_move() on a CENTER_ALWAYS window 
 | |
|    may trigger the window to bounce back to center if it 
 | |
|    wasn't there
 | |
|  - overrides all GTK_WIN_POS_ except CENTER_ALWAYS
 | |
| 
 | |
| gtk_window_get_size():
 | |
|  - obtains the client-side known size of widget->window, 
 | |
|    as last received from a configure event
 | |
|  - prior to mapping, returns the default size we will request
 | |
|  - between realization and mapping, computes default size 
 | |
|    rather than looking at widget->window up-to-date size, 
 | |
|    so the size will be correct after force-realizing a window
 | |
| 
 | |
| gtk_window_get_position():
 | |
|  - obtains the point to be passed to gtk_window_move() in order
 | |
|    to keep the window in its current position
 | |
|  - round-trips to the server to get the position; this is suboptimal
 | |
|    from both a race condition and speed standpoint but required to get
 | |
|    window frame size
 | |
|  - if the window is unmapped, returns the default position we will 
 | |
|    request
 | |
| 
 | |
| gtk_window_set_position():
 | |
|  - not the inverse of get_position(), sadly
 | |
|  - modifies the default positioning of the window
 | |
|  - if set to CENTER_ALWAYS and the window is mapped, results in a
 | |
|    configure request moving the window to the center, unless the 
 | |
|    window was already centered
 | |
|  - ignored if gtk_window_move() called, with the exception 
 | |
|    of CENTER_ALWAYS
 | |
| 
 | |
| gtk_window_parse_geometry():
 | |
|  - parses a standard X geometry string
 | |
|  - toggles on one or both of GDK_HINT_USER_SIZE, GDK_HINT_USER_POS
 | |
|  - "xprop" shows user size/position are set on the window
 | |
|  - calls gtk_window_set_default_size() to set the window size
 | |
|  - calls gtk_window_move() to set the window position
 | |
|  - calls gtk_window_set_gravity() to set the window gravity
 | |
| 
 | |
| gtk_window_reshow_with_initial_size():
 | |
|  - for use by GUI builders; unrealizes and re-shows the window, 
 | |
|    using default size (and also position, but position 
 | |
|    is reset on any hide anyway)
 | |
|  - window should be positioned and sized as it was on initial map,
 | |
|    barring odd window managers
 | |
| 
 | |
| gtk_window_set_geometry_hints():
 | |
|  - if a hint is set with this function, we do not override it
 | |
|    in other parts of the code
 | |
| 
 | |
| General behavior
 | |
| ===
 | |
| 
 | |
|  - no infinite loops or nasty fighting-the-user flicker during 
 | |
|    operations such as moving/resizing a window
 | |
| 
 | |
| Properties
 | |
| ===
 | |
| 
 | |
| GtkWindow::default_width, GtkWindow::default_height:
 | |
|  - default_width is -1 if unset, or >= 0 if 
 | |
|    a default width is set
 | |
|  - default_height is -1 if unset, or >= 0 if
 | |
|    a default height is set
 | |
| 
 | |
| GtkWindow::resizable:
 | |
|  - if FALSE, we set the min size to the max size in the geometry 
 | |
|    hints. 
 | |
|  - If the app programmer has called gtk_window_set_geometry_hints()
 | |
|    however and set min or max size, we don't replace the hint they
 | |
|    set.
 | |
| 
 | |
| GtkWidget::width_request, GtkWidget::height_request:
 | |
|  - if -1, default requisition of widget is used
 | |
|  - otherwise, override default requisition
 | |
| 
 | |
| 
 |