* Properties -> UI files * PropertiesPageWidget * Move UI init to a separate virtual method ??? * PropertiesPageWidget hierachy (Re-introduce: individual update of each property) * PropertiesGeneral * PropertiesGeneralLibvirt * PropertiesGeneralOvirt * PropertiesGeneralRemote * PropertiesGeneralSpice * PropertiesGeneralVnc * PropertiesSystem * PropertiesDevices * PropertiesDevicesLibvirt * PropertiesDevicesSpice * Drop * Now redundant UI code/API from PropertyWidget * Any changes in the branch that were only needed for smooth transition away from Property hierarchy * PropertiesPage enum? * PropertiesPageWidget -> UI file ? * What's with LibvirtMachineProps.add_ram_property clearing reboot_req * Port build to meson * Yelp * libgd * Update comment about possible workaround * VAPI checks * check for vala version * behave installed tests * configure summary: https://github.com/mesonbuild/meson/issues/757 * can be lived without? * DISABLE_DEPRECATED in AM_CPPFLAGS * Deal-breaker * sources from libgd_dep get ignored and src rules are executed before vapi generation * GPU passthrough * Add hostdev support to libvirt-glib * Allow secondary usb input devices to be redirected * Binary to handle privileged work (polkit or setuid) * required option: --add or --remove * parameter: device list * --add * Setup kernel: * Setup params 'amd_iommu=on intel_iommu=on rd.driver.pre=vfio-pci' * grubby --update-kernel=ALL --args=ARGS * Append ARGS to GRUB_CMDLINE_LINUX= line in /etc/default/grub * Setup initrd * Add a file /etc/modprobe.d/gnome-boxes.conf: "options vfio-pci ids=ID1,ID2" * Add a file /etc/dracut.conf.d/gnome-boxes.conf: "add_drivers+="vfio vfio_iommu_type1 vfio_pci vfio_virqfd" * UI * Show only if: * There is secondary GPU of right model * Required tools are available (show warning on console) * PXE boot * host->guest comms for Builder/devs * scp not convenient enough * dbus api to transfer things & running commands in guests? * Filechooser in Properties and Wizard Topbar has a lot of duplication * Why does source files go to .cache dir? * Machine construct (at least) assumes App.main_window to remain constant * Ability to add media to menu * ovirt * setup step: * ovirt ca cert * spice cert (should also be presented for spice machines?) * test machine (rh internal): * ovirt://fidencio%40spice.lab.eng.brq.redhat.com@rhevm34.spice.brq.redhat.com/w7x64 * ovirt: http://idm.spice.brq.redhat.com/ipa/config/ca.crt * spice: http://rhevm34.spice.brq.redhat.com/ca.crt * user: fidencio%40spice.lab.eng.brq.redhat.com * pass: fo0m4nchU * Drop libgd usage * MainIconView -> GtkFlowBox * Drop wip/show-progress branch from libgd (also origin) * Boxes kdb shortcuts not working in fullscreen (there's a bug about it) * buttons for switching between running machines in topbar * kbd shortcuts too (perhaps ctrl+` and ctrl+shift+`) * Move all ui startup code .ui files * Properties (rather PageWidget) ITS HARD! * Port to libarchive * ISOExtractor * UnattendedFile * import system libvirt vms * Better wizard summary page. * Keep track of imported boxes so we don't give import option if already imported * MediaManager.create_installer_media_from_config shouldn't be using async constructor * 'Drag to restore' broken in display mode * Make customization of spice/vnc box before creation possible * Ready-made images: * Handle case of deletion during import * Show progressbar * Downloadable OS * Implement downloading when given remote ISO URIs * Means to add ISO/images to wizard's menu * A config file in ~/config w/ media entries * Look into running spinner (on under construct boxes) using gtk_widget_add_tick_callback * wizard uses the first URI once a URI has been entered. * LibvirtMachine.get_domain_disk(): Dont loop if storage_volume == null * clear all old files in cache dir * Perhaps should be done at global level by systemd? * wizard's setup page: * s/preconfigure/configure/ I think * Add text explaining: * what product key is and where it can be found * it is required * Downloader doesn't track progress in 1 case * https://bugzilla.gnome.org/show_bug.cgi?id=694141#c10 * osinfo-based installer * unattended data doesn't clean-up on wizard cancellation * wizard: preparation should be cancellable. * MS logo rejection aftermath * blog entry explaining how to add custom logos * We really should refactor InstallerMedia code to seperate out installer state from media * system cache for drivers and logos <rudrab> [20:18:38] can anybody tell me how to access a remote machine using boxes? <rudrab> [20:19:19] I tried: boxes->Enter URL-><username>@<machine> <rudrab> [20:19:35] and it comes no such file or directory * discuss with designers * save vs pause * Only basename shown from cdrom in props * improve saving-time UI: * overlay spinner over machines being saved * New cell renderer widget in libgd * Leaking .cache * Make custom xml writing code more generic (Don't overwrite the whole xml). * Remove some run_in_thread() usage by adding async variants to libvirt-glib * Steal ACL helper from spice for usb sticks * retain selection after deletion is *un*done * progressbar over machine under installation? * Collections * App * user_collections (getter for UserCollection in app.collection) ? * UI to add boxes to collections * gnome-documents way * Attempt to mimic iOS4 folders * Favorite * IPropertiesProvider? * Tests using dogtail? * remove disclaimer in wizard src if no media is presented. * gvir_config_object_children (HINT: check users of gvir_config_object_foreach) * /home/zeenix/.config/gnome-boxes/unattended/fedora17-initrd gets cached * Add 'a.prop.notify' syntax to Vala * Don't allow going below minimum resources? * Reading of raw disks * launch wizard on insertion of installer media when boxes is already running. SAVED: * Collections * Old plan * Tag class * name prop * implements Item * draws itself based on pixbufs relavent machines from app.collection * Could be just a rectangle as starting point * Machine.tags, app.all_tags (List<Tag>) and app.current_tag * Older plan * View adds/remove items on its own (in ui_state_changed) * app hides items by removing from collection * Collection.name * app.collection -> app.main_collection * app.collections * app.current_collection * View draws collections when app.current_collection == app.main_collection * Just a rectangle for now * Oldest plan * UI to add boxes to collections * Show collections as boxes * Collection impl Boxes.UI * hide when no box in it