Headless Inkscape

From Inkscape Wiki
Revision as of 14:53, 21 March 2020 by Tavmjong (talk | contribs) (Created page with " ==Goal of Creating a Headless Inkscape== Definition: An Inkscape version that does not need to be linked to the GTK libraries. Glib and Gio dependencies are OK. ===GTK Depe...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Goal of Creating a Headless Inkscape

Definition: An Inkscape version that does not need to be linked to the GTK libraries. Glib and Gio dependencies are OK.

GTK Dependencies

All GTK dependent files should be in src/ui. (Note, not all directories in src/ui are dependent on GTK.)

Directories that contain GTK code outside of src/ui:

  • testing/unittest.cpp (should probably be glibmm.h)
  • src
    • ege-color-prof-tracker.cpp (move to src/ui)
    • selection-chemistry.cpp (for clipboard)
    • shortcuts.cpp (GtkAccelGroup, GtkWidget, should be split/moved to src/ui)
    • inkscape-window.h/.cpp (OK... maybe move to src/ui)
    • inkview-application.h/.cpp (OK, will be replaced for headless version)
    • file.cpp (to be removed)
    • device-manager.cpp (move to ui)
    • inkscape.h/.cpp (to be removed)
    • verbs.cpp (filechooserdialog.h, messagedialog.h, to be removed)
    • file-update.cpp (ask user about DPI update, not sure what to do about this one)
    • desktop-events.cpp (move to ui)
    • event-log.h (move to ui)
  • src/display (probably OK)
  • src/libnrtype (for font-lister.h/font-lister.cpp, should move to ui)
  • src/debug (log-display-config.cpp)
  • src/trace (tracing dialog should be split out and moved to ui)
  • src/io (gtkmm/recentmanager.h, could be removed... used to locate previously used directories to search for broken links)
  • src/live_effects (This is a tough one, used everywhere. Probably UI needs to be split out.)
  • src/extension (Another tough one. UI needs to be split out.)
  • src/object (sp-namedview.cpp: to restore window geometry, function should be moved to ui; sp-image.cpp and color-profile.css: debug only, should be removed.)
  • helper (action.cpp, verb-action.h/.cpp: GTK button for verb, unneeded with Gio::Actions.)

There are surely many "indirect" dependencies on GTK that need to be tracked down.