Making a GUI for lima VM

Related tags

GUI lima-gui
Overview
Comments
  • starts but doesn't do anything

    starts but doesn't do anything

    I built this on my mac. It seems to run ok, but doesn't show the existing lima vms I have already running. I also tried to create a vm with it, and nothing happens.

    bug help wanted macos 
    opened by hemna 9
  • Fail to build on mac + qt 6.2.0

    Fail to build on mac + qt 6.2.0

    Trying this out on my mac, I installed qt 6.2.0 ( brew install qt ) and got :

    $ make
    /Library/Developer/CommandLineTools/usr/bin/clang++ -c -pipe -stdlib=libc++ -O2 -std=gnu++1z  -arch x86_64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -mmacosx-version-min=11 -Wall -Wextra -fPIC -DQT_NO_TERMWIDGET -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -IQSourceHighlite -I/usr/local/lib/QtWidgets.framework/Headers -I/usr/local/lib/QtGui.framework/Headers -I/usr/local/lib/QtCore.framework/Headers -I. -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/AGL.framework/Headers -I/usr/local/share/qt/mkspecs/macx-clang -F/usr/local/lib -o main.o main.cpp
    In file included from main.cpp:56:
    ./window.h:74:7: error: definition of type 'QStringList' conflicts with type alias of the same name
    class QStringList;
          ^
    /usr/local/lib/QtCore.framework/Headers/qcontainerfwd.h:64:7: note: 'QStringList' declared here
    using QStringList = QList<QString>;
          ^
    main.cpp:62:40: warning: 'AA_UseHighDpiPixmaps' is deprecated: High-DPI pixmaps are always enabled. This attribute no longer has any effect. [-Wdeprecated-declarations]
        QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
                                           ^
    /usr/local/lib/QtCore.framework/Headers/qnamespace.h:462:30: note: 'AA_UseHighDpiPixmaps' has been explicitly marked deprecated here
            AA_UseHighDpiPixmaps Q_DECL_ENUMERATOR_DEPRECATED_X(
                                 ^
    /usr/local/lib/QtCore.framework/Headers/qcompilerdetection.h:1151:45: note: expanded from macro 'Q_DECL_ENUMERATOR_DEPRECATED_X'
    #  define Q_DECL_ENUMERATOR_DEPRECATED_X(x) Q_DECL_DEPRECATED_X(x)
                                                ^
    /usr/local/lib/QtCore.framework/Headers/qcompilerdetection.h:1146:36: note: expanded from macro 'Q_DECL_DEPRECATED_X'
    #  define Q_DECL_DEPRECATED_X(x) [[deprecated(x)]]
                                       ^
    1 warning and 1 error generated.
    make: *** [main.o] Error 1
    
    opened by tibcoplord 3
  • Potential GPL2 concern

    Potential GPL2 concern

    Thanks a lot for working on this, but I'm not sure this project can be licensed under the terms of 3-clause BSDL, as it seems linked with qtermwidget, which seems licensed under the terms of GPL2 https://github.com/lxqt/qtermwidget/tree/0.17.0#overview

    opened by AkihiroSuda 3
  • Add emoji support to the yaml text editor

    Add emoji support to the yaml text editor

    Some of the example files are using emojis, like "green circle":

    # CPUs: if you see performance issues, try limiting cpus to 1.
    # 🟢 Builtin default: 4
    cpus: null
    
    # Memory size
    # 🟢 Builtin default: "4GiB"
    memory: null
    
    # Disk size
    # 🟢 Builtin default: "100GiB"
    disk: null
    

    But these codepoints are not currently supported by the text editor:

    lima-gui-yaml-editor


    See e.g. https://unicode.org/emoji/charts/full-emoji-list.html#1f7e2

    There is support for this in https://github.com/raven-worx/qrwemoticons

    • https://www.openmoji.org/ (CC BY-SA 4.0)

    • https://www.openmoji.org/library/emoji-1F7E2/

    opened by afbjorklund 1
  • Show linux distribution being used by an instance

    Show linux distribution being used by an instance

    Parse the systemd /etc/os-release file for some interesting information.

    PRETTY_NAME="Ubuntu 21.10"
    NAME="Ubuntu"
    VERSION_ID="21.10"
    VERSION="21.10 (Impish Indri)"
    VERSION_CODENAME=impish
    ID=ubuntu
    ID_LIKE=debian
    HOME_URL="https://www.ubuntu.com/"
    SUPPORT_URL="https://help.ubuntu.com/"
    BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
    PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
    UBUNTU_CODENAME=impish
    
    NAME="Alpine Linux"
    ID=alpine
    VERSION_ID=3.14.3
    PRETTY_NAME="Alpine Linux v3.14"
    HOME_URL="https://alpinelinux.org/"
    BUG_REPORT_URL="https://bugs.alpinelinux.org/"
    BUILD_ID="v0.2.5"
    VARIANT_ID="std"
    
    NAME="Fedora Linux"
    VERSION="35 (Cloud Edition)"
    ID=fedora
    VERSION_ID=35
    VERSION_CODENAME=""
    PLATFORM_ID="platform:f35"
    PRETTY_NAME="Fedora Linux 35 (Cloud Edition)"
    ANSI_COLOR="0;38;2;60;110;180"
    LOGO=fedora-logo-icon
    CPE_NAME="cpe:/o:fedoraproject:fedora:35"
    HOME_URL="https://fedoraproject.org/"
    DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f35/system-administrators-guide/"
    SUPPORT_URL="https://ask.fedoraproject.org/"
    BUG_REPORT_URL="https://bugzilla.redhat.com/"
    REDHAT_BUGZILLA_PRODUCT="Fedora"
    REDHAT_BUGZILLA_PRODUCT_VERSION=35
    REDHAT_SUPPORT_PRODUCT="Fedora"
    REDHAT_SUPPORT_PRODUCT_VERSION=35
    PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
    VARIANT="Cloud Edition"
    VARIANT_ID=cloud
    

    Maybe reuse the logos from the quick start ? (Should map with the "ID")

    enhancement 
    opened by afbjorklund 1
  • Add URL... button to Quick Start

    Add URL... button to Quick Start

    For starting directly from an URL, similar to limactl start

    Goes next to the Advanced... button (which opens editor)

    Simple text dialog, for copy/paste of the URL to use.

    Handle github.com addresses, replace with "Raw" YAML:

    Input https://github.com/lima-vm/lima/blob/master/examples/ubuntu.yaml

    Download https://raw.githubusercontent.com/lima-vm/lima/master/examples/ubuntu.yaml

    ~~Possibly add a "Edit YAML" button, for editing a temp file.~~

    enhancement 
    opened by afbjorklund 1
  • Add basic interaction with containers and images

    Add basic interaction with containers and images

    It would be nice to at least be able to display the running containers and stored images...

    • nerdctl.lima container list - https://github.com/afbjorklund/lima-gui/wiki/Containers

    • nerdctl.lima image list - https://github.com/afbjorklund/lima-gui/wiki/Images

    Start with nerdctl (containerd), but should be simple to add docker and podman support:

    • docker.lima

    • podman.lima

    enhancement 
    opened by afbjorklund 1
  • Show current resources being used by an instance

    Show current resources being used by an instance

    Suggestion is to just use ssh, and run some commands on VM...

    • top -b -n 1
    • vmstat 1 2
    • free -h
    • df -h /

    Preferrably it should be done by QEMU/lima, if it is simple to do ?

    Note that these "inside" values might not line up with the outside.

    e.g. 4GiB memory set for VM, ends up being 3.8Gi total memory.

    e.g. 100GiB disk set for VM, ends up being 97Gi disk size.


    Could also show the disk usage of the lima instance directory, or the cpu/memory usage of the qemu process (qemu.pid) ?

    enhancement 
    opened by afbjorklund 1
  • Allow choosing which Lima to use, using an application settings dialog

    Allow choosing which Lima to use, using an application settings dialog

    https://doc.qt.io/qt-5/qsettings.html https://doc.qt.io/qt-5/qdialog.html

    Fiellds such as:

    • limactl (default value: "limactl") Relative values are searched in PATH.

    • LIMA_HOME (default value: ~/.lima) Remember to expand any ~ to $HOME.

    Maybe others, too ?

    • TERMINAL
    enhancement 
    opened by afbjorklund 1
  • Lima user manual is needed for getting started

    Lima user manual is needed for getting started

    Currently there are just the low-level docs on https://github.com/lima-vm/lima/

    brew install lima
    

    It would be nice if there was a real user manual, preferrably written in markdown ?

    Example: https://github.com/LibreSolar/md-manual-template (likely to be new git)

    documentation 
    opened by afbjorklund 1
Releases(v0.2.2)
Owner
Anders Björklund
System developer working with continuous integration and delivery, using distributed build systems based on Linux and Open Source.
Anders Björklund
This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI

ImGui Goodies This is a collection of widgets and utilities for the immediate mode GUI (imgui) that I am developing for the critic2 GUI. Currently, th

null 95 Nov 19, 2022
Plugin for Rainmeter: Making widgets using web technology

PluginWebView Plugin to take advantage of Microsoft Edge WebView2 to display web content on a skin. WebView window is attached into skin window so all

null 29 Nov 20, 2022
Purely native C++ cross-platform GUI framework for Android and iOS development. https://www.boden.io

BODEN CROSS-PLATFORM FRAMEWORK Build purely native cross-platform experiences with Boden Website ⬡ Getting Started ⬡ API Reference ⬡ Guides ⬡ Twitter

Ashampoo Systems GmbH & Co KG 1.6k Dec 27, 2022
Elements C++ GUI library

Elements C++ GUI library Introduction Elements is a lightweight, fine-grained, resolution independent, modular GUI library. Elements is designed with

Cycfi Research 2.5k Dec 30, 2022
Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL

NanoGUI NanoGUI is a minimalistic cross-platform widget library for OpenGL 3+, GLES 2/3, and Metal. It supports automatic layout generation, stateful

Mitsuba Physically Based Renderer 1.2k Dec 28, 2022
A single-header ANSI C immediate mode cross-platform GUI library

Nuklear This is a minimal-state, immediate-mode graphical user interface toolkit written in ANSI C and licensed under public domain. It was designed a

Immediate Mode UIs, Nuklear, etc. 6.7k Dec 24, 2022
A library for creating native cross-platform GUI apps

Yue A library for creating native cross-platform GUI apps. Getting started Documentations FAQ Development Examples Sample apps (with screenshots) Muba

Yue 2.8k Jan 7, 2023
A barebones single-header GUI library for Win32 and X11.

luigi A barebones single-header GUI library for Win32 and X11. Building example Windows Update luigi_example.c to #define UI_WINDOWS at the top of the

Nakst 235 Dec 30, 2022
Clight GUI written in Qt.

CLight GUI Clight GUI written in Qt. Huge thanks to @FedeDP for writing Clight and Clightd, the daemons upon which this is built on.

null 62 Dec 21, 2022
YARA pattern matching scannner GUI

YARA GUI This is a GUI for the binary pattern matching scanner YARA. Features Drag and drop targets Directory scanning Compiled rule cache Favorite/re

null 9 Jul 2, 2021
It's a simple Canvas GUI for Unreal Engine 4 with mouse operation

ue4-canvas-gui It's a simple Canvas GUI for Unreal Engine 4 with mouse operation. Included elements: Rendering Text (left/center); Rendering Rects; Re

Superior. 56 Dec 26, 2022
Proof-of-concept code to reconstruct the GUI of a Xen guest running Windows

vmi-reconstruct-gui A proof-of-concept to reconstruct the GUI of a Xen VM running Windows 7. ❗ Disclaimer This repository is work in progress. It curr

Jan 12 Aug 21, 2022
Nvui: A NeoVim GUI written in C++ and Qt

Nvui: A NeoVim GUI written in C++ and Qt

Rohit Pradhan 1.6k Jan 7, 2023
✔️The smallest header-only GUI library(4 KLOC) for all platforms

Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc

null 6.6k Jan 8, 2023
GUI for calibrating the wacom tablet to a screen or window

wacom-settings GUI for calibrating the wacom tablet to a screen or window. Learning project for writing in C. Uses GTK4 library for the GUI and X11 li

null 21 Oct 11, 2022
rCalc is a Simple GUI Calculator

rCalc is a simple calculator created as a hobby project to improve my C programming language knowledge and GUI creation skills. GTK3 toolkit is used to create the GUI.

null 3 Aug 1, 2022
Python GUI for seeing what's happening inside a fuzzer

Fuzzwatch Fuzzwatch is a Python GUI made to show what's going on inside of a fuzzer. It is currently integrated with Manul, which is a coverage-guided

null 12 Nov 17, 2022
Low Latency GUI on top of Vulkan

Low Latency GUI on top of Vulkan

the ttauri project 484 Dec 26, 2022
ChessBurger is a modern chess GUI written by Progmaster.

ChessBurger ChessBurger is a modern chess GUI written in C++. The reason I started working on a new chess GUI, is because the GUIs out there are somew

Progmaster 1 Nov 9, 2021