Partage
  • Partager sur Facebook
  • Partager sur Twitter

[nxi] Navigateur générique

    6 mars 2020 à 4:36:41

    Salut,

    nxi est un navigateur qui a pour but d'être entièrement paramétrable et personnalisable en cours de développement.

    Il n'est pas limité à afficher des pages web, son architecture permet de faire ce qu'on veut comme par exemple ajouter un explorateur de fichier pour faciliter les interactions local/web (module qui sera prévu), utiliser un moteur de rendu 3D pour les pages etc ...

    Il est organisé autour de différents systèmes principaux :

    - Le système de commandes (raccourcis, commandes customs ...)
    - Le système d'interface (gestion des styles/thèmes, de l'UI)
    - Le système de page (gestions de pages de n'importe quel type web/explorer/module organisées par un graph etc ...)
    - Le système de module (gestion des modules statiques/dynamiques permettant de personnaliser tout ça)

    La gestion du rendu des pages est également paramétrable, voici un test par exemple d'une interface utilisant un moteur de rendu 3D pour afficher des "page_node" (https://i.imgur.com/uRkcIlC.mp4)
    https://i.imgur.com/uRkcIlC.mp4



    Et voilà quelques news de l'avancement en vidéo (https://i.imgur.com/d9odgTh.mp4)



    - Les suggestions peuvent être de différents types (commande, page, text)
    - Les commandes peuvent avoir des paramètres, la barre de commande se met en mode "param" quand une commande a besoin de paramètres utilisateur
    - Une commande peut ajouter des suggestions pour ses paramètres
    - Une commande peut avoir un mode preview qui permet d’exécuter la commande avec le paramètre sélectionné dans les suggestions
    - Une commande peut avoir des raccourcis de type {combo} + {sequence}. Par exemple pour {CTRL ALT} {N, T}, la commande associée est exécutée lorsque CTRL + ALT est maintenu puis la séquence N, T est entrée.
    - Les raccourcis affichent les suggestions des commandes associées qui match le combo/séquence en cours

    A suivre :
    - On rend le code plus propre pour tout ce qui a été testé plus haut :p
    - On continue le système de pages
    - On ajoute des commandes liées aux pages
    - On trouve une solution pour visualiser le graph de page
    - Puis plein d'autres trucs trop funs !

    • Partager sur Facebook
    • Partager sur Twitter
      19 mars 2020 à 14:45:54

      Salut,

      Ajout d'un système de contextes : https://i.imgur.com/Gi8Dv2i.mp4

      On est dans le contexte "command", les suggestions de commandes sont affichées, on tape une commande qui requiert des paramètres, donc on passe dans le contexte "command_executor", les suggestions chercheront dans les suggestions de paramètre de la commande.

      On peut être sur plusieurs contextes en même temps, si on est sur le contexte "page" et "command" en même temps, la recherche de suggestion se fera sur la liste des commandes et des pages ouvertes.

      Les contextes sont applicables aux commandes et aux raccourcis.

      -
      Edité par ads00 19 mars 2020 à 14:46:33

      • Partager sur Facebook
      • Partager sur Twitter
        19 mars 2020 à 16:44:32

        Salut,

        Es tu seul où travaille-tu en équipe ?

        • Partager sur Facebook
        • Partager sur Twitter
          19 mars 2020 à 21:14:12

          Beau travail. Tu travaille sur quelle logiciel ou langage ?

          • Partager sur Facebook
          • Partager sur Twitter
            28 mars 2020 à 22:50:01

            Salut,

            Quelques news :

            • ajout de fonctionnalités pour les graphs
            • switch de pages via la molette quand on cible le page_node
            • gestions des pages / menus via les clicks souris (left/middle pour focus/suppression)
            • sauvegarde des pages via ndb
            • les images pour le style s’affichent maintenant dans le command_menu
            • ajout d’une interface de test pour visualiser les node_page
            • ajout des icones pour les pages
            • Partager sur Facebook
            • Partager sur Twitter
              5 avril 2020 à 23:01:31

              Salut,

              Voila un test des différents types de modules disponibles :

              module js avec api webext

              document.body.style.border = "5px solid blue";
              document.body.innerHTML = "prout" + document.body.innerHTML;
              
              function test(activeInfo) {
                  document.getElementById("zeta").innerHTML = "current page id : " + activeInfo.tabId;
              }
              
              browser.tabs.onActivated.addListener( test );
              

              module dynamique

              #include <nxi>
              int nxi_module_load(nxi::api::core& nxi)
              {
                  nxi.command_system().add("nxi_dyn", [&](const nxi::values&)
                  {
                      nxi.error("dyn module command triggered");
                  });
              }
              

              module compile time

              void nxi_static::on_load()
              {
                  auto cmd = nxi::command("nxi_static", "action", [this](const nxi::values&)
                  {
                      nxi_core_.error("nxi_static module is loaded");
                  });
              
                  nxi_core_.command_system().add(std::move(cmd));
              }
              

              https://www.youtube.com/watch?v=yQw8fm_L_LY

              Si quelqu'un veut m'aider à implémenter tout ça <https:> je dis pas non :p</https:></nxi>

              -
              Edité par ads00 5 avril 2020 à 23:03:24

              • Partager sur Facebook
              • Partager sur Twitter

              [nxi] Navigateur générique

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown