2007-10-19 22:54:00

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH] xconfig: set title bar

From: Randy Dunlap <[email protected]>

menuconfig and gconfig already place a title (or caption) on the top
bar of their window (or whatever that is properly called). However,
qconf (xconfig) just says "qconf". I tried to find a Qt API to set
the title but did not find one, so set the program title (caption)
by using the "-title <caption>" command line option instead.

This can be useful when someone has multiple qconf instances running,
to help differentiate which one is which.

Signed-off-by: Randy Dunlap <[email protected]>
---
scripts/kconfig/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-2.6.23-git13.orig/scripts/kconfig/Makefile
+++ linux-2.6.23-git13/scripts/kconfig/Makefile
@@ -5,7 +5,7 @@
PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config

xconfig: $(obj)/qconf
- $< arch/$(ARCH)/Kconfig
+ $< arch/$(ARCH)/Kconfig -title "Linux v${KERNELVERSION} qconf"

gconfig: $(obj)/gconf
$< arch/$(ARCH)/Kconfig


2007-10-20 17:12:53

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] xconfig: set title bar

On Fri, Oct 19, 2007 at 02:55:28PM -0700, Randy Dunlap wrote:
> From: Randy Dunlap <[email protected]>
>
> menuconfig and gconfig already place a title (or caption) on the top
> bar of their window (or whatever that is properly called). However,
> qconf (xconfig) just says "qconf". I tried to find a Qt API to set
> the title but did not find one, so set the program title (caption)
> by using the "-title <caption>" command line option instead.

I found this one to work:
diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
index e4eeb59..4905cd1 100644
--- a/scripts/kconfig/qconf.cc
+++ b/scripts/kconfig/qconf.cc
@@ -1277,6 +1277,7 @@ ConfigMainWindow::ConfigMainWindow(void)

QWidget *d = configApp->desktop();

+ setCaption("hello my little world");
width = configSettings->readNumEntry("/window width", d->width() - 64);
height = configSettings->readNumEntry("/window height", d->height() - 64);
resize(width, height);

We should show the prompt associated with mainmenu here.

Sam

2007-10-20 18:10:37

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] xconfig: set title bar

On Sat, Oct 20, 2007 at 07:14:03PM +0200, Sam Ravnborg wrote:
> On Fri, Oct 19, 2007 at 02:55:28PM -0700, Randy Dunlap wrote:
> > From: Randy Dunlap <[email protected]>
> >
> > menuconfig and gconfig already place a title (or caption) on the top
> > bar of their window (or whatever that is properly called). However,
> > qconf (xconfig) just says "qconf". I tried to find a Qt API to set
> > the title but did not find one, so set the program title (caption)
> > by using the "-title <caption>" command line option instead.
>
> I found this one to work:
> diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
> index e4eeb59..4905cd1 100644
> --- a/scripts/kconfig/qconf.cc
> +++ b/scripts/kconfig/qconf.cc
> @@ -1277,6 +1277,7 @@ ConfigMainWindow::ConfigMainWindow(void)
>
> QWidget *d = configApp->desktop();
>
> + setCaption("hello my little world");
> width = configSettings->readNumEntry("/window width", d->width() - 64);
> height = configSettings->readNumEntry("/window height", d->height() - 64);
> resize(width, height);
>
> We should show the prompt associated with mainmenu here.

After a closer looks it revealed that kconfig does not even save
the mainmenu prompt?!??!
See following snippet from zconf.y:

stmt_list:
/* empty */
| stmt_list common_stmt
| stmt_list choice_stmt
| stmt_list menu_stmt
| stmt_list T_MAINMENU prompt nl

So it seems no frontend displays the mainmenu prompt.

Sam

2007-10-20 18:14:28

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] xconfig: set title bar

On Sat, 20 Oct 2007 20:12:02 +0200 Sam Ravnborg wrote:

