Konversation/Konvi2x: Difference between revisions

    From KDE UserBase Wiki
    No edit summary
    No edit summary
    Line 9: Line 9:
    Wondering what's new already? What follows is a (sporadically updated!) list of some of the new features and abilities compared to the stable Konversation 1.7.x version:
    Wondering what's new already? What follows is a (sporadically updated!) list of some of the new features and abilities compared to the stable Konversation 1.7.x version:


    <pre>Interface layout
    <pre>New interface layout
    * All new clean & modern look
    * All new clean & modern look
    * Responsive/collapsible two-column design enables useful small/mini window mode
    * Responsive/collapsible two-column design enables useful small/mini window mode


    Text view
    New text view
    * Hanging indent / all messages start at the same column
    * Hanging indent / all messages start at the same column
    * Groups consecutive messages by the same author
    * Groups consecutive messages by the same author
    Line 19: Line 19:
    * Can update colors dynamically for backlog
    * Can update colors dynamically for backlog


    Tab completion
    Redone tab completion
    * Most-recently-active-nick-first now works in popup mode
    * Most-recently-active-nick-first now works in popup mode
    * Popup mode has much better ergonomics than before - does not interrupt
    * Popup mode has much better ergonomics than before - does not interrupt
    Line 27: Line 27:
    * Completion now works in private conversations (all nicks on the server)
    * Completion now works in private conversations (all nicks on the server)


    Input field
    Upgraded input field
    * You can now have a shared input field (with shared history) between all tabs
    * You can now have a shared input field (with shared history) between all tabs
    * History system now restores cursor position when arrow'ing back down to last  
    * History system now restores cursor position when arrow'ing back down to last  
    Line 33: Line 33:


    Under the hood
    Under the hood
    * UI being rewritten in Qt Quick & Kirigami
    * UI being fully rewritten in Qt Quick & Kirigami
    * Model/view architecture now allows dynamic filtering of chat contents
    * Model/view architecture now allows dynamic filtering of chat contents
       (e.g. retroactive show/hide of joins and parts) or combined views
       (e.g. retroactive show/hide of joins and parts) or combined views

    Revision as of 05:12, 21 September 2017

    Preface

    This page aims to get you started with the WIP branch that will one day become Konversation 2.x.

    Our mission: Konversation is KDE's chat application for communities. No matter whether someone is a newcomer seeking community, a seasoned participant in one, or a community administrator: our mission is to bring groups of people together, allow them to delight in each other's company, and support their pursuit of shared interests and goals.

    Work log

    Wondering what's new already? What follows is a (sporadically updated!) list of some of the new features and abilities compared to the stable Konversation 1.7.x version:

    New interface layout
    * All new clean & modern look
    * Responsive/collapsible two-column design enables useful small/mini window mode
    
    New text view
    * Hanging indent / all messages start at the same column
    * Groups consecutive messages by the same author
    * Does not repeat timestamp when unnecessary
    * Can update colors dynamically for backlog
    
    Redone tab completion
    * Most-recently-active-nick-first now works in popup mode
    * Popup mode has much better ergonomics than before - does not interrupt
      editing flow & doesn't show when only one completion is possible
    * Completion now ignores special characters in nicknames
    * Basic command completion
    * Completion now works in private conversations (all nicks on the server)
    
    Upgraded input field
    * You can now have a shared input field (with shared history) between all tabs
    * History system now restores cursor position when arrow'ing back down to last 
      edited text
    
    Under the hood
    * UI being fully rewritten in Qt Quick & Kirigami
    * Model/view architecture now allows dynamic filtering of chat contents
      (e.g. retroactive show/hide of joins and parts) or combined views
    * Lower memory usage due to less redundant document data and not keeping 
      unnecessary text views around

    Also check out this blog post for our goals!

    Sources

    Work is being carried out on the wip/qtquick branch of the konversation.git repository.

    Check out the general build instructions first.

    Build dependencies

    The WIP branch has higher version demands for some dependencies as well as new dependencies. Specifically:

    • Qt 5.9.x
    • Master branch of KF5::Kirigami (kirigami.git)
    • Master branch of qqc2-desktop-style (qqc2-desktop-style.git)

    Getting the branch

    In contrast to the general build instructions, either clone this way:

    git clone git://anongit.kde.org/konversation --branch wip/qtquick
    

    ... or run these commands in an existing git clone dir:

    git fetch origin
    git checkout wip/qtquick
    

    Flatpak

    NOTE: We're still working on tuning the Flatpak generation. If it's broken, try again the next day - sorry!

    We also have a Flatpak nightly package.

    Check out the KDE Flatpak HOWTO first.

    To install, run:

    flatpak remote-add kderuntime --from http://distribute.kde.org/kderuntime.flatpakrepo
    flatpak remote-add kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo
    flatpak install kdeapps org.kde.konversation-konvi2x
    

    This will add a "(Nightly) (Konvi2x) Konversation" entry into your desktop menu.

    Running the branch (imporant - read here!)

    At any time, you can use the F10 key to switch between the old and new Konversation UIs.

    The following command line examples expand on each other. To show the new Qt Quick-based UI immediately at start, run Konversation like this:

    konversation --qtquick
    

    Konversation is usually only allowed to run once. To bypass this restriction and run a second instance of Konversation, run Konversation like this:

    konversation --qtquick --nui
    

    To avoid auto-connecting to your networks with a test build, run Konversation like this:

    konversation --qtquick --nui --noautoconnect
    

    This last example is good set of arguments for hacking and testing. Additionally, you can override the UI package with --uipackage <package name>.

    Update: The branch now installs a konvi2x executable that's equivalent to konversation --qtquick --nui.

    Links