Git Product home page Git Product logo

superpat45 / ultramodernui Goto Github PK

View Code? Open in Web Editor NEW
32.0 4.0 14.0 4.43 MB

The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows.

Home Page: http://ultramodernui.sourceforge.net/

License: Other

C 27.66% C++ 19.75% NSIS 51.82% Batchfile 0.77%
nsis installer plugins skin

ultramodernui's Introduction

NSIS Ultra-Modern User Interface

The Ultra-Modern User Interface is a new interface with a style like the most recent installers for NSIS 3 (Nullsoft Scriptable Install System), the tool that allows programmers to create such installers for Windows. Ultra-Modern UI and NSIS are released under an open source license.

The Ultra-Modern User Interface also features new pages (Confirm, Abort, AlternativeStartMenu, AdditionalTasks, Information, Maintenance, Update, SetupType...). The interface and the graphics can be customized using the provided settings and the new skins system.

Ultra-Modern UI include also another User Interface named Modern UIEx. Modern UIEx is the same User Interface as the original Modern UI style but with the support of the new ultra-modern pages and with a little more options.

Ultra-Modern UI include three NSIS plug-ins:

  • SkinnedControls: a plug-in, natively integrated to Ultra-Modern UI, to skin all buttons and scroll bars of your installer;
  • InstallOptionsEx: an extension, natively integrated to Ultra-Modern UI, of the original InstallOptions plug-in with more feature to create custom pages;
  • nsArray: needed by some Ultra-Modern UI features, provide less out-of-the-box arrays and map features.

What’s new in Ultra-Modern UI version 2.0?

  • Ultra-Modern UI is now fully compatible with NSIS version 3 x86 edition and now with the large string special build;
  • The NSISArray plug-in was replaced by the new nsArray plug-in in version 1.1.1.7 who is faster and uses less memory;
  • Updated the InstallOptionsEx plug-in to version 2.4.5 beta 3 with full unicode support;
  • Updated the SkinnedControls plug-in to version 1.4 with support of the new NSIS plug-in API, ignore case parameters name support, unicode support, rewritten documentation and button image size are no more limited to allow smoother gradients;
  • Several new and completed language files and other minor fixes:
    • Completed: German language file by Bodenseematze;
    • New: Greek language file by Bodenseematze;
    • New: Italian language file by Bodenseematze;
    • New: Lithuanian language file by Bodenseematze;
    • New: Russian language file by Bodenseematze;
    • New: Slovenian language file by Bodenseematze;
    • New: Spanish language file by Bodenseematze;
    • New: Turkish language file by Bodenseematze;
    • New: Bulgarian language file by Angel;
  • The information page is now compatible with UTF16LE text files if compiled in Unicode;
  • The information page is now compatible with Unix style (LF only) line return text files;
  • The UMUI_CUSTOM_SKIN define is now deprecated, it is no more necessary and you can simply use the UMUI_SKIN define with your custom skin;
  • All button image was recreated with smoother gradient;
  • Reduced weight of skin images;
  • Updated and completed documentation;
  • Added an example for nsDialogs based custom page and documentation;
  • The default install directory for the NSIS + Ultra-Modern UI package is now C:\ProgramData on Windows Vista and upper to allow examples to be compiled without access rights errors;
  • A lot of bug fixes and optimizations;
  • Source code now on GitHub: https://github.com/SuperPat45/UltraModernUI.

License

zlib/libpng

ultramodernui's People

Contributors

nutzzz avatar superpat45 avatar tobias-b-besemer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ultramodernui's Issues

Some colors seems to be defined in UMUI

Seems some colors are defined in UMUI and can't be defined in an own theme/skin.

The parts I have problems with have I marked red in the screenshots...

2019-11-06 14_39_31-Installation von BleachBit

2019-11-06 14_40_41-BleachBit Setup

My theme is based on the "Gray" theme...

UMUI_UNPAGE_SERIALNUMBER failure

UMUI_UNPAGE_SERIALNUMBER doesn't appear to work. Could I be doing something wrong?

