Main Window Redesign
This is a list of things to develop/implement for Gajim’s new main window.
General
-
Status icon in systray (show status, raise window) -
Show pending events in systray icon
-
-
Store window position and size -
Internal notification system (with the intention to reduce obstructing dialog popups) -
Adapt key bindings for chat management -
Sidebar: Use selection bar indicator across all sidebars (app/workspaces/accounts page) -
Show contact tooltip on chat control banner avatar(maybe later) -
Clean up event handling: gui_interface / main -
Adapt Gajim main menus (e.g. View) -
Add new dependencies ( GstPbutils
,GtkSource4
) -
Remove all Mood, Activity Code -
Revisit Location, Tune Code, do we still want that in the chat control? -
Adapt Plugins (see gajim-plugins#572 (closed)) -
Performance: Reduce number of widgets displayed at once (see also: #10743 (closed))
Dialogs
Adapt dialogs to new mainwindow, contacts API, and further changes.
-
Contact Info window -
Subscription Request window: list subscription requests on Account Page -
Group chat pages -
Invite Contacts -
'Joining…' and 'Fetching messages…' should be displayed in some status bar/icon (instead of a page) in order to make messages available before joining
-
-
Add Contact window (transports) -
RosterItemExchange -
TransformChatToMUC -
SynchroniseSelectContactsDialog -
Preferences window (evaluate available settings)
Workspaces
-
Workspace sidebar -
Drag and drop for sorting -
Drag and drop for chats -
Workspace editing dialog -
Update Workspace name after editing (shown in Chat List header) -
Custom Workspace avatars
-
Accounts
-
Account sidebar -
Update account sidebar when enabling/disabling accounts -
Update account sidebar when changing status/connection -
Display account’s avatar
-
-
Account page -
Add account’s roster (management) to middle grid -
Make status selector work -
Add account event center (subscription management)
-
Chat List
-
Basic list of chats -
Update rows when sending/receiving messages -
Indicate chat state 'Typing' -
Indicate files (e.g. last message is an image)
-
-
'Note to myself' feature (self contact) -
Manual sorting for pinned chats(later) -
Update account identifier bar when enabling/disabling accounts -
Add list headers in order to separate pinned chats from other chats -
Add context menu -
Pin to top/unpin -
Move to workspace
-
-
/me command parsing
ChatControl
-
When MUC join failed show "Forget this Groupchat" Button only if its in our Bookmarks -
Propagate renaming a MUC (via config or via rename menu option) to chatlist
Conversation View
-
Basic implementation of new ConversationView -
Date Rows -
Read markers in 1:1 chats
-
-
Replacement of old ConversationTextview -
Chat Control -
Single Message Window -
History Window -
XHTML GUI Test
-
-
MUC user highlighting -
Decide how to approach Gtk.Label / Gtk.TextView issue: Windows cannot handle colored Emojis in a Label, thus needs a TextView; TextView has a resize problem in ScrolledView, making the text jump while redrawing. There is an ongoing effort in Cairo to fix color emojis on Windows. -
Make message styling work for both Gtk.Label and Gtk.TextView -
/me
command (needs parsing) -
Emoji parsing (for Windows: replacing Emojis with Pixbufs)