review icon managing group type
review canvasicon, many things to remove
pulseaudio icon missing
test pipewire

voir : canvas initial_pos

vérifier ouverture des gpos à l'ancienne


Passage à GroupedConns:
    # PortWidget add_line_to_port: pour itemChange (selected + in_front)
    # set_opacity
    set_connection_in_front:
        pour filter_groups: Attention à RaySession


Peut-être revoir BoxLayout pour avoir une classe fiable après init from box
Pot de pus du hardware rack à gérer
animate hidding PortmOde.BOTH connections

Views menu:
    if at least TWO views:
        list view menus (disable the current view)
        separator
    new_view
    remove the view -> view list
    rename the current view
    remove absent positions

    Set Forget absents disable if no absents

Views widget:

RaySession/Patchance:
    gérer le viewwidget

arranger signal chain:
    espacement des collones fixe en fonction de la grille
    choix du layout des boites:
        évaluer la largeur mini de la colonne
            choisir la plus grande largeur <= la largeur mini
        mode emballé
    caller les inputs à gauche de la colonne
        les outputs à droite
    choisir les places des non-connectés en fonction de leurs dimensions

animations et évènements:
    Attention, fonctionne pas avec arranger,
    l'arranger décide de split/join par exemple.
    Pour chaque changement d'une boite:
        * le manager rentre dans GroupPos le changement
        * le manager transmet ses volontés au patchcanvas (qui lance l'anim)
        * une fois l'anim terminée, le manager demande au patchcanvas
            * de ré-évaluer les hidden sides
            * (de split/join les groupes changés)
    Après l'animation, manager check

    join_group fait de la repulsion à la fin,
        mais ça ne devrait pas se faire si animate_before_join est demandé
        dans un chg de vue

Raccourci clavier changer de vue ne doit rien faire si c'est déjà la vue active.

spacers dans tools widget
repère 0,0 ne pas afficher

patchcanvas check:
    portgrp.widget vérifier si Optional est nécessaire (un peu chiant)
    porgrp et portobject: instantiation directe
    patchcanvas check if init has been run
    save cache with SIGTERM too
    theme @property instead of methods when possible