> On Sat, Oct 20, 2007 at 07:14:03PM +0200, Sam Ravnborg wrote:
> > On Fri, Oct 19, 2007 at 02:55:28PM -0700, Randy Dunlap wrote:
> > > From: Randy Dunlap <[email protected]>
> > >
> > > menuconfig and gconfig already place a title (or caption) on the top
> > > bar of their window (or whatever that is properly called). However,
> > > qconf (xconfig) just says "qconf". I tried to find a Qt API to set
> > > the title but did not find one, so set the program title (caption)
> > > by using the "-title <caption>" command line option instead.
> >
> > I found this one to work:
> > diff --git a/scripts/kconfig/qconf.cc b/scripts/kconfig/qconf.cc
> > index e4eeb59..4905cd1 100644
> > --- a/scripts/kconfig/qconf.cc
> > +++ b/scripts/kconfig/qconf.cc
> > @@ -1277,6 +1277,7 @@ ConfigMainWindow::ConfigMainWindow(void)
> >
> > QWidget *d = configApp->desktop();
> >
> > + setCaption("hello my little world");
> > width = configSettings->readNumEntry("/window width", d->width() - 64);
> > height = configSettings->readNumEntry("/window height", d->height() - 64);
> > resize(width, height);
> >
> > We should show the prompt associated with mainmenu here.
>
> After a closer looks it revealed that kconfig does not even save
> the mainmenu prompt?!??!
> See following snippet from zconf.y:
>
> stmt_list:
> /* empty */
> | stmt_list common_stmt
> | stmt_list choice_stmt
> | stmt_list menu_stmt
> | stmt_list T_MAINMENU prompt nl
>
> So it seems no frontend displays the mainmenu prompt.

Yes, I was going to make that same comment.
I'll have qconf.cc using the same title as gconfig and menuconfig
soon...


---
~Randy
[switched email addr due to some odd mail server problem]

2007-10-20 18:18:57

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] xconfig: set title bar

On Sat, 20 Oct 2007 19:14:03 +0200 Sam Ravnborg wrote:

> I found this one to work:
> + setCaption("hello my little world");

Thanks, your search expressions were better than mine.

> We should show the prompt associated with mainmenu here.

You want all 3 of them converted to
symbol_value(mainmenu) + $KERNELVERSION
?

---
From: Randy Dunlap <[email protected]>

Put kernel version info on title bar in xconfig (qconf) instead of
defaulting to "qconf".

Signed-off-by: Randy Dunlap <[email protected]>
---
scripts/kconfig/qconf.cc | 4 ++++
1 file changed, 4 insertions(+)

--- linux-2.6.23-git13.orig/scripts/kconfig/qconf.cc
+++ linux-2.6.23-git13/scripts/kconfig/qconf.cc
@@ -1274,8 +1274,12 @@ ConfigMainWindow::ConfigMainWindow(void)
QMenuBar* menu;
bool ok;
int x, y, width, height;
+ char title[256];

QWidget *d = configApp->desktop();
+ sprintf(title, _("Linux Kernel v%s Configuration"),
+ getenv("KERNELVERSION"));
+ setCaption(title);

width = configSettings->readNumEntry("/window width", d->width() - 64);
height = configSettings->readNumEntry("/window height", d->height() - 64);

2007-10-20 18:28:45

by Sam Ravnborg

[permalink] [raw]
Subject: Re: [PATCH] xconfig: set title bar

On Sat, Oct 20, 2007 at 11:18:47AM -0700, Randy Dunlap wrote:
> On Sat, 20 Oct 2007 19:14:03 +0200 Sam Ravnborg wrote:
>
> > I found this one to work:
> > + setCaption("hello my little world");
>
> Thanks, your search expressions were better than mine.
>
> > We should show the prompt associated with mainmenu here.
>
> You want all 3 of them converted to
> symbol_value(mainmenu) + $KERNELVERSION

Well - if mainmenu should serve any purpose then yes.


> ?
>
> ---
> From: Randy Dunlap <[email protected]>
>
> Put kernel version info on title bar in xconfig (qconf) instead of
> defaulting to "qconf".
>
> Signed-off-by: Randy Dunlap <[email protected]>
> ---
> scripts/kconfig/qconf.cc | 4 ++++
> 1 file changed, 4 insertions(+)
>
> --- linux-2.6.23-git13.orig/scripts/kconfig/qconf.cc
> +++ linux-2.6.23-git13/scripts/kconfig/qconf.cc
> @@ -1274,8 +1274,12 @@ ConfigMainWindow::ConfigMainWindow(void)
> QMenuBar* menu;
> bool ok;
> int x, y, width, height;
> + char title[256];
>
> QWidget *d = configApp->desktop();
> + sprintf(title, _("Linux Kernel v%s Configuration"),

I made this look like this:
> + snprintf(title, sizeof(title), _("Linux Kernel v%s Configuration"),

because we may append to the KERNELVERSION using EXTRAVERSION and people could go insane.

Sam