Archive: Resizing the section window


Resizing the section window
The section names I want to use are too big for the selection window on a components page. I've tried resizing the entire window via a
System::Call "User32::SetWindowPos()" command, but this just resizes the entire window without affecting the size of the selection area.

How can I use a longer section_name? I'm using the modern UI if it makes a difference with the latest build of NSIS.

Thanks.


You can use MUI_COMPONENTSPAGE_SMALLDESC or MUI_COMPONENTSPAGE_NODESC (see MUI readme for more information about those two). If either one is not enough, you can always edit the UI and use a UI of your own (MUI_UI to tell MUI to use it). To edit the UI, edit Contrib\UIs\modern.exe using Resource Hacker or any similar program.


You can also customize of the the component page UI files and define MUI_UI_SMALLDESCRIPTION or
MUI_UI_NODESCRIPTION.


Mmh, can I tell you something? I don't like this right-cornered description area. It is too small and (sorry, Joost) ugly. But aside from that, the modern UI is a great piece of work.
However, what I'm looking for is Microsoft's Service Pack-UI (Win 2000, XP). It's a bit like the modern UI, but the installation progress is different. ;)


But hey, these are just my very personal thoughts. You don't have to agree with.

Mathias.


By default, there are 3 different styles available for the components page.

If you don't like the description area in the right corner, you can always use another one.

You can even design your own dialog.

What do you mean with this Service Pack UI? Can you post screenshots?


Change the descriptions area using:

ChangeUI IDD_SELCOM "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"

MUI probably has a way to do it, but that's the original way.

-Stu


Originally posted by Joost Verburg
If you don't like the description area in the right corner, you can always use another one.
Yes, I know. :) Please don't misunderstand it. I don't want to offend you.

What do you mean with this Service Pack UI? Can you post screenshots?
It's the installer, you get with these new Service packs and Hot fixes for Windows 2000 and XP. The attachment is a screenshot of a german patch (installation progress). If you have 2000 or XP, you may download one of the latest fixes to see it for yourself.

Mathias.

Hm, there is no attachment. Is this "Attach file" not working?

Attachments should work. Please edit your post and try again.

After you have posted the screenshot, can you also explain which things you want to change in your installer interface (like: progressbar should be changed to bla etc.).

Afrow UK: That is not the right way. Use the MUI_COMPONENTSPAGE_SMALLDESC interface setting.


Hi Joost.

I don't know why, but it doesn't work. I tried with Mozilla and IE. My attachments are not accepted. Can I send you the ZIP (~40k) via mail?


Mathias.


See http://nsis.sourceforge.net/site/Contact.12.0.html


You redesigned a little that page Joost (nsis.sf.net)? In my opinion it is better (was much blue and white)... :)


I have a similar desire to change the layout of my Components page. I tried to use !define MUI_COMPONENTSPAGE_SMALLDESC. It did not work for me.
However, I noticed that in the MUI HTML help, that MUI_UI_COMPONENTSPAGE_SMALLDESC used a hyphen "-" and not an underscore "_" in the file path for Contrib\UIs\modern_smalldesc.exe
I then did this:
!undef MUI_UI_COMPONENTSPAGE_SMALLDESC
!define MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
!define MUI_COMPONENTSPAGE_SMALLDESC

Which also did not work. So I tried the other tip that is not supposed to work,
ChangeUI IDD_SELCOM "${NSISDIR\Contrib\UIs\modern_smalldesc.exe"

And viola, it worked. Just placing my discovery in a searchable environment...
Joost, Kichik, why don't the MUI_ macros work for me??


Generally when you say "NSIS or Modern UI are not working right for me" you should post the NSIS version you're using.


NSIS 2.0
I downloaded NSIS and the MUI in February.


You probably placed the define in the wrong position. MUI_COMPONENTSPAGE_SMALLDESC is under interface configuration which states:

Interface settings should be set before inserting page macros. Page interface settings apply to all pages of a certain type.

No, I had it above/before the actual components page. Strange that nobody else has problems with this...


Before the components page isn't enough. It should be before any page macro.

If you still can't get it to work you should attach your script. Without the script it's mostly guessing.


Here is part of my script where I define the componenets page.

; THIS DOESN'T WORK, BUT SHOULD... use ChangeUI below.
;!define MUI_COMPONENTSPAGE_SMALLDESC
ChangeUI IDD_SELCOM "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
!define MUI_PAGE_CUSTOMFUNCTION_PRE SetValidSections
!insertmacro MUI_PAGE_COMPONENTS

If I comment out the ChangeUI, and uncomment the MUI_COMPONENTSPAGE_SMALLDESC, it doesn't work.


Just re-read your message, do you mean I have to define it above ALL the pages, like before my MUI_PAGE_WELCOME and MUI_PAGE_LICENSE ??
I thought that since the define had the word COMPONENTSPAGE in it, I could just define it above the components page.


Silly me, yes you do...

It works now that I have my define above the Welcome page.

Thanks for putting up with me.