Call must not be used with functions starting with "un." in the non-uninstall sections.
Usage: Call function_name | [:label_name]
Error in macro MUI_INSTALLOPTIONS_WRITE_DEFAULTCONVERT on macroline 14
Error in macro UMUI_FUNCTION_SERIALNUMBERPAGE on macroline 16
Error in macro UMUI_PAGE_SERIALNUMBER on macroline 35
Error in macro UMUI_UNPAGE_SERIALNUMBER on macroline 7
Error in script "UninstSerialTest.nsi" on line 20 -- aborting creation process

Unicode characters break in INSTDIR

Hello,

I use NSIS 3.04 with UltraModernUI 2.0b5 and I encountered this bug:

When I try to install software to unicode path (czech characters) like this: D:\přílišžluťoučkýkůň\Modern UI Test
it gets converted into this:
D:\prílišžlutouckýkun\Modern UI Test

UMUI

NSIS with MUI2 works correctly, so I presume it is bug in UMUI:
Test2

I used oficial example from NSIS documentation: https://nsis.sourceforge.io/Examples/Modern%20UI/MultiLanguage.nsi
Tested on Windows 10.

UAC plugin and language

Hello,
I have a problem with the UAC plugin and UMUI not setting the language in registry.
When I select a non-default language from the list, UMUI creates a new instance with the /L parameter. When I elevate at a later step, this parameter is passed to the inner instance and the language is correctly written to the registry.
When I leave the default language from the list, the language page is not displayed in the inner instance and the UMUI_MULTILANG_GET macro goes to label checkRegistery: and since there is no value in the registry, it goes to endlang, skipping the UMUI_ADDPARAMTOSAVETOREGISTRYKEY call.
I think the UMUI_MULTILANG_GET macro should always call the UMUI_ADDPARAMTOSAVETOREGISTRYKEY macro in order to always write the selected language to the registry, even if it's the default one.

Regards,
Alex

[RFE] Option to use own code for the repair feature

I will request an option to use own code for the repair feature.

Or: Improve the existing repair feature.

I wrote two versions of an installer for BleachBit.
One with MUI2, the other with UMUI.
I would like use the UMUI version, but my code for the repair feature in the MUI2 version seems to be better then what UMUI brings with it.
Great would be, if I can have the best from both versions... This is the reason for my request.

You can find the MUI2 version to have a look at my repair feature code here:
https://github.com/bleachbit/bleachbit/blob/5707557f4ae0072f0fb267f6db7f0cdf6c95834e/windows/bleachbit.nsi

Make components page more usable?

On my components page, the info that the user wants to interact with (the components) is squished by a whole bunch of wasted space:

nsis

How do I turn off the left image for a page?

Alternatively, how do I fix the layout so the components use the space better?

(I started with this example from NsisMultiUser. )

When having a custom page installed and pressing the 'Cancel' button before this page, 'Cancel' jump to custom page

When there is a custom page installed and the user press the 'Cancel' button before this page is arrived, then 'Cancel' jump to the custom page instead to UMUI_PAGE_ABORT.

Sample code:
!insertmacro UMUI_PAGE_MULTILANGUAGE
!insertmacro MUI_PAGE_WELCOME
!define MUI_LICENSEPAGE_RADIOBUTTONS
!insertmacro MUI_PAGE_LICENSE "$(MUI_LICENSE)"
!insertmacro MULTIUSER_PAGE_INSTALLMODE
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro UMUI_PAGE_SETUPTYPE
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_FINISHPAGE_RUN "$INSTDIR\${prodname}.exe"
!define MUI_FINISHPAGE_LINK_LOCATION "${PRODURL}"
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!insertmacro MUI_PAGE_FINISH
!insertmacro UMUI_PAGE_ABORT

Command line option for a full install.

I am trying to install UltraModernUI in a CI/CD pipeline using /S option. However, I can't seem to find any way to get a 'Complete' install (I assume I am getting the 'Default' install since I am missing some stuff...)

Would it be possible to add a flag to have the 'Complete' install (or make a 'Complete' install the default when '/S' is passed).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.