| 
									
										
										
										
											2012-10-24 16:40:39 -04:00
										 |  |  | ! Copyright (C) 2012 John Benediktsson | 
					
						
							|  |  |  | ! See http://factorcode.org/license.txt for BSD license | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | USING: accessors arrays classes.struct io.streams.c kernel | 
					
						
							| 
									
										
										
										
											2012-10-24 19:02:11 -04:00
										 |  |  | math system terminal unix unix.ffi ;
 | 
					
						
							| 
									
										
										
										
											2012-10-24 16:40:39 -04:00
										 |  |  | QUALIFIED-WITH: alien.c-types c | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | IN: terminal.linux | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <PRIVATE
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CONSTANT: TIOCGWINSZ 0x5413
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | STRUCT: winsize | 
					
						
							|  |  |  | { ws_row c:short } | 
					
						
							|  |  |  | { ws_col c:short } | 
					
						
							|  |  |  | { ws_xpixel c:short } | 
					
						
							|  |  |  | { ws_ypixel c:short } ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PRIVATE>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | M: unix (terminal-size) | 
					
						
							|  |  |  |     stdout-handle fileno TIOCGWINSZ winsize <struct> | 
					
						
							|  |  |  |     [ ioctl ] keep swap 0 < [ | 
					
						
							|  |  |  |         drop 0 0
 | 
					
						
							|  |  |  |     ] [ | 
					
						
							|  |  |  |         [ ws_col>> ] [ ws_row>> ] bi
 | 
					
						
							|  |  |  |     ] if ;
 |