Code Monkey home page Code Monkey logo

toolbox-tuner's Introduction

Toolbx Tuner

Toolbx Tuner is a tool to improve the experience with toolbx.

image image

Project Roadmap

The project is currently only an mvp that only is able to list toolboxes and launch a terminal inside of them.

Installing the application

The application as of now is only available as a development build. You can download it here but be aware of unfinished features and possible instabilities.

Compiling Source

This project now uses Gnome Builder as main build tool and the Flatpak toolchain.

Recommended: Building using Flatpak

  1. Install dependencies:
    1. flatpak install org.flatpak.Builder
    2. flatpak install org.gnome.Sdk
    3. flatpak install org.freedesktop.Sdk.Extension.rust-stable
  2. Compile with:
    • Flatpak Builder by opening the project folder and pressing run or
    • Run build_install_local.sh

Traditional Compilation

  1. This project is built with Relm4, therefore, the pre-requisites for gtk4 need to be installed. Follow the gtk4-rs book's installation instructions.
  2. Compile with:
    • cargo build or
    • cargo run

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

toolbox-tuner's People

Contributors

13hannes11 avatar dependabot[bot] avatar kianmeng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

toolbox-tuner's Issues

Separate home folder

  • Allow toolbox to use separate home folder (script exists)
  • Make seperate homefolder user configurable (#6 )
  • Allow users to create symbolic links between directories of seprate home and actual home directory (moved to seperate issue #33)

Refactor Toolbx List management

The goal is to have one toolbx owner thread that manages the toolboxes. This means it:

  • Runs commands for toolboxes
  • Gives update notifications to UI components
  • Recieves commands from UI

This might be more work than it seems and needs some exploration on how to do it best.

General Settings

  • Default Update Settings (nothing/notify/autoupdate)
  • Default home folder base location ~/.toolbox/homedir/
  • Use separate home by default (yes/no)
  • Handle overrides in local toolbox settings

Dialogue: Detected external deletion of toolbox

If the list command of a toolbox misses toolboxes that settings exist for inform the user and prompt about what to do. This can be done as an info banner or with a dialogue. The options to the user should be:

  • Delete Settings
  • Keep Settings (settings will be applied to a toolbox with the same name if it ever gets created again)

Toolbox Status

  • Display toolbox status (running/stopped)
  • Refresh toolbox status continiously (every 10 sec, or after interaction)
  • Stop toolbox
  • Start Toolbox

Flatpak support

  • Docker Image to build Flatpak (#29)
  • Proper Description for Software Center
  • Add screenshot to app manifest

First Start Guide

Dialogue on first start to set certain preferences e.g:

  • Homefolder (default seperate or shared)
  • Terminal program (gnome-terminal, Console, BlackBox)

Implement Toolbx Commandline Interaction

  • Start containers
  • Stop containers
  • Initialize container struct from name
  • Write tests that use toolbox (moved to seperate issue #23 )
  • Setup docker/podman test image
  • Fix podman test image not working with toolbox (moved to seperate issue #24)

Toolbox updater

  • Allow applications inside the toolbox to be updated
  • Check for application updates inside of the toolbox (if enabled)
  • add configuration options to toolbox settings
  • add configuration options to global settings
  • Automatic updates (no, notification, auto apply)

AppImage support

Modify code to also allow running the tool as appimage + automatic buid.

Toolbox settings

Have a toolbox settings window that stores individual settings per toolbox.

  • Create struct for settings
  • Connect individual settings to model
  • On settings change (individual) update model and save them

Application Manager

  • Add applications from toolbox to application menu
  • Remove applications from toolbox from application menu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.