Convert Figma logo to code with AI

kotatogram logokotatogram-desktop

Experimental Telegram Desktop fork.

1,141
117
1,141
141

Top Related Projects

25,848

Telegram Desktop messaging app

Telegram-iOS

24,740

Telegram for Android source

Source code of Telegram for macos on Swift 5.0

Telegram web application, GPL v3

Quick Overview

Kotatogram is a fork of the Telegram Desktop client, offering additional features and customization options. It aims to enhance the user experience while maintaining compatibility with the official Telegram protocol and servers.

Pros

  • Enhanced customization options for the user interface
  • Additional features not found in the official Telegram Desktop client
  • Regular updates and active development
  • Maintains compatibility with official Telegram servers

Cons

  • Not officially supported by Telegram
  • May have potential security risks due to being a third-party client
  • Some features may break or become incompatible with future Telegram updates
  • Smaller user base compared to the official client, potentially leading to slower bug detection and fixes

Getting Started

To get started with Kotatogram:

  1. Visit the official Kotatogram website or GitHub repository.
  2. Download the appropriate version for your operating system (Windows, macOS, or Linux).
  3. Install the application following the standard installation process for your OS.
  4. Launch Kotatogram and log in with your Telegram account.
  5. Explore the additional settings and features in the app's preferences menu.

Note: As this is a desktop application and not a code library, there are no code examples or quick start instructions for developers.

Competitor Comparisons

25,848

Telegram Desktop messaging app

Pros of tdesktop

  • Official Telegram desktop client, ensuring full compatibility and timely updates
  • Larger development team and community support
  • More frequent releases and bug fixes

Cons of tdesktop

  • Less customization options compared to Kotatogram
  • Stricter adherence to Telegram's design guidelines, limiting UI flexibility
  • Fewer experimental features

Code Comparison

tdesktop:

void MainWindow::setupMain() {
    auto widget = object_ptr<Widget>(this);
    _mainWidget = widget.data();
    _body->setMainWidget(std::move(widget));
}

Kotatogram:

void MainWindow::setupMain() {
    auto widget = object_ptr<Widget>(this);
    _mainWidget = widget.data();
    _body->setMainWidget(std::move(widget));
    setupCustomTheme();
}

The code comparison shows that Kotatogram builds upon tdesktop's codebase, adding extra functionality like custom theme support. Both projects share a similar structure, with Kotatogram extending features while maintaining compatibility with the original Telegram client.

Kotatogram offers more customization options and experimental features, making it appealing to users who want greater control over their messaging experience. However, tdesktop, being the official client, ensures better long-term stability and compatibility with Telegram's core services.

Telegram-iOS

Pros of Telegram-iOS

  • Official iOS app with direct support from Telegram
  • Regularly updated with new features and improvements
  • Optimized for iOS devices and follows Apple's design guidelines

Cons of Telegram-iOS

  • Closed-source, limiting community contributions and customization
  • Limited to iOS platform, not available for desktop or other mobile OS
  • Stricter adherence to Telegram's official features, less flexibility

Code Comparison

Kotatogram-Desktop (C++):

void MainWindow::showNotification(const QString &title, const QString &subtitle, const QString &msg) {
    if (QSystemTrayIcon::supportsMessages()) {
        trayIcon->showMessage(title, subtitle + "\n" + msg, QSystemTrayIcon::Information, 10000);
    }
}

Telegram-iOS (Swift):

func showNotification(title: String, body: String) {
    let content = UNMutableNotificationContent()
    content.title = title
    content.body = body
    let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil)
    UNUserNotificationCenter.current().add(request)
}

The code comparison shows different approaches to displaying notifications, with Kotatogram-Desktop using Qt framework for cross-platform support, while Telegram-iOS utilizes native iOS APIs for notification handling.

24,740

Telegram for Android source

Pros of Telegram

  • Official Telegram client, ensuring full compatibility with the Telegram network
  • More frequent updates and faster implementation of new Telegram features
  • Larger user base and community support

Cons of Telegram

  • Less customization options compared to Kotatogram
  • Fewer advanced features for power users
  • Stricter adherence to Telegram's design guidelines, limiting UI flexibility

