Headless Inkscape
Jump to navigation
Jump to search
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.