Skip to content

MauiGnome is an MDI (Multiple Document Interface) that enables managing multiple windows within a single application. Inspired by GNOME, it combines efficient multitasking with the power of .NET MAUI, delivering a modern, intuitive, and fully cross-platform design.

License

Notifications You must be signed in to change notification settings

fpedrolucas95/MauiGnome

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MauiGnome

MauiGnome MauiGnome

MauiGnome é uma biblioteca MDI (Multiple Document Interface) desenvolvida para .NET MAUI e inspirada na interface GNOME. Ela permite gerenciar várias janelas em um único aplicativo, oferecendo funcionalidades como redimensionamento, movimentação e organização multitarefa.

Sendo totalmente multiplataforma, MauiGnome funciona em desktops e dispositivos móveis.

🚀 Funcionalidades

  • Gerenciamento de múltiplas janelas em um container
  • Janelas redimensionáveis e móveis
  • Interface personalizável
  • Suporte a temas claro/escuro

🛠️ Como Implementar

  1. Adicione os arquivos base:
    • Clone os arquivos MDIContainer.cs e MDIWindow.cs para uma pasta Controls no seu projeto
    • Adicione a referência no XAML:
xmlns:controls="clr-namespace:YourNamespace.Controls"
  1. Adicione o Container MDI:
<controls:MDIContainer 
    Windows="{Binding Windows}"
    ActiveWindow="{Binding ActiveWindow, Mode=TwoWay}" 
    HorizontalOptions="Fill" 
    VerticalOptions="Fill"/>
  1. Crie suas janelas:
// Crie uma nova janela
var window = new MDIWindow
{
    Title = "Minha Janela",
    WindowContent = new MinhaView(),
    WindowWidth = 400,
    WindowHeight = 300
};

// Adicione ao container
Windows.Add(window);
  1. Gerencie suas janelas:
// Ative uma janela
window.Activate();

// Feche uma janela
window.Close();

📦 Recursos Incluídos

  1. Gerenciamento de Janelas:

    • Movimentação
    • Redimensionamento
  2. Personalização:

    • Temas claro/escuro
    • Ícones personalizados
    • Estilos customizáveis
  3. Eventos:

    • Ativação/Desativação
    • Abertura/Fechamento
    • Alteração de estado

🧪 Exemplo Prático

Este repositório inclui uma aplicação de exemplo demonstrando:

  • Calculadora funcional com múltiplas instâncias
  • Interface inspirada no GNOME
  • Implementação completa dos recursos

📜 Licença

Este projeto está sob a licença AGPL-3.0. Consulte o arquivo LICENSE.txt para mais detalhes.

About

MauiGnome is an MDI (Multiple Document Interface) that enables managing multiple windows within a single application. Inspired by GNOME, it combines efficient multitasking with the power of .NET MAUI, delivering a modern, intuitive, and fully cross-platform design.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages