C++ discord client oriented for performance
Go to file
2020-12-08 20:59:41 -05:00
.readme readme 2020-11-15 21:00:20 -05:00
components disk cache guild 2020-12-08 20:59:41 -05:00
css add bare css for reference 2020-11-15 02:31:37 -05:00
dialogs put original message in edit dialog 2020-11-10 23:53:00 -05:00
discord disk cache guild 2020-12-08 20:59:41 -05:00
res render emojis 2020-10-24 19:42:06 -04:00
thirdparty convert to cmake, add ci 2020-09-09 17:03:19 -04:00
windows dont squish channels on window resize 2020-11-28 01:34:26 -05:00
.clang-format connect and heartbeat 2020-08-17 02:40:03 -04:00
.gitignore add more css selectors 2020-09-09 18:32:45 -04:00
.gitmodules convert to cmake, add ci 2020-09-09 17:03:19 -04:00
.travis.yml separate branches deploy to separate folders 2020-10-29 19:15:58 -04:00
abaddon.cpp disk cache guild 2020-12-08 20:59:41 -05:00
abaddon.hpp progress 2 2020-11-23 20:34:09 -05:00
appveyor.yml basic avatars 2020-09-10 18:28:42 -04:00
CMakeLists.txt initial sqlite, store user 2020-11-19 19:18:59 -05:00
emojis.cpp use textviews in channel list + parse emojis 2020-11-10 01:38:44 -05:00
emojis.hpp use textviews in channel list + parse emojis 2020-11-10 01:38:44 -05:00
filecache.cpp try and fix something that shouldnt be an issue 2020-11-27 02:30:59 -05:00
filecache.hpp fix cache writing to cwd 2020-10-27 02:29:02 -04:00
imgmanager.cpp use sigc in imgmanager to hopefully get rid of some lifetime errors 2020-10-04 15:31:39 -04:00
imgmanager.hpp use sigc in imgmanager to hopefully get rid of some lifetime errors 2020-10-04 15:31:39 -04:00
README.md readme 2020-11-15 21:00:20 -05:00
settings.cpp bug fix moment 2020-11-08 20:52:29 -05:00
settings.hpp add SettingsManager::GetSettingBool 2020-11-03 01:52:19 -05:00
util.hpp initial sqlite, store user 2020-11-19 19:18:59 -05:00

Screenshots

Building:

Windows:

  1. git clone https://github.com/lorpus/abaddon && cd abaddon
  2. vcpkg install gtkmm:x64-windows nlohmann-json:x64-windows ixwebsocket:x64-windows cpr:x64-windows zlib:x64-windows simpleini:x64-windows
  3. mkdir build && cd build
  4. cmake -G"Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=c:\path\to\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DVCPKG_TARGET_TRIPLET=x64-windows ..
  5. Build with Visual Studio

Mac:

  1. Install gtkmm3 zlib openssl and nlohmann-json from homebrew
  2. git clone --recurse-submodules -j8 https://github.com/lorpus/abaddon
  3. cd abaddon
  4. mkdir build
  5. cd build
  6. cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_PKGCONFIG=ON -DDISABLE_MBEDTLS=ON ../
  7. make

Downloads (from CI):

  • Windows: here
  • OSX: here (downloading css/ and res/ from here is still necessary)

Dependencies:

TODO:

  • Voice support
  • Unread indicators
  • User status
  • Nicknames
  • Server/user management
  • A bunch of other stuff

Styling

CSS selectors

.channel-list - Container of the channel list
.channel-row - All rows within the channel container
.channel-row-channel - Only rows containing a channel
.channel-row-category - Only rows containing a category
.channel-row-guild - Only rows containing a guild
.channel-row-label - All labels within the channel container

.messages - Container of user messages
.message-container - The container which holds a user's messages
.message-container-author - The author label for a message container
.message-container-timestamp - The timestamp label for a message container
.message-container-extra - Label containing BOT/Webhook
.message-text - The TextView of a user message

.embed - Container for a message embed
.embed-author - The author of an embed
.embed-title - The title of an embed
.embed-description - The description of an embed
.embed-field-title - The title of an embed field
.embed-field-value - The value of an embed field
.embed-footer - The footer of an embed

.members - Container of the member list
.members-row - All rows within the members container
.members-row-label - All labels in the members container
.members-row-member - Rows containing a member
.members-row-role - Rows containing a role