C++ discord client oriented for performance
Go to file
2020-12-10 02:37:12 -05:00
.readme readme 2020-11-15 21:00:20 -05:00
components fix #3 2020-12-04 18:37:18 -05:00
css add bare css for reference 2020-11-15 02:31:37 -05:00
dialogs fix vanity urls with - not being recognized 2020-12-10 02:37:12 -05:00
discord set user-agent through ini 2020-11-27 01:37:01 -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 mask user agent 2020-12-09 21:35:23 -05:00
abaddon.hpp remove some stuff 2020-11-14 00:15:15 -05:00
appveyor.yml basic avatars 2020-09-10 18:28:42 -04:00
CMakeLists.txt use file(GLOB) in cmake 2020-11-01 00:33:57 -04: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 slap a bunch of shit everywhere until the crashing stops 2020-10-05 21:37:07 -04: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