v0.78.0

Textualize/textualv0.78.0Aug 27, 2024by willmcgugan

AI Summary

Introduces a maximize feature that allows any widget to temporarily fill the screen, improving focus on specific views. The release also adds minimize functionality and new class variables for widget configuration.

Key Highlights

  • New `Screen.maximize` and `Screen.minimize` methods.
  • New system commands for maximizing and minimizing screens.
  • Added `Widget.is_maximized` and `Widget.allow_maximize` attributes.
  • New class variables `Widget.ALLOW_MAXIMIZE` and `Screen.ALLOW_IN_MAXIMIZED_VIEW`.

New Features

  • Maximize and Minimize system commands
  • `Screen.maximize`
  • `Screen.minimize`
  • `Screen.action_maximize`
  • `Screen.action_minimize`
  • `Widget.is_maximized`
  • `Widget.allow_maximize`
  • `Widget.ALLOW_MAXIMIZE`
  • `Screen.ALLOW_IN_MAXIMIZED_VIEW`

Full Release Notes

This release adds a new [`maximize`](https://textual.textualize.io/api/screen/#textual.screen.Screen.maximize) method, which you can use to temporarily full the screen with any given widget. This can be great for allowing the user to focus on a particular view.

You can maximize via the command palette, or you can bind a key with the action `screen.maximize`.

Here are some screenshots of this feature in action:

<img width="1302" alt="Screenshot 2024-08-27 at 13 17 19" src="https://github.com/user-attachments/assets/febf001d-ad6d-4751-b5a4-7e957b0b6e05">

<img width="1302" alt="Screenshot 2024-08-27 at 13 17 24" src="https://github.com/user-attachments/assets/98684073-9e4f-44cc-9e67-d26d5ae3f6c3">

<img width="1302" alt="Screenshot 2024-08-27 at 13 17 30" src="https://github.com/user-attachments/assets/aeac55d6-df53-408a-b1d8-648a0ef35c45">

## [0.78.0] - 2024-08-27

### Added

- Added Maximize and Minimize system commands. https://github.com/Textualize/textual/pull/4931
- Added `Screen.maximize`, `Screen.minimize`, `Screen.action_maximize`, `Screen.action_minimize`, `Widget.is_maximized`, `Widget.allow_maximize`. https://github.com/Textualize/textual/pull/4931
- Added `Widget.ALLOW_MAXIMIZE`, `Screen.ALLOW_IN_MAXIMIZED_VIEW` classvars https://github.com/Textualize/textual/pull/4931