### GUI Libraries

#### TGTextButton

- Fix a problem with new style when using `SetBackgroundPixmap()` with flat buttons. To be able to set (and keep) a pixmap as background, one should set the `kOwnBackground` flag. E.g.:

         fButton->SetBackgroundPixmap(img->GetPixmap());
         fButton->ChangeOptions(fButton->GetOptions() | kOwnBackground);
         fButton->SetStyle("modern");

#### TRootBrowser

- Use the `ProcessedConfigure` signal to be notified when an embedded frame change its layout, to properly call `Layout()` on its parent frame, to automatically display the change (for example, showing the EventStatusBar of a TCanvas embedded in a TBrowser was only appearing after manually resizing the window)

#### TGFileBrowser

- Fixed memory leak when browsing TList inside a file: don't read the list content each time one click on the list
- A protection for empty directories (e.g. not containing any key) as been added. Solves the bug #94028, TBrowser crash trying to browse sub-root-directories in memory

#### TGFSComboBox

- Fix a problem when the current directory is similar to $ROOTSYS, for example with $ROOTSYS being /home/user/root and $PWD being /home/user/rootdev, only "dev" was displayed, stripping off $ROOTSYS
- Properly handle backslashes as directory separators on Windows

#### TGFileDialog

- Change the file name only if the selected entry is not a directory (as reported on the forum)

#### TGMsgBox

- Implemented "Enter" and "Escape" key handling in TGMsgBox (used as Ok and Cancel buttons, if they are there)

#### TGTextEntry

- Several issues with text selection and combination of cursor position and text alignment in text entries have been solved

#### TRootCanvas

- A check has been added for the case where the canvas is embedded (e.g. in the browser), then the layout of the main frame has to be re-applied when showing/hiding the editor
- Stay in the current (working) directory when using "File -> Save as..." from a canvas or from a text editor (as the file dialog changes the current directory)

#### TFitParametersDialog

- Implemented keyboard navigation (tab and shift+tab) between the different number entry fields of the dialog

#### TFitEditor

- Layout improvements and removed useless text in message box

#### TTreeViewer

- Fixed a problem with array names (e.g. `fVertex[]`) as reported on the forum)

#### TGWin32

- Fixed several resource leaks (including GDI & USER objects)

#### Attributes editors

- The transparency sliders change the transparency only for the currently edited object.

#### Object editing on canvas

- The "move opaque" way to edit object on canvas, has been extended to all kind of objects.
- When in move opaque mode, a canvas can show guide lines to place object relatively to each other. A new resource in `etc/system.rootrc` allows to turn the feature on or off: `Canvas.ShowGuideLines`.
- For a fine adjustment at the pixel level, the arrow keys can be used to move object on pad.
- The zoom on axis and on 2D histogram has be improved. A shaded area is shown instead on simple lines. Also it is possible to zoom a 2D histogram with a shaded rectangle.

#### Saving Files

- When saving files from a canvas, the default file type is now .pdf instead of .ps, since pdf is probably becoming more popular than ps.
- In the "File Save Dialog", there is now a default file name and its extension (if a specific one is selected), and the name is highlighted, so when the user types something, only the file name is changed.
- The default file type can be changed with a new `Canvas.SaveAsDefaultType` option in `etc/system.rootrc` (default being pdf).

#### ROOT browser and pad editor

- The Pad Editor is now embedded in the left tab of the browser instead of inside the canvas itself, so the layout of the canvas remains untouched when opening the editor.