GSoC 2022 Tab Structure

From Inkscape Wiki
Jump to navigation Jump to search

This page is a progress tracker for project "Tab Structure"

Project

About

Inkscape has great tools and features for designers, but problems arise when users use multiple files which creates multiple windows. For users, it becomes really difficult to manage these windows when they are in large numbers. This problem can be solved by creating a tab structure UI.

Code

https://gitlab.com/inkscape/inkscape/-/merge_requests/4692

Blog

https://sushantaa.hashnode.dev/

Time Table

Community bonding period

Finalizing the design by interacting with #team_ux.
Learn more about the codebase especially

  • Gtk::Notebook
  • Dialog Notebook
  • Desktop widget
  • Document

Coding Period

  • week 1 : Basic Tab Structure in Desktop Widgets
  • week 2 : Proper Alignment of pages and creation of multiple tabs
  • week 3 : Document Display in tabs, Proper Tab Structure with buttons
  • week 4 : Different documents for different Tabs
  • week 5 : State separation and persistence of document
  • week 6 : Open and new tab with a different template
  • week 7 : Save Document, Close Tab
  • week 8 : Dynamic event box in tabs
  • week 9 : Add user preferences and Hotkeys
  • week 10 : Proper Alignment of pages tab structure

Summary

Its a new feature in inkscape which has following features

  • Creation new document in tabs
  • Creation new document with template in tabs
  • Opening documents in tabs
  • Closing documents in tabs
  • Gio::Acions of the above operations


GSoC 2022 Inkscape Tab Structure.gif


Challenges Faced

  • Understanding Dialog notebook and tab workings
  • Understanding how documents work and maintain state persistence
  • Modifying functions to support tab structure
  • Tab switching and state management difficulties
  • Proper Alignment of pages tab structure

Future Plans

As this is a new feature their are many new ideas

  • Better way to manage tab size like chrome, firefox
  • Tooltip to show the prevew of drawing when hovered like chrome
  • Vertical tabs
  • Pin Tabs
  • Grid tabs
  • Transparent tabs

Links