New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[INTERNAL] List of 3.0 enhancements and fixes #868

pbatard opened this Issue Dec 15, 2016 · 0 comments


None yet
1 participant

pbatard commented Dec 15, 2016

This topic is flagged as INTERNAL and is therefore NOT open for comments.

Also, as you can see, there is an awful lot of work still needed for this release compared to the previous ones, which means that the release date of Rufus 3.0 is HIGHLY flexible and likely to be delayed further.


  • Drop XP and Vista support
  • Add retries for access denied
  • Add tooltip with file info. to the status bar (see #853) We'll extend the dropdown to display the full name — that should be enough
  • According to this, which may also apply to volumes, we may be too restrictive in our label sanitization. Especially © (probably in CP850) seems to be allowed as part of a volume label. Nah, we get those through autorun.inf anyway, and people need to know better than rely on obsolete codepages.
  • Invert Alt-D and Alt-X cheat modes
  • Update the FAQ on release for Alt-D, Alt-X, Alt-V and Alt-Q
  • We should do something about delays and error messages incurred by non existing A: and B: drives.
  • We really seem to have a problem with reformatting the drive in Windows 10 after a GPT image with multiple partitions has been written (e.g. FreeNAS-x86.img then FreeDOS). Cycling the port seems to help, but there has to be a better way to fall back on our feet...That'll be 3.1 material
  • Double Alt-C will shut down Rufus? WTF?
  • Switch to SSL and use as our base URL
  • Test SSL downloads, including update downloads
  • Add ARM64 support to our UEFI:NTFS image (would be nice if we could have F2FS support integrated into GRUB before we do that) → We did!
  • Need to add new detection for efiboot.img as per this.
  • Get a new code signing certificate (COMODO STANDOFF DAY 22: Sheesh! How many times do I have to insist with Comodo until they accept that it's not because you aren't in Duns and Bradstreet that your company is invalid!!! And people give me bad press about improbable security issues because they believe it's all too easy to get a non EV code signing certificate under any name you want. Try to have a chat with, then, and see how long it takes before you just want to bash your head against the wall, from having to repeat the same thing over and over again!... Oh and now that they do have the phone number, they can't even seem to sort out the international prefix?!? How INCOMPETENT can these people be?)
  • Remove the blurb about GPT/UEFI from the home page
  • Update platform support to start at Windows 7
  • I've seen a The downloaded executable is missing a digital signature. message while testing a 2.18 → 3.0_BETA update (but only once). Should we be concerned about this? → Moved to #1130
  • Confirm what happens when Vista/XP users attempt to check for 3.0 BETA. Is the platform_min = 6.1 filter enough or do we need to multiply .ver files so that Vista/XP users only get 2.18 → platform_min seems to do the trick - Good job me!

UI Redesign

Pre Translator Alpha:

  • Replace disc icon with SELECT
  • Center horizontal lines for separators
  • Use globals for bt, fs and stuff
  • Add Image Settings section
  • Remove # button on status bar
  • Fix log window not being the same height as the main window
  • Keep Image settings if switching image
  • Keep a list of recent images
  • Revert Image Settings section and add the hash button in boot type dropdown
  • Add tooltip with full path for each image Nah, dropdown resize should be good enough. Will do if requested
  • Add tooltip for hash
  • Split Advanced Options between Device and Format
  • Add new registry keys for Device and Format advanced options
  • Add regular up/down toolbars to display advanced options in each section
  • Remove image name from boot dropdown if new selection failed Or rather, keep previously selected image
  • Resize image dropdown according to image length when changing language
  • File system population is broken!
  • Hash button is now broken!
  • Automatic vertical spacing of elements according to height
  • Move Create Extended Label and Icon to Advanced Section
  • Move Quick Format and List USB Hard Drives to same line?
  • What the heck happened to our Save button?
  • Tie action to Save button and remove Alt-V cheat mode
  • Main Dialog
    • Dynamically resize Device dropdown according to whether Save button is displayed or not
    • Dynamically compute the minimum size for the 3 master buttons
    • Dynamically compute the minimum size for the half dropdowns
    • Dynamically compute the minimum size for full width dropdowns
    • I don't think we have a choice but to compute the actual with of an empty dropdown, including the symbol, to figure out proper sizing with text
    • Dynamically compute the minimum size for boot type dropdown (see French for empty image)
    • Use spacing from Windows standard Save dialog as guideline for our own Not sure we want to do that. or at least, not for the main dialog
    • Should we have the half dropdown separators be 3x the size of small_sep, as well as small_sep be the size of the # button? The goal here is to have the space between the boot selection dropdown and the select button, which includes the # button, be the same size as the half dropdown sep. Nah, just use the sep for Save button as our base.
    • Update half-width according to 2x min button size + small_sep
    • Align the START & CLOSE/CANCEL buttons to half-width dropdowns
    • Dynamically space master buttons
    • Dynamically space half dropdowns
    • Dynamically set dialog width
    • Properly resize the device dropdown on init
    • Sort the status bar on dialog resize
    • ? is not being moved on dialog resize
  • About Dialog
    • Dynamically resize License and OK buttons
  • License Dialog
    • Dynamically resize Close button Not needed
  • Log Dialog
    • Remove the unneeded 'Log' from the translations that use it
    • Dynamically resize buttons Looks like we can get away without a resize. Lazy way out, here I come!
  • Notification Dialog
    • Dynamically resize buttons
  • Update Settings Dialog
    • Dynamically resize dropdowns
    • Dynamically resize buttons
    • Dynamically resize groups
    • Dynamically resize dialog width
  • New Version Dialog
    • Do we have anything to do there?
  • Remove handling of m and s loc commands
  • Use Show/Hide action words on advanced toolbars
  • Create tooltip for Save button
  • Overlay of status text on progress bar
  • Create a flat toolbar buttons for About/Settings/Language/Log
  • Map Settings toolbar button to the Update Settings dialog
  • Fix multi-toolbar tooltips
  • Get the section horizontal lines to match full_width alignment
  • Fix the width of the Show Advanced Options toolbars using TB_GETIDEALSIZE
  • Remove the LOG and ABOUT buttons
  • Can we use ellipses for the ISOs displayed in the dropdown? Not easily. Will have to do without for now and use custom draw if users complain...
  • Log button should not be disabled during format/checksum operations
  • Reposition the multi toolbar buttons. LANG first, LOG last?
  • Flat button color change on mouse over? Nah
  • Remove positioning for main dialog from loc file
  • Split Partition Scheme and Target System
  • Link PS & TS to formatting
  • Sort out enabling/disabling of Start button
  • Sort out enabling/disabling of MBR/GPT/BIOS/UEFI
  • Sort out tooltips for Partition Scheme and Target System
  • Sort out DD vs ISO mode
  • FAT32 should not be allowed for Windows ISOs in BIOS mode
  • 3 levels of advanced mode (simple, normal, advanced)? Nah - Would only have worked in the old scheme anyway.
  • Resize all buttons so they have the same height (including Log)
  • Disable Start button if image option is selected and no image is loaded
  • Do we want to move the # button to multi toolbar? Not for now. Will see if users complain...
  • Do we want to replace the # button with a toolbar ?
  • Should we disable all controls while no image is selected? Yes!
  • Quick format gets re-enabled when hiding/showing advanced Drive Props
  • re-enable controls/previous image settings if new image fails to scan (as seen with debian-live-9.1.0-i386-lxde.iso)
  • Sort out the enabling/disabling of advanced options as well as boot selection dropdown
  • Don't re-display drive props in the log when switching boot type
  • Use toupper or whatever to convert our main buttons to uppercase. Might need an exception for "Schließen""SCHLIESSEN"
  • MSG_032 UNTRANSLATED for Thai? WTF?!? Was missing a b "en-US"
  • Update French translation
  • Update all translations to and set IDS_BOOT_SELECTION_TXT to MSG_278
  • Update all translations so that it doesn't crash on MBR/GPT/BIOS/UEFI
  • Selecting Windows To Go should change FS to NTFS
  • Use GPT for UEFI by default on Windows BIOS + EFI images, instead of MBR for BIOS
  • Fix NTFS not being selected when picking a Windows ISO
  • Improve fallback for the up/down icons
  • And now we're getting a bunch of MSG_000 UNTRANSLATED during ISO extraction...
  • Add a tooltip for the Save button
  • Resize the friggin label button so it has a proper height
  • Tie hash computation to new button
  • Grey/hide hash button if not appropriate
  • Populate Selected Image dropdown and keep history
  • Dammit: we don't have up and down icons for Advanced Options on Windows 7!
  • Set tooltips for Windows To Go and stuff
  • Tip/? about CSM appears when dropdown is not populated — avoid that.
  • Add a question mark tooltip at the end of the PS&TS dropdown that explains what UEFI-CSM is
  • Also add a question mark tooltip to explain what non CSM means
  • non CSM tooltip doesn't get set when selecting a Windows image
  • Remove all positioning on all dialogs (including IDD_NOTIFICATION)
  • Move IDC_ABOUT and IDC_LOG to MSG_305/306 or introduce new tooltips
  • Remove MSG_086/MSG_087
  • MSG_086. Do we need it back?
  • Test and fix the UI for zoom factors other than 200%:
    • No info icon for 16px
    • Section headers and line width is too big for 100%
    • Spacing between Drive PropertiesDevice and Format OptionsVolume Label seems off
    • Buttons are not the same height as dropdowns
    • Status font is too big
    • Items are too close to one another at 100% — we need to vertically space everything 1 or 2 em more at that DPI.
    • Right margin is smaller than left margin at 100% — Whyyyyyyyyy?
    • Advanced section toolbars eat on the checkboxes
    • Triangle buttons are not aligned with the checkboxes
    • Toolbar button spacing sucks at 100%
    • If button height it smaller than ddh on additional dialogs, resize them
  • Windows 7 issues:
    • One toolbar icon is missing
  • Go over the various TODO's still in the code
  • Oh great, now we're seeing UI differences with the margins and toolbars between MinGW compiled code and MSVC compiled code. Really trying my patience here, Microsoft!
  • Coalesce all UI commits into a single one, then review that before committing to master
  • Carefully review all translation changes and update loc Changelog
  • Do we want to have a "No Device (Please connect a device)" message when we don't have anything in the device dropdown? → Nah, not worth it
  • Produce an ALPHA, and notify translators about required translations

Post Translator Alpha:

  • Use MBR for BIOS + UEFI by default on Linux dual BIOS+UEFI images
  • We may want to prefer MBR as the partition scheme for non bootable
  • Sort other MBR vs GPT issues, including dual BIOS+EFI, and try to reselect current PS by default
  • Looks like we left a bunch of -> over in the Malay translation. Fix that.
  • Status bar text is not properly vertically aligned at 150% and 200% — Should we make the status bar height bigger?
  • Progress bar text overlay is not vertically centred Should (hopefully) be sorted with our custom control
  • If you have FreeDOS selected and are showing the advanced format options, the Quick Format option becomes disabled is you show the advanced drive properties... Was due to Large FAT32 options inconsistency
  • Windows To Go should remain selected if a user changes boot selection and back
  • Windows To Go/Image options are not preserved when switching languages
  • Improve fs reselection with SetFileSystemAndClusterSize()
  • Create our own 2-color icons for About/Settings/Language/Log/Save
  • Grey-inverted buttons for SELECT, START, CANCEL Too much work
  • Fix what happens when selecting an ISO with no UFD plugged, and then plugging a UFD
  • Partitioning as non-bootable/GPT/NTFS doesn't work
  • Button icons are not centered on the multitoolbar
  • Displaying the advanced options forces a redraw of the whole screen (e.g. if you have UltraEdit open in the background). That isn't the case with 2.18. WTF is going on?!? → Seems to have to to with InvalidateRect(hCtrl, NULL, TRUE); in ResizeMoveCtrl(). Can we drop it?
  • Create our own progress + text overlay bar, since Windows is useless
  • Add marquee mode to our progress bar
  • Do we care about the fact that we lose our Advanced toolbars at 100% DPI for the MSVC compiled version (but not the MinGW one) when advanced mode is enabled? → We do!
  • Use our custom progress bar to merge progress + download URL on new version dialog?Nah, not worth it for the 3.0 release...
  • Progress bar doesn't behave properly when writing ISOHybrids in DD mode
  • write error message doesn't display the error message → Looks like if you don't use %lld for large integers, the next variable pointer gets screwed up
  • Extreme left side of progress bar gets erased when starting to zero a large drive (e.g. 1.5 TB HDD)
  • Can't seem to zero a drive after writing archlinux-2018.01.01-x86_64.iso in DD mode (access denied) unless we first reformat to FreeDOS... → I think the issue has to do with having a handle to the actual Logical Drive before we can write sectors onto it. Because the partition is not recognized, we don't get an LD and therefore Windows shuts us down as soon as we reach it. Not sure what a good workaround would be at this stage...
  • We also seem to get 'timeout while waiting for logical drive' after writing a DD image (e.g. Debian Live). Win10 1803 issue? → Most likely a non-issue. If Windows doesn't recognize the partition, we of course won't be able to mount the LD, hence the timeout
  • Also in Win10 1803, UFD is not being listed after DD image write in safe eject list. Probably linked to above... → Yup, that one's a pure Windows issue
  • Might need to look for FAT label to identify an UEFI:NTFS partitions as some distros (e.g. Debian Live) use the 0xef partition code with their own small EFI boot partition
  • Can we do something about the margins not being taken into account when displaying the log window?
  • This YubiKey Smart Card Minidriver automatic reinstallation by Windows is really starting to bug me, and the workaround from here doesn't seem to work. Is there anything we can do to force uninstall that crap before we call signtool? → gpedit driver installation seems to work now, at long last!
  • Sort out tabbing order, especially for the new toolbars and toolbar buttons
  • That extra tab to the disabled hash toolbar button is annoying...
  • Do we want to tab to the CSM help blurb? If so, how? → Not for now... We'll look into it if we are asked to.
  • Is there any way to force tabbing within the multitoolbar (instead of having to switch to using arrows instead of tab)? → As per Microsoft official documentation: "Once a menu bar has input focus, it is navigated independently of the remainder of the window, handling all arrow keys"
  • Is there any way to silently label our toolbar buttons to help visually impaired people using a screen reader? → Will look into it if asked...
  • Do we need to care about making sure we don't disable a control that has focus as per this? → I don't think so: As far as I can see, if someone uses keyboard to enable/disable stuff the control that triggered the disabling will never be disabled itself so this should be a non-issue.
  • Do we want to change the color of our ? tooltip to match the toolbar icons? → We do!
  • We have to unmirror some of the toolbar icons for RTL languages, notably (✓). Maybe this can help?
  • I think our RTL tooltips are broken — Why the £$^& are they not right aligned?
  • Anything we can do to improve RTL switching in UEFI/CSM messages...? → I'll leave that as a job to tomorrow me! (i.e. moved to 3.1)
  • MSG_199/200 are no longer needed
  • ...and now the toolbar icons are not centered on Windows 7. Seriously Microsoft, WTF?!? → Looks like the root issue is that centering is off at 1x scaling. Sigh...
  • If you create a Windows 10 UFD as MBR/NTFS, once the creation is complete, partition scheme will switch to GPT...
  • We get seem to get persistent/unwanted Show the log tooltips while a formatting operation is in progress. e.g. Create a Windows 10 USB, open the log, close the log, move cursor back towards main dailog. Looks like this happens as soon as main dialog gets the log button highlighted an you move the mouse... Might work around this by setting focus to Cancel once the format operation is started (which is what I thought we were already doing anyway?)
  • That note about "clicking the white triangle" in the log is no longer accurate.
  • Chase translators about missing messages highlighted by .loc validation script
  • Try to get at least 80% of the translations updated

Translation Update Status (34/38 = 89.5%):

  • Arabic
  • Azerbaijani (Latin)
  • Bulgarian
  • Chinese (Simplified)
  • Chinese (Traditional)
  • Croatian
  • Czech
  • Danish
  • Dutch
  • Finnish
  • French
  • German
  • Greek
  • Hebrew
  • Hungarian
  • Indonesian
  • Italian
  • Japanese
  • Korean
  • Latvian
  • Lithuanian
  • Malay
  • Norwegian
  • Persian
  • Polish
  • Portuguese (Brazil)
  • Portuguese (Standard)
  • Romanian
  • Russian
  • Serbian (Latin)
  • Slovak
  • Slovenian
  • Spanish
  • Swedish
  • Thai
  • Turkish
  • Ukrainian
  • Vietnamese

@pbatard pbatard added this to the 3.0 milestone Dec 15, 2016

@pbatard pbatard self-assigned this Dec 15, 2016

@pbatard pbatard added the enhancement label Dec 15, 2016

@pbatard pbatard changed the title from [INTERNAL] List of 3.0 small(ish) enhancements and fixes to [INTERNAL] List of 3.0 enhancements and fixes Mar 21, 2017

pbatard referenced this issue Jul 27, 2017

[misc] yay, more XP fixes...
* Since I half expect 2.16 to be the last version of Rufus to support Windows XP

Repository owner locked as off topic and limited conversation to collaborators Jan 16, 2018

@pbatard pbatard closed this May 29, 2018

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.