Code Comparison

Telegram (Java):

public class TelegramApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        NativeLoader.initNativeLibs(ApplicationLoader.applicationContext);
        ConnectionsManager.native_setJava(false);
    }
}

Kotatogram (C++):

int main(int argc, char *argv[]) {
    Sandbox::WorkingStatus status = Sandbox::start(argc, argv);
    if (status == Sandbox::WorkingStatus::Failed) {
        return 1;
    }
    Sandbox::finish();
    return 0;
}

The code snippets show different approaches to application initialization. Telegram uses Java and focuses on native library loading, while Kotatogram uses C++ and implements a sandbox pattern for the main application loop.

Source code of Telegram for macos on Swift 5.0

Pros of TelegramSwift

  • Written in Swift, providing better performance and native integration for iOS devices
  • More focused on mobile development, potentially offering a smoother mobile experience
  • Actively maintained with frequent updates and bug fixes

Cons of TelegramSwift

  • Limited to iOS platform, lacking cross-platform support
  • Smaller community and fewer contributors compared to Kotatogram Desktop
  • May have fewer features or customization options than Kotatogram Desktop

Code Comparison

Kotatogram Desktop (C++):

void MainWindow::showSettings() {
    if (_settings) {
        _settings->showSettings();
    }
}

TelegramSwift (Swift):

func showSettings() {
    let settingsViewController = SettingsViewController()
    navigationController?.pushViewController(settingsViewController, animated: true)
}

Both code snippets demonstrate a method for showing settings, but TelegramSwift uses Swift's syntax and iOS-specific navigation patterns, while Kotatogram Desktop uses C++ and a more generic approach.

Telegram web application, GPL v3

Pros of Webogram

  • Web-based client, accessible from any browser without installation
  • Lightweight and fast-loading interface
  • Cross-platform compatibility

Cons of Webogram

  • Limited features compared to native desktop clients
  • Potentially less secure due to browser-based nature
  • Dependent on web technologies, may have performance limitations

Code Comparison

Webogram (JavaScript):

AppMessagesManager.sendText = function (peerString, text, options) {
  if (!angular.isString(text) || !text.length) {
    return $q.reject({type: 'TEXT_EMPTY'});
  }
  options = options || {};
  var messageID = tempID--;

Kotatogram Desktop (C++):

bool MainWindow::sendMessage(
		not_null<History*> history,
		MsgId replyTo,
		const QString &text,
		MessageFlags flags,
		bool silent,
		bool clearDraft) {
	const auto webPageId = _history->webPageId();

Key Differences

  • Webogram is a web-based Telegram client, while Kotatogram Desktop is a native desktop application
  • Kotatogram Desktop offers more advanced features and customization options
  • Webogram has a broader reach due to its web-based nature, but Kotatogram Desktop provides a more robust user experience

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Kotatogram – experimental Telegram Desktop fork.

GitHub release (latest by date including pre-releases) GitHub Workflow Status: Windows GitHub Workflow Status: Linux GitHub Workflow Status: macOS Crowdin

Preview of Kotatogram Desktop

Build instructions can be found in docs folder. Please note: only [32-bit Windows][building-msvc], [64-bit Windows][building-msvc-x64] and [Linux][building-cmake] build instructions are updated.

Original README with licenses could be found in Telegram Desktop repository.

Download

Binaries can be downloaded from releases: https://github.com/kotatogram/kotatogram-desktop/releases

Latest stable version can be found here: https://github.com/kotatogram/kotatogram-desktop/releases/latest

Builds

  • Windows (installer and portable)
  • Linux (64-bit)
  • macOS

Features

  • Local folders
  • Forward to multiple chats and forward without author
  • Custom font
  • Compact chat list
  • Custom text replaces
  • Change sticker size
  • Adaptive chat bubbles
  • and other smaller features.

Full list of features will rewritten later. Control branches were used to list features, but they are now deprecated and archived in separate repo.

Contributing

Read CONTRIBUTING.md.

Other links

Attribution