Sponsored Content
Top Forums Programming get terminal width and height Post 302564353 by Ultrix on Thursday 13th of October 2011 12:23:57 PM
Old 10-13-2011
get terminal width and height

I was reading Advanced Programming in the Unix Environment and it says to use ioctl() to get the terminal's width and height. I wrote this program:

Code:
// print width and height

#include <stdio.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <termios.h>

int main( int argc, char **argv ){
	struct winsize size;
	ioctl( 0, TIOCSWINSZ, (char *) &size );
	printf( "Rows: %u\nCols: %u\n", size.ws_row, size.ws_col );
	return 0;
}

When I ran it, the numbers it outputted were in the thousands, and when I started Vim up again, the terminal got overloaded. Everything turned into static and the activity monitor showed Vim occupying 1 GB of memory. Is there a way to get the right terminal dimensions and avoid this problem?

---------- Post updated at 12:23 PM ---------- Previous update was at 11:46 AM ----------

Never mind. Fixed the problem.
 

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

connecting to unix through hyper terminal - as a dumb terminal

I just changed from windows NT to XP and I am no longer able to connect to my unix system. I used to use hyper terminal -- which acts as dumb terminal to my main frame unix system. I think one of the options used to be "direct to comX". This option isn't listed now. I use a serial port and the... (2 Replies)
Discussion started by: michelle
2 Replies

2. UNIX for Advanced & Expert Users

return image height and width

Hi all. I need to be able to get image (gif/jpg) height and widths from the server so I can size pop-up windows to fit the images. Is there a built in utility that accomplishes this on Unix or Linux? (1 Reply)
Discussion started by: Jabba
1 Replies

3. Programming

get terminal width and cursor position

I want to get the screen width and cursor positions. When I used curses, all the screen content was cleared. So Can I use curses to get the screen size without clearing anything in the window? Or is there any other alternative??? I can use only C or C++. (0 Replies)
Discussion started by: Sreejesh.S
0 Replies

4. Programming

terminal Width/height change

Hi, i am very new to unix/linux programming. for one of the application i have to change the Terminal width and height. i did try this if (ioctl (fd, TIOCGWINSZ, &win)) return; if (y && y >24) win.ws_row = y; else win.ws_row = 24; if (x && x>80)... (2 Replies)
Discussion started by: bgsunny
2 Replies

5. Shell Programming and Scripting

Set terminal width inside a shell script

Hi all, I have a shell script which uses "mailx -H" to get the subject of a email in a Linux system. However, the subject is truncated, and I think it has something to do with the terminal width because it only returns the first 80 characters of each line. I have tried "stty columns"... (7 Replies)
Discussion started by: mezzo
7 Replies

6. Shell Programming and Scripting

give all images same height

How do I resize all images in a directory to the same pixel height? (1 Reply)
Discussion started by: locoroco
1 Replies

7. Shell Programming and Scripting

Cannot get terminal application to launch with a graphical launcher when successful in terminal

I have been having an extremely annoying problem. For the record, I am relatively new at this. I've only been working with unix-based OS's for roughly two years, mostly Xubuntu and some Kali. I am pretty familiar with the BASH language, as that's the default shell for debian. Now, I've made this... (16 Replies)
Discussion started by: Huitzilopochtli
16 Replies

8. Shell Programming and Scripting

Print Terminal Output Exactly how it Appears in the Terminal to a New Text File

Hello All, I have a text file containing output from a command that contains lots of escape/control characters that when viewed using vi or view, looks like jibberish. But when viewed using the cat command the output is formatted properly. Is there any way to take the output from the cat... (7 Replies)
Discussion started by: mrm5102
7 Replies

9. Red Hat

How to know full width blade or half width blade?

HI, How do we figure out if the server is half blade server or full blade server? Anything we need to look at to know on this? thanks in advance (9 Replies)
Discussion started by: snchaudhari2
9 Replies
glutInitWindowPosition(3GLUT)					       GLUT					     glutInitWindowPosition(3GLUT)

NAME
glutInitWindowPositionWindowPosition, glutInitWindowSize - set the initial window position and size respectively. SYNTAX
void glutInitWindowSize(int width, int height); void glutInitWindowPosition(int x, int y); ARGUMENTS
width Width in pixels. height Height in pixels. x Window X location in pixels. y Window Y location in pixels. DESCRIPTION
Windows created by glutCreateWindow will be requested to be created with the current initial window position and size. The initial value of the initial window position GLUT state is -1 and -1. If either the X or Y component to the initial window position is negative, the actual window position is left to the window system to determine. The initial value of the initial window size GLUT state is 300 by 300. The initial window size components must be greater than zero. The intent of the initial window position and size values is to provide a suggestion to the window system for a window's initial size and position. The window system is not obligated to use this information. Therefore, GLUT programs should not assume the window was created at the specified size or position. A GLUT program should use the window's reshape callback to determine the true size of the window. EXAMPLE
If you would like your GLUT program to default to starting at a given screen location and at a given size, but you would also like to let the user override these defaults via a command line argument (such as -geometry for X11), call glutInitWindowSize and glutInitWindowPosi- tion before your call to glutInit. For example: int main(int argc, char **argv) { glutInitWindowSize(500, 300); glutInitWindowPosition(100, 100); glutInit(&argc, argv); ... } However, if you'd like to force your program to start up at a given size, call glutInitWindowSize and glutInitWindowPosition after your call to glutInit. For example: int main(int argc, char **argv) { glutInit(&argc, argv); glutInitWindowSize(500, 300); glutInitWindowPosition(100, 100); ... } SEE ALSO
glutInit, glutCreateWindow, glutCreateSubWindow, glutReshapeFunc, glutGet AUTHOR
Mark J. Kilgard (mjk@nvidia.com) GLUT
3.7 glutInitWindowPosition(3GLUT)
All times are GMT -4. The time now is 10:05 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy