public inbox for cygwin-xfree@sourceware.org
help / color / mirror / Atom feed
From: Simon <simonzack@gmail.com>
To: cygwin-xfree@cygwin.com
Subject: Re: unable to maximize gtk window
Date: Sun, 22 Sep 2013 18:22:00 -0000	[thread overview]
Message-ID: <523F3545.9040708@gmail.com> (raw)
In-Reply-To: <5237219D.7070505@dronecode.org.uk>

[-- Attachment #1: Type: text/plain, Size: 2130 bytes --]

On 17/09/2013 1:19 AM, Jon TURNEY wrote:
> On 11/09/2013 19:05, Simon wrote:
>> On 12/09/2013 2:53 AM, Jon TURNEY wrote:
>>> On 09/09/2013 15:43, Simon wrote:
>>>>> Thanks for reporting this problem and the testcase.
>>>>>
>>>>> I've added a patch improves the window hint conversion in multiwindow mode so
>>>>> that the hint which gtk_window_maximize() sets is now recognized as
>>>>> maximizing
>>>>> the window.
>>>>>
>>>>> I've uploaded a snapshot at [1]. Perhaps you could try that and see if it
>>>>> improves things for you?
>>>>>
>>>>> (This is a x86 binary. if you need an x64 binary, please let me know and I'll
>>>>> generate one)
>>>> Thanks, that appears to fix the testcase, but terminator still has the same
>>>> problems, I'll try to find out what is happening there.
>>> 'terminator -m' works correctly for me with that snapshot.
>>>
>> It does for me too, but if I start terminator with no command line arguments
>> (directly after I start x server), then maximize the window using the windows
>> button, or by double clicking the title bar, I get a window that's not fully
>> maximized.
> This works for me, but this sounds like a different problem to the one you
> first reported.
>
> There is a difference between a window asking to maximize itself (via the
> appearance hint that gtk_window_maximize() sets), and using the window manager
> to maximize using the frame controls (title bar double click or maximize button)
>
> I'm not sure what you mean by 'not fully maximized', this seems different to
> 'not maximized'
>
> Perhaps the window may not get fully maximized as it's frame dimensions are
> (should be?) constrained to ensure that they are an integer multiple of the
> character cell size?
>
Yes indeed it is a different problem, I've dug deeper and found the 
cause, I've attached a test-case.
The problem is that gtk's window-state-event signals aren't being fired 
when a window maximizes or minimizes.
The correct behavior in the test-case, is that 'test' will be printed 
twice, once on startup, once when the user maximizes the window, and 
once when the user minimizes the window.

Simon


[-- Attachment #2: windowStateEvent.c --]
[-- Type: text/plain, Size: 732 bytes --]


#include <gtk/gtk.h>

gboolean on_window_state_event(GtkWidget *widget, GdkEventWindowState *event, gpointer user_data){
	puts("test");
	return TRUE;
}

int main( int argc, char *argv[]){
	GtkWidget *window;

	gtk_init(&argc, &argv);

	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window), "GtkButton");
	gtk_window_set_default_size(GTK_WINDOW(window), 230, 150);
	gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);

	g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);

	g_signal_connect(
		G_OBJECT(window), 
		"window-state-event", 
		G_CALLBACK(on_window_state_event), 
		(gpointer)NULL
	);

	gtk_widget_show_all(window);

	gtk_main();

	return 0;
}


[-- Attachment #3: Type: text/plain, Size: 223 bytes --]

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/

  reply	other threads:[~2013-09-22 18:22 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-01 15:13 Simon
2013-09-09 14:29 ` Jon TURNEY
2013-09-09 14:43   ` Simon
2013-09-11 16:53     ` Jon TURNEY
2013-09-11 18:05       ` Simon
2013-09-16 15:20         ` Jon TURNEY
2013-09-22 18:22           ` Simon [this message]
2013-09-01 21:01 Angelo Graziosi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=523F3545.9040708@gmail.com \
    --to=simonzack@gmail.com \
    --cc=cygwin-xfree@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).