curses & window resize issues


 
Thread Tools Search this Thread
Top Forums Programming curses & window resize issues
# 1  
Old 01-16-2006
curses & window resize issues

I am writing a program to display a database to the screen(xterm) and want to allow the window resize signal to increase/decrease the amount data that is displayed. I have a signal handler function for catching the SIGWINCH event and calling a function to reallocate the space for the windows (stdscr and curscr) an reallocate the space for the windows.

The resize function looks something like:

Code:
//GLOBAL CONSTANTS, initialized elsewhere to the correct values
WINDOW* display;
int maxX;
int maxY;

// resize event function
void resizeHandler() {
   WINDOW*curscrOld = curscr;
   WINDOW*stdscrOld = stdscr;

   delwin(curscrOld);
   delwin(stdscrOld);
   endwin();

   display = initscr();
   getmaxyx(display, maxY, maxX);

   signal(SIGWINCH, resizeHandler);
}

The problem with the reallocation function seems to be that I put in another call to initscr(). Not every time, but frequently enough to be annoying, the program will have a segmentation fault during the call to initscr() when a resize event occurs. The reason I put in another call to initscr() was getmaxyx() was not updating the size of the windows on a resize event, I tried to just use the endwin() then a call to refresh() to reinitialize the values with no luck. Is there someplace else I can get the xterm's window size and the use some calls to newwin() to create new stdscr and curscr variables on my own? I am running on Solaris 8, thanks in advance for any help.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX and Linux Applications

Xalan & Xerces issues for Oracle Linux 6.6 & Solarisstudio12.3 C++ compiler for Linux

Hi Team, I am facing issue while using Xalan & Xerces for my application. Below are my environment details i am using :- Platform:- Oracle Linux 6.6 Compiler :- solarisstudio12.3 C++ compiler for Linux Below are the versions of Xalan & Xerces source code used to build the shared object... (0 Replies)
Discussion started by: agrachirag
0 Replies

2. Shell Programming and Scripting

How to find & auto resize images?

I need a command or mini scripts that can find certain type of images file recursively from the current dir with files of minimum 736 width and resize them by "736 max width, relative height" and replace the source files. I currently have GD installed but can also install Imagemagick if needed, I'm... (5 Replies)
Discussion started by: Frozen77
5 Replies

3. Shell Programming and Scripting

Synchronize pictures & resize at the same time

Hi, I"m trying to achieve the following: I have a NAS which holds all my pictures, and have it mounted on my xbmc as a network share. I want to automatically synchronize my pictures (NAS -> xbmc, one direction). But, during the synchronization I want to resize the pictures to make them... (7 Replies)
Discussion started by: Joeba
7 Replies

4. Programming

Resize current window with Curses

Hi. I am beginning with Unix C Curses Library and i would like to know if it's possible to resize my current window. In other words, i am working with a Putty Client over my Windows system and with a telnet/ssh connection to linux. I want to build a small linux application using C Curses... (10 Replies)
Discussion started by: pogdorica
10 Replies

5. UNIX for Dummies Questions & Answers

Preventing the terminal window to resize

I am running Terminal (xterm) on FreeBSD and XFCE. When opening a new terminal window so that an additional tab appears, the window resizes to become taller and partially hiding behind the task bar. I noticed that Xubuntu has fixed this feature and the window does not resize when opening a second... (0 Replies)
Discussion started by: figaro
0 Replies

6. UNIX for Dummies Questions & Answers

Question on x-window & which Linux to go with

Hi, Currently in my company, we are using Windows 2003 server and Exceed. Team from India can connect to the Windows 2003 server and start Exceed to run their UNIX application. The application is GUI based. As you know, Windows 2003 only allows two connection at any time. so I want to... (3 Replies)
Discussion started by: samnyc
3 Replies

7. UNIX Desktop Questions & Answers

Resize the default window size

Hi, How can I resize the terminal window's default size in CDE (Solaris)? Regards, Sharif. (1 Reply)
Discussion started by: sharif
1 Replies

8. UNIX for Advanced & Expert Users

CDE loging window resize?

I was asked to display a banner on the CDE login window and I have successfully accomplished that task. This is what I did: 1) made the directory /etc/dt/config/C 2) cp /usr/dt/config/C/Xresources /etc/dt/config/C 3) I edited /etc/dt/config/C/Xresources and ensured the following lines were... (0 Replies)
Discussion started by: rtoba
0 Replies

9. Solaris

CDE loging window resize?

I was asked to display a banner on the CDE login window and I have successfully accomplished that task. This is what I did: 1) made the directory /etc/dt/config/C 2) cp /usr/dt/config/C/Xresources /etc/dt/config/C 3) I edited /etc/dt/config/C/Xresources and ensured the following lines were... (0 Replies)
Discussion started by: rtoba
0 Replies

10. IP Networking

UNIX & WINDOW

Is there any way that I could invoke a Win NT application in a UNIX environment? Needed to do this to direct the output of an Win NT application to a UNIX program, and then back again. Furthermore, because there's a large amount of processing to be done, it will be great if I could do this... (1 Reply)
Discussion started by: Norman N
1 Replies
Login or Register to Ask a Question
resize(1X)																resize(1X)

NAME
resize - set TERMCAP and terminal settings to current xterm window size SYNOPSIS
resize [-u] [-c] [-s[row col]] OPTIONS
The following options may be used with resize: This option indicates that Bourne shell commands should be generated even if the user's cur- rent shell is not /bin/sh. This option indicates that C shell commands should be generated even if the user's current shell is not /bin/csh. This option indicates that Sun console escape sequences will be used instead of the special xterm escape code. If rows and col- umns are given, resize will ask the xterm to resize itself. However, the window manager may choose to disallow the change. DESCRIPTION
The resize command prints a shell command for setting the TERM and TERMCAP environment variables to indicate the current size of xterm win- dow from which the command is run. For this output to take effect, resize must either be evaluated as part of the command line (usually done with a shell alias or function) or else redirected to a file which can then be read in. From the C shell (usually known as /bin/csh), the following alias could be defined in the user's % alias rs 'set noglob; eval `resize`' After resizing the window, the user would type: % rs Users of versions of the Bourne shell (usually known as /bin/sh) that do not have command functions will need to send the output to a tem- porary file and the read it back in with the "." command: $ resize > /tmp/out $ . /tmp/out FILES
for the base termcap entry to modify. user's alias for the command. BUGS
The -u or -c must appear to the left of -s if both are specified. SEE ALSO
csh(1), tset(1), xterm(1X) AUTHORS
Mark Vandevoorde (MIT-Athena), Edward Moy (Berkeley) Copyright (c) 1984, 1985 by X Consortium See X(1X) for a complete copyright notice. resize(1X)