Compare commits

...

87 commits

Author SHA1 Message Date
f95d4639cf [Option][WIP] Profile pic rounding 2024-12-04 15:53:08 +03:00
5546b6fbd0 Languages 2024-12-04 15:53:08 +03:00
2491d6a474 Submodules 2024-12-04 15:53:08 +03:00
5a14ba8388 [Dev] Use Libraries64 folder instead of Libraries/win64 on Windows 2024-12-04 15:53:08 +03:00
9352692ac8 [Defaults] Pin without sound by default 2024-12-04 15:53:08 +03:00
5394f2eedf [Defaults] Do not share phone by default when adding contact 2024-12-04 15:53:07 +03:00
7074e0a436 [Visual] Archive icon for collapsed mode 2024-12-04 15:53:07 +03:00
58a26528f3 [Visual] Custom theming (currently for top bar only) 2024-12-04 15:53:07 +03:00
87be00a3c1 [Visual] Make chat sections header multiline 2024-12-04 15:53:07 +03:00
1adfde1b7a [Improvement] Scroll to dialog on back button click 2024-12-04 15:53:07 +03:00
4f319c2fc1 [Improvement] Do not hide "mark as read" under Alt+Shift modfiers 2024-12-04 15:53:07 +03:00
660ecec086 [Improvement] Do not clear search query after selection in multi-select 2024-12-04 15:53:07 +03:00
9038e348a9 [Improvement] Query parameter for tg://resolve links 2024-12-04 15:53:07 +03:00
7a904fb6cb [Improvement] Do not hide "open chat" button for own profile 2024-12-04 15:53:07 +03:00
a7cf7780c6 [Improvement] Always show edit timer 2024-12-04 15:53:07 +03:00
71b51bb0af [Improvement] Show linked chat/channel button in profile 2024-12-04 15:53:07 +03:00
a230d00aab [Improvement] Show group manage buttons in profile 2024-12-04 15:53:07 +03:00
ada490e74e [Improvement] Restore discussion group button 2024-12-04 15:53:07 +03:00
53b835af46 [Improvement] Show remove button for all recent stickers 2024-12-04 15:53:07 +03:00
cfa22a5e98 [Improvement] Always show folders in settings 2024-12-04 15:53:07 +03:00
a18f55cd7a [Improvement] Theme editor search improvements 2024-12-04 15:53:07 +03:00
6ca295a5c4 [Improvement] Lower minimum window size restrictions 2024-12-04 15:53:07 +03:00
66ffd712b5 [Improvement] Allow to view currently used usernames 2024-12-04 15:53:07 +03:00
175636fe12 [Improvement] Allow to ban users from recent actions 2024-12-04 15:53:07 +03:00
d2b95dc453 [Improvement] Do not strip links in bio 2024-12-04 15:53:07 +03:00
dcd8e13c76 [Improvement] Show working dir in tray icon description 2024-12-04 15:53:07 +03:00
a9c6adccd6 [Improvement] Do not show account name in notification for active account 2024-12-04 15:53:07 +03:00
a26c5cc2ed [Improvement] Use QSysInfo for system info in session 2024-12-04 15:53:07 +03:00
c0026ce316 [Improvement] Convert tg://user?id=<userid> to mentions if possible 2024-12-04 15:53:07 +03:00
3f42199b03 [Improvement] Allow to mention by name from autocomplete 2024-12-04 15:53:07 +03:00
90c01bf45e [Improvement] Allow to localize theme preview 2024-12-04 15:53:07 +03:00
80c1dcf74f [Improvement] Allow non-emoji auto-replaces with emoji replacements disabled 2024-12-04 15:53:07 +03:00
bcaa2cb5ac [Improvement] Chat icon before message author name 2024-12-04 15:53:07 +03:00
682a9e9fda [Improvement] Allow to copy from bot response and poll solution modals 2024-12-04 15:53:07 +03:00
89c242c158 [Improvement] Shortcuts to switch folders 2024-12-04 15:53:07 +03:00
059aa86fba [Improvement] Shortcuts to switch accounts 2024-12-04 15:53:07 +03:00
393603393b [Improvement] Allow to change pinned messages shortcuts 2024-12-04 15:53:07 +03:00
e78fd6397c [Improvement] Shortcut to restart application 2024-12-04 15:53:07 +03:00
b851e4451a [Improvement] Shortcut and settings code to reload language 2024-12-04 15:53:07 +03:00
341f9b6ec0 [Improvement] Shortcut to jump to date 2024-12-04 15:53:07 +03:00
d9d1cb0b75 [Improvement] Shortcut to save draft 2024-12-04 15:53:07 +03:00
c2a4e5a589 [Improvement] Experimental settings translation 2024-12-04 15:53:07 +03:00
d7d2160ae8 [Improvement] Jump to date and time 2024-12-04 15:53:07 +03:00
f6e66dee15 [Improvement] Video controls for GIFs 2024-12-04 15:53:07 +03:00
9473a4cbdb [Improvement] Allow to send inline result preview 2024-12-04 15:53:07 +03:00
2d7b040a6b [Improvement] Mention user from context menu 2024-12-04 15:53:07 +03:00
38e2af497d [Improvement] Increase account limit 2024-12-04 15:53:07 +03:00
657610fb22 [Improvement] Better chat statuses 2024-12-04 15:53:07 +03:00
21ee47b443 [Improvement] Click-to-copy for phone 2024-12-04 15:53:07 +03:00
ab8bfb0128 [Improvement] Allow smaller cache time limits 2024-12-04 15:53:07 +03:00
8b8cdc2108 [Improvement] Message ID 2024-12-04 15:53:07 +03:00
a0aab100a3 [Improvement] Allow to search messages from user 2024-12-04 15:53:07 +03:00
0edb42f633 [Improvement] Copy sticker pack title 2024-12-04 15:53:07 +03:00
9c817468aa [Improvement] Use dropdown menu instead of popup menu in sticker set 2024-12-04 15:53:06 +03:00
8a40929548 [Improvement] Allow to disable notification sound from tray 2024-12-04 15:53:06 +03:00
dcb7494bbc [Improvement] Hiding and showing pinned messages 2024-12-04 15:53:06 +03:00
c34bfab39b [Improvement] Copy bot button callback data 2024-12-04 15:53:06 +03:00
1a891282d5 [Improvement] Settings three-dots menu improvements 2024-12-04 15:53:06 +03:00
407fb75965 [Improvement] Deleted account difference 2024-12-04 15:53:06 +03:00
3d058ae767 [Option][GUI] Emoji panel options 2024-12-04 15:53:06 +03:00
af5383522f [Option][GUI] "View Profile" on top 2024-12-04 15:53:06 +03:00
927f4f9628 [Option][GUI] Remember image compression 2024-12-04 15:53:06 +03:00
7dae706973 [Option][GUI] Disable chat themes 2024-12-04 15:53:06 +03:00
ab9543b78a [Option][GUI] Unquoted forward and forward options 2024-12-04 15:53:06 +03:00
4e731f9a08 [Option][GUI] Telegram sites autologin 2024-12-04 15:53:06 +03:00
8bdb7e4141 [Option][GUI] Disable notifications from top bar 2024-12-04 15:53:06 +03:00
1d9d794bf8 [Option][GUI] Default folders and local folders 2024-12-04 15:53:06 +03:00
b8e9daa061 [Option][GUI] Folder options 2024-12-04 15:53:06 +03:00
89c384d697 [Option][GUI] Tray icon settings 2024-12-04 15:53:06 +03:00
6eb1fac681 [Option][JSON] Always show top bar userpic 2024-12-04 15:53:06 +03:00
3137732b39 [Option][GUI] Recent stickers limit 2024-12-04 15:53:06 +03:00
667a4d0f16 [Option][GUI/JSON] Multithreaded video decoding 2024-12-04 15:53:06 +03:00
e3b0e10857 [Option][JSON] Custom auto-replaces 2024-12-04 15:53:06 +03:00
2e540d4d94 [Option][GUI] Disable edit by Up 2024-12-04 15:53:06 +03:00
62de69cbbc [Option][GUI] Show chat ID 2024-12-04 15:53:06 +03:00
1dc16bd42a [Option][GUI] Always show scheduled 2024-12-04 15:53:06 +03:00
2cfaa5af2a [Option][GUI] Adaptive chat bubbles 2024-12-04 15:53:06 +03:00
01623cfa75 [Option][GUI] Sticker size 2024-12-04 15:53:06 +03:00
c8e8a47f97 [Option][GUI] Big emoji outline 2024-12-04 15:53:06 +03:00
133b2bbc1b [Option][GUI] Font options 2024-12-04 15:53:06 +03:00
0aded5a83e [Option][Non-stored] Custom API ID and hash 2024-12-04 15:53:06 +03:00
c238c5ccbe [Core] Settings system 2024-12-04 15:53:06 +03:00
22a54dbc35 [Core] Versioning and updater 2024-12-04 15:53:06 +03:00
07758d48f6 [Branding] App name (language-dependent) 2024-12-04 15:53:06 +03:00
a26a5660e6 [Core] Language system
Telegram Desktop uses static language system with code generation, which
requires almost full app rebuild on any string modification, no matter
how small it is.

Since Kotatogram is options-driven, static language system will slow the
development. This language system solves the problem by using JSON and
runtime string search instead.
2024-12-04 15:53:05 +03:00
875e5bdc96 [Branding] App name and logo
Featuring macOS icon contributed by gershik.
2024-12-04 15:53:05 +03:00
89069acc84 [Docs] Basic documentation and CI 2024-12-04 15:52:49 +03:00
496 changed files with 15388 additions and 1257 deletions

View file

@ -1,10 +1,11 @@
# Contributing # Contributing
This document describes how you can contribute to Telegram Desktop. Please read it carefully. This document describes how you can contribute to Kotatogram Desktop. Please read it carefully.
**Table of Contents** **Table of Contents**
* [What contributions are accepted](#what-contributions-are-accepted) * [What contributions are accepted](#what-contributions-are-accepted)
* [Contributing translations](#contributing-translations)
* [Build instructions](#build-instructions) * [Build instructions](#build-instructions)
* [Pull upstream changes into your fork regularly](#pull-upstream-changes-into-your-fork-regularly) * [Pull upstream changes into your fork regularly](#pull-upstream-changes-into-your-fork-regularly)
* [How to get your pull request accepted](#how-to-get-your-pull-request-accepted) * [How to get your pull request accepted](#how-to-get-your-pull-request-accepted)
@ -17,29 +18,46 @@ This document describes how you can contribute to Telegram Desktop. Please read
## What contributions are accepted ## What contributions are accepted
We highly appreciate your contributions in the matter of fixing bugs and optimizing the Telegram Desktop source code and its documentation. In case of fixing the existing user experience please push to your fork and [submit a pull request][pr]. Before contribute to Kotatogram Desktop, you could try to contribute to Telegram Desktop in following cases:
Wait for us. We try to review your pull requests as fast as possible. * Bug fixes of original Telegram Desktop features
If we find issues with your pull request, we may suggest some changes and improvements. * Optimization of Telegram Desktop's source code and documentation
Unfortunately we **do not merge** any pull requests that have new feature implementations, translations to new languages and those which introduce any new user interface elements. If your PR is merged into the official app, it will help both apps (as well as many other Telegram Desktop forks). Be sure to read its [CONTRIBUTING.md][tdesktop_contributing] before trying.
If you have a translations-related contribution, check out [Translations platform][translate]. If your feature couldn't be added to official Telegram Desktop (e.g. new feature), you can try to [submit a pull request here][pr].
Telegram Desktop is not a standalone application but a part of [Telegram project][telegram], so all the decisions about the features, languages, user experience, user interface and the design are made inside Telegram team, often according to some roadmap which is not public. Following contributions are accepted to Kotatogram Desktop:
* Bug fixes and improvements
* New features
If you are submitting a new feature, please note that:
* It **must** be tested: we need these features to work, and work correctly.
* It **must not** confilct with exsiting features. If it's an alternative way of making this feature (e.g. showing text in other place), you should improve existing feature, and give user a choice unless there is no logical reasons for making a choice.
* It **must** look as good and refined as possible. I can accept some "dirty" solutions, but in that case they should be optional, and disabled by default. Still, too "dirty" solution won't be accepted.
* It **must not** violate [Telegram API Terms of Service][api_tos], e.g. features like Ghost Mode won't be implemented.
## Contributing translations
Translation contributions are currently accepted on [Crowdin](https://crowdin.com/project/kotatogram-desktop). Even though you can open an issue about translation here (e.g. requesting a new language) or submit a PR, Crowdin is the prefered way.
Please note: if you submit a PR with translation, it won't be merged. Instead it will be updated on Crowdin.
## Build instructions ## Build instructions
See the [README.md][build_instructions] for details on the various build Build instructions of Kotatogram Desktop are practically same, as Telegram Desktop's. See the [README.md][build_instructions] for details on the various build environments.
environments.
Of course, you should clone `https://github.com/kotatogram/kotatogram-desktop.git` instead of `https://github.com/telegramdesktop/tdesktop.git`.
## Pull upstream changes into your fork regularly ## Pull upstream changes into your fork regularly
Telegram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstream. Kotatogram Desktop is advancing quickly. It is therefore critical that you pull upstream changes into your fork on a regular basis. Nothing is worse than putting in a days of hard work into a pull request only to have it rejected because it has diverged too far from upstream.
To pull in upstream changes: To pull in upstream changes:
git remote add upstream https://github.com/telegramdesktop/tdesktop.git git remote add upstream https://github.com/kotatogram/kotatogram-desktop.git
git fetch upstream master git fetch upstream master
Check the log to be sure that you actually want the changes, before merging: Check the log to be sure that you actually want the changes, before merging:
@ -58,7 +76,7 @@ For more info, see [GitHub Help][help_fork_repo].
## How to get your pull request accepted ## How to get your pull request accepted
We want to improve Telegram Desktop with your contributions. But we also want to provide a stable experience for our users and the community. Follow these rules and you should succeed without a problem! We want to improve Kotatogram Desktop with your contributions. But we also want to provide a stable experience for our users and the community. Follow these rules and you should succeed without a problem!
### Keep your pull requests limited to a single issue ### Keep your pull requests limited to a single issue
@ -97,7 +115,7 @@ Furthermore, the pixel shortage is over. We want to see:
### Test your changes! ### Test your changes!
Before you submit a pull request, please test your changes. Verify that Telegram Desktop still works and your changes don't cause other issue or crashes. Before you submit a pull request, please test your changes. Verify that Kotatogram Desktop still works and your changes don't cause other issue or crashes.
### Write a good commit message ### Write a good commit message
@ -112,7 +130,8 @@ Before you submit a pull request, please test your changes. Verify that Telegram
[help_fork_repo]: https://help.github.com/articles/fork-a-repo/ [help_fork_repo]: https://help.github.com/articles/fork-a-repo/
[help_change_commit_message]: https://help.github.com/articles/changing-a-commit-message/ [help_change_commit_message]: https://help.github.com/articles/changing-a-commit-message/
[commit_message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html [commit_message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[pr]: https://github.com/telegramdesktop/tdesktop/compare [pr]: https://github.com/kotatogram/kotatogram-desktop/compare
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions [build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
[tdesktop_contributing]: https://github.com/telegramdesktop/tdesktop/blob/master/.github/CONTRIBUTING.md
[closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/ [closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/
[translate]: https://translations.telegram.org [api_tos]: https://core.telegram.org/api/terms

View file

@ -5,7 +5,7 @@ body:
- type: markdown - type: markdown
attributes: attributes:
value: | value: |
Thanks for reporting issues of Telegram Desktop! Thanks for reporting issues of Kotatogram Desktop!
To make it easier for us to help you please enter detailed information below. To make it easier for us to help you please enter detailed information below.
- type: textarea - type: textarea
@ -39,7 +39,7 @@ body:
required: true required: true
- type: input - type: input
attributes: attributes:
label: Version of Telegram Desktop label: Version of Kotatogram Desktop
description: > description: >
Please note we don't support versions from Linux distro repositories. Please note we don't support versions from Linux distro repositories.
If you need support for these versions, **please contact your distro maintainer** If you need support for these versions, **please contact your distro maintainer**
@ -52,11 +52,8 @@ body:
label: Installation source label: Installation source
multiple: false multiple: false
options: options:
- Static binary from official website - Static binary from official website or Kotatogram channel
- Microsoft Store
- Mac App Store
- Flatpak - Flatpak
- Snap
- Other (unofficial) source - Other (unofficial) source
validations: validations:
required: true required: true

View file

@ -1,11 +1,11 @@
blank_issues_enabled: false blank_issues_enabled: true
contact_links: contact_links:
- name: Platform-wide issue - name: Telegram Desktop issue
url: https://bugs.telegram.org url: https://github.com/telegramdesktop/tdesktop/issues/new/choose
about: Any bug report or feature request affecting more than only Telegram Desktop. about: Issues of original Telegram Desktop app.
- name: Issue of other client - name: Official app issue
url: https://bugs.telegram.org url: https://bugs.telegram.org
about: Any bug report or feature request not about Telegram Desktop. about: Any bug report or feature request not about Telegram Desktop.
- name: Question - name: Question
url: https://t.me/TelegramDesktopTalk url: https://t.me/kotatochat
about: Ask a question. about: Ask a question.

30
.github/workflows/language-test.yml vendored Normal file
View file

@ -0,0 +1,30 @@
name: Language test.
on:
push:
paths:
- 'Telegram/Resources/langs/rewrites/*.json'
- '.github/workflows/language-test.yml'
pull_request:
paths:
- 'Telegram/Resources/langs/rewrites/*.json'
- '.github/workflows/language-test.yml'
jobs:
test:
name: Test languages
runs-on: ubuntu-latest
steps:
- name: Clone
uses: actions/checkout@v2
- name: Trim comments
shell: bash
run: sed -i -e 's/^\s*\/\/.*$//' Telegram/Resources/langs/rewrites/*.json
- name: Test JSON for validity
shell: bash
run: |
for f in Telegram/Resources/langs/rewrites/*.json; do
echo "::group::Testing $f"
cat "$f" | jq -e '.'
echo "::endgroup::"
done

View file

@ -5,6 +5,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '**.md' - '**.md'
- 'kotatogram_changes.txt'
- 'changelog.txt' - 'changelog.txt'
- 'LEGAL' - 'LEGAL'
- 'LICENSE' - 'LICENSE'
@ -23,6 +24,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '**.md' - '**.md'
- 'kotatogram_changes.txt'
- 'changelog.txt' - 'changelog.txt'
- 'LEGAL' - 'LEGAL'
- 'LICENSE' - 'LICENSE'
@ -42,6 +44,11 @@ jobs:
linux: linux:
name: Rocky Linux 8 name: Rocky Linux 8
if: >
!(github.event_name == 'push'
&& contains(github.event.head_commit.message, '[skip ci]'))
&& !(github.event_name == 'pull_request'
&& github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name)
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
@ -69,7 +76,7 @@ jobs:
docker pull ghcr.io/$GITHUB_REPOSITORY/centos_env docker pull ghcr.io/$GITHUB_REPOSITORY/centos_env
docker tag ghcr.io/$GITHUB_REPOSITORY/centos_env tdesktop:centos_env docker tag ghcr.io/$GITHUB_REPOSITORY/centos_env tdesktop:centos_env
- name: Telegram Desktop build. - name: Kotatogram Desktop build.
run: | run: |
cd $REPO_NAME cd $REPO_NAME
@ -77,9 +84,9 @@ jobs:
if [ -n "${{ matrix.defines }}" ]; then if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON" DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE echo Define from matrix: $DEFINE
echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV echo "ARTIFACT_NAME=Kotatogram_${{ matrix.defines }}" >> $GITHUB_ENV
else else
echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV echo "ARTIFACT_NAME=Kotatogram" >> $GITHUB_ENV
fi fi
docker run --rm \ docker run --rm \
@ -99,7 +106,7 @@ jobs:
- name: Check. - name: Check.
run: | run: |
filePath="$REPO_NAME/out/Debug/Telegram" filePath="$REPO_NAME/out/Debug/Kotatogram"
if test -f "$filePath"; then if test -f "$filePath"; then
echo "Build successfully done! :)" echo "Build successfully done! :)"
@ -115,7 +122,7 @@ jobs:
run: | run: |
cd $REPO_NAME/out/Debug cd $REPO_NAME/out/Debug
sudo mkdir artifact sudo mkdir artifact
sudo mv {Telegram,Updater} artifact/ sudo mv {Kotatogram,Updater} artifact/
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact. name: Upload artifact.

View file

@ -5,6 +5,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '**.md' - '**.md'
- 'kotatogram_changes.txt'
- 'changelog.txt' - 'changelog.txt'
- 'LEGAL' - 'LEGAL'
- 'LICENSE' - 'LICENSE'
@ -22,6 +23,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '**.md' - '**.md'
- 'kotatogram_changes.txt'
- 'changelog.txt' - 'changelog.txt'
- 'LEGAL' - 'LEGAL'
- 'LICENSE' - 'LICENSE'
@ -40,6 +42,11 @@ jobs:
macos: macos:
name: MacOS name: MacOS
if: >
!(github.event_name == 'push'
&& contains(github.event.head_commit.message, '[skip ci]'))
&& !(github.event_name == 'pull_request'
&& github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name)
runs-on: macos-13 runs-on: macos-13
strategy: strategy:
@ -99,7 +106,7 @@ jobs:
cd Libraries cd Libraries
find . -iname "*.dir" -exec rm -rf {} || true \; find . -iname "*.dir" -exec rm -rf {} || true \;
- name: Telegram Desktop build. - name: Kotatogram Desktop build.
if: env.ONLY_CACHE == 'false' if: env.ONLY_CACHE == 'false'
run: | run: |
cd $REPO_NAME/Telegram cd $REPO_NAME/Telegram
@ -108,9 +115,9 @@ jobs:
if [ -n "${{ matrix.defines }}" ]; then if [ -n "${{ matrix.defines }}" ]; then
DEFINE="-D ${{ matrix.defines }}=ON" DEFINE="-D ${{ matrix.defines }}=ON"
echo Define from matrix: $DEFINE echo Define from matrix: $DEFINE
echo "ARTIFACT_NAME=Telegram_${{ matrix.defines }}" >> $GITHUB_ENV echo "ARTIFACT_NAME=Kotatogram_${{ matrix.defines }}" >> $GITHUB_ENV
else else
echo "ARTIFACT_NAME=Telegram" >> $GITHUB_ENV echo "ARTIFACT_NAME=Kotatogram" >> $GITHUB_ENV
fi fi
./configure.sh \ ./configure.sh \
@ -132,7 +139,7 @@ jobs:
run: | run: |
cd $REPO_NAME/out/Debug cd $REPO_NAME/out/Debug
mkdir artifact mkdir artifact
mv Telegram.app artifact/ mv Kotatogram.app artifact/
mv Updater artifact/ mv Updater artifact/
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'

View file

@ -140,19 +140,19 @@ jobs:
cmake --build build --parallel cmake --build build --parallel
cd build cd build
macdeployqt Telegram.app macdeployqt Kotatogram.app
codesign --remove-signature Telegram.app codesign --remove-signature Kotatogram.app
mkdir dmgsrc mkdir dmgsrc
mv Telegram.app dmgsrc mv Kotatogram.app dmgsrc
hdiutil create -volname Telegram -srcfolder dmgsrc -ov -format UDZO Telegram.dmg hdiutil create -volname Kotatogram -srcfolder dmgsrc -ov -format UDZO Kotatogram.dmg
- name: Move artifact. - name: Move artifact.
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
run: | run: |
cd $REPO_NAME/build cd $REPO_NAME/build
mkdir artifact mkdir artifact
mv Telegram.dmg artifact/ mv Kotatogram.dmg artifact/
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
if: env.UPLOAD_ARTIFACT == 'true' if: env.UPLOAD_ARTIFACT == 'true'
name: Upload artifact. name: Upload artifact.

View file

@ -1,25 +0,0 @@
name: 'Close stale issues and PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
stale-issue-message: |
Hey there!
This issue was inactive for a long time and will be automatically closed in 30 days if there isn't any further activity. We therefore assume that the user has lost interest or resolved the problem on their own.
Don't worry though; if this is an error, let us know with a comment and we'll be happy to reopen the issue.
Thanks!
stale-issue-label: 'stale'
exempt-issue-labels: 'enhancement'
days-before-stale: 180
days-before-close: 30
days-before-pr-stale: -1
operations-per-run: 1000

43
.github/workflows/tarball-release.yml vendored Normal file
View file

@ -0,0 +1,43 @@
name: Release Tarball
on:
release:
types: [published]
jobs:
linux:
name: Ubuntu
runs-on: ubuntu-latest
steps:
- name: Get repository name
run: |
tag_name=${GITHUB_REF##*/}
version=${tag_name#k}
echo "REPO_NAME=${GITHUB_REPOSITORY##*/}-$version-full" >> $GITHUB_ENV
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
path: ${{ env.REPO_NAME }}
- name: Create tarball
run: |
artifact_name="$REPO_NAME.tar.gz"
echo "ARTIFACT_NAME=$artifact_name" >> $GITHUB_ENV
rm -rf $REPO_NAME/.git
tar -caf $artifact_name $REPO_NAME
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ./${{ env.ARTIFACT_NAME }}
asset_name: ${{ env.ARTIFACT_NAME }}
asset_content_type: application/octet-stream

View file

@ -1,18 +0,0 @@
name: User-agent updater.
on:
repository_dispatch:
types: ["Restart user_agent_updater workflow."]
schedule:
# At 00:00 on day-of-month 1.
- cron: "0 0 1 * *"
pull_request_target:
types: [closed]
jobs:
User-agent:
runs-on: ubuntu-latest
steps:
- uses: desktop-app/action_code_updater@master
with:
type: "user-agent"

View file

@ -5,6 +5,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '**.md' - '**.md'
- 'kotatogram_changes.txt'
- 'changelog.txt' - 'changelog.txt'
- 'LEGAL' - 'LEGAL'
- 'LICENSE' - 'LICENSE'
@ -23,6 +24,7 @@ on:
paths-ignore: paths-ignore:
- 'docs/**' - 'docs/**'
- '**.md' - '**.md'
- 'kotatogram_changes.txt'
- 'changelog.txt' - 'changelog.txt'
- 'LEGAL' - 'LEGAL'
- 'LICENSE' - 'LICENSE'
@ -42,6 +44,11 @@ jobs:
windows: windows:
name: Windows name: Windows
if: >
!(github.event_name == 'push'
&& contains(github.event.head_commit.message, '[skip ci]'))
&& !(github.event_name == 'pull_request'
&& github.event.pull_request.head.repo.full_name == github.event.pull_request.base.repo.full_name)
runs-on: windows-2022 runs-on: windows-2022
strategy: strategy:
@ -113,7 +120,7 @@ jobs:
- name: Read configuration matrix. - name: Read configuration matrix.
shell: bash shell: bash
run: | run: |
ARTIFACT_NAME="Telegram" ARTIFACT_NAME="Kotatogram"
ARCH="" ARCH=""
if [ -n "${{ matrix.arch }}" ]; then if [ -n "${{ matrix.arch }}" ]; then
@ -160,7 +167,7 @@ jobs:
del /S Libraries\*.pch del /S Libraries\*.pch
del /S Libraries\*.obj del /S Libraries\*.obj
- name: Telegram Desktop build. - name: Kotatogram Desktop build.
if: env.ONLY_CACHE == 'false' if: env.ONLY_CACHE == 'false'
run: | run: |
cd %TBUILD%\%REPO_NAME%\Telegram cd %TBUILD%\%REPO_NAME%\Telegram
@ -174,14 +181,23 @@ jobs:
-D DESKTOP_APP_NO_PDB=ON ^ -D DESKTOP_APP_NO_PDB=ON ^
%TDESKTOP_BUILD_DEFINE% %TDESKTOP_BUILD_DEFINE%
cmake --build ..\out --config Debug --parallel if "${{ matrix.arch }}" == "x64" (
cd ..\out64
) else (
cd ..\out
)
cmake --build . --config Debug --parallel
- name: Move artifact. - name: Move artifact.
if: (env.UPLOAD_ARTIFACT == 'true') || (github.ref == 'refs/heads/nightly') if: (env.UPLOAD_ARTIFACT == 'true') || (github.ref == 'refs/heads/nightly')
run: | run: |
set OUT=%TBUILD%\%REPO_NAME%\out\Debug if "${{ matrix.arch }}" == "x64" (
set OUT=%TBUILD%\%REPO_NAME%\out64\Debug
) else (
set OUT=%TBUILD%\%REPO_NAME%\out\Debug
)
mkdir artifact mkdir artifact
move %OUT%\Telegram.exe artifact/ move %OUT%\Kotatogram.exe artifact/
move %OUT%\Updater.exe artifact/ move %OUT%\Updater.exe artifact/
- uses: actions/upload-artifact@v4 - uses: actions/upload-artifact@v4
name: Upload artifact. name: Upload artifact.

1
.gitignore vendored
View file

@ -1,4 +1,5 @@
/out/ /out/
/out64/
Debug/ Debug/
Release/ Release/
/ThirdParty/ /ThirdParty/

4
.gitmodules vendored
View file

@ -27,7 +27,7 @@
url = https://github.com/desktop-app/codegen.git url = https://github.com/desktop-app/codegen.git
[submodule "Telegram/lib_ui"] [submodule "Telegram/lib_ui"]
path = Telegram/lib_ui path = Telegram/lib_ui
url = https://github.com/desktop-app/lib_ui.git url = https://github.com/kotatogram/lib_ui.git
[submodule "Telegram/lib_lottie"] [submodule "Telegram/lib_lottie"]
path = Telegram/lib_lottie path = Telegram/lib_lottie
url = https://github.com/desktop-app/lib_lottie.git url = https://github.com/desktop-app/lib_lottie.git
@ -42,7 +42,7 @@
url = https://github.com/desktop-app/lib_storage.git url = https://github.com/desktop-app/lib_storage.git
[submodule "cmake"] [submodule "cmake"]
path = cmake path = cmake
url = https://github.com/desktop-app/cmake_helpers.git url = https://github.com/kotatogram/cmake_helpers.git
[submodule "Telegram/ThirdParty/expected"] [submodule "Telegram/ThirdParty/expected"]
path = Telegram/ThirdParty/expected path = Telegram/ThirdParty/expected
url = https://github.com/TartanLlama/expected url = https://github.com/TartanLlama/expected

122
README.md
View file

@ -1,85 +1,67 @@
# [Telegram Desktop][telegram_desktop] Official Messenger # Kotatogram experimental [Telegram Desktop][telegram_desktop] fork.
This is the complete source code and the build instructions for the official [Telegram][telegram] messenger desktop client, based on the [Telegram API][telegram_api] and the [MTProto][telegram_proto] secure protocol. [![GitHub release (latest by date including pre-releases)](https://badgen.net/github/release/kotatogram/kotatogram-desktop?label=Latest%20release)][releases]
[![GitHub Workflow Status: Windows](https://github.com/kotatogram/kotatogram-desktop/workflows/Windows./badge.svg?event=push)][actions]
[![GitHub Workflow Status: Linux](https://github.com/kotatogram/kotatogram-desktop/workflows/Linux%20Kotato./badge.svg?event=push)][actions]
[![GitHub Workflow Status: macOS](https://github.com/kotatogram/kotatogram-desktop/workflows/MacOS./badge.svg?event=push)][actions]
[![Crowdin](https://badges.crowdin.net/kotatogram-desktop/localized.svg)](https://crowdin.com/project/kotatogram-desktop)
[![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases) [![Preview of Kotatogram Desktop][preview_image]][preview_image_url]
[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/Windows./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/MacOS./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Build Status](https://github.com/telegramdesktop/tdesktop/workflows/Linux./badge.svg)](https://github.com/telegramdesktop/tdesktop/actions)
[![Preview of Telegram Desktop][preview_image]][preview_image_url] Build instructions can be found [in `docs` folder][build]. Please note: only [32-bit Windows][building-msvc], [64-bit Windows][building-msvc-x64] and [Linux][building-cmake] build instructions are updated.
The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license]. Original README with licenses could be found in [Telegram Desktop repository][telegram_desktop_readme].
## Supported systems ## Download
Binaries can be downloaded from releases: https://github.com/kotatogram/kotatogram-desktop/releases
The latest version is available for Latest stable version can be found here: https://github.com/kotatogram/kotatogram-desktop/releases/latest
* [Windows 7 and above (64 bit)](https://telegram.org/dl/desktop/win64) ([portable](https://telegram.org/dl/desktop/win64_portable)) ## Builds
* [Windows 7 and above (32 bit)](https://telegram.org/dl/desktop/win) ([portable](https://telegram.org/dl/desktop/win_portable)) * Windows (installer and portable)
* [macOS 10.13 and above](https://telegram.org/dl/desktop/mac) * Linux (64-bit)
* [Linux static build for 64 bit](https://telegram.org/dl/desktop/linux) * [Flathub][flatpak]
* [Snap](https://snapcraft.io/telegram-desktop) * Other repositories:<br>[![Packaging status](https://repology.org/badge/vertical-allrepos/kotatogram-desktop.svg)][repology]
* [Flatpak](https://flathub.org/apps/details/org.telegram.desktop) * macOS
## Old system versions ## 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.
Version **4.9.9** was the last that supports older systems Full list of features will rewritten later. Control branches were used to list features, but they are now deprecated and archived in [separate repo][archive].
* [macOS 10.12](https://updates.tdesktop.com/tmac/tsetup.4.9.9.dmg) ## Contributing
* [Linux with glibc < 2.28 static build](https://updates.tdesktop.com/tlinux/tsetup.4.9.9.tar.xz) Read [CONTRIBUTING.md][contributing].
Version **2.4.4** was the last that supports older systems ## Other links
* Website: https://kotatogram.github.io
* English Telegram channel: https://t.me/kotatogram
* Russian Telegram channel: https://t.me/kotatogram_ru
* Trello (on Russian, abandoned): https://trello.com/b/G6zetXOH/kotatogram-desktop
* [OS X 10.10 and 10.11](https://updates.tdesktop.com/tosx/tsetup-osx.2.4.4.dmg) ## Attribution
* [Linux static build for 32 bit](https://updates.tdesktop.com/tlinux32/tsetup32.2.4.4.tar.xz) * Ghost icon (for deleted accounts) is taken from [official Android app](https://github.com/DrKLO/Telegram).
* Icons for local folders mostly are [Material Design Icons](https://materialdesignicons.com/).
Version **1.8.15** was the last that supports older systems
* [Windows XP and Vista](https://updates.tdesktop.com/tsetup/tsetup.1.8.15.exe) ([portable](https://updates.tdesktop.com/tsetup/tportable.1.8.15.zip))
* [OS X 10.8 and 10.9](https://updates.tdesktop.com/tmac/tsetup.1.8.15.dmg)
* [OS X 10.6 and 10.7](https://updates.tdesktop.com/tmac32/tsetup32.1.8.15.dmg)
## Third-party
* Qt 6 ([LGPL](http://doc.qt.io/qt-6/lgpl.html)) and Qt 5.15 ([LGPL](http://doc.qt.io/qt-5/lgpl.html)) slightly patched
* OpenSSL 3.2.1 ([Apache License 2.0](https://www.openssl.org/source/apache-license-2.0.txt))
* WebRTC ([New BSD License](https://github.com/desktop-app/tg_owt/blob/master/LICENSE))
* zlib 1.2.11 ([zlib License](http://www.zlib.net/zlib_license.html))
* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html))
* liblzma ([public domain](http://tukaani.org/xz/))
* Google Breakpad ([License](https://chromium.googlesource.com/breakpad/breakpad/+/master/LICENSE))
* Google Crashpad ([Apache License 2.0](https://chromium.googlesource.com/crashpad/crashpad/+/master/LICENSE))
* GYP ([BSD License](https://github.com/bnoordhuis/gyp/blob/master/LICENSE))
* Ninja ([Apache License 2.0](https://github.com/ninja-build/ninja/blob/master/COPYING))
* OpenAL Soft ([LGPL](https://github.com/kcat/openal-soft/blob/master/COPYING))
* Opus codec ([BSD License](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
* Range-v3 ([Boost License](https://github.com/ericniebler/range-v3/blob/master/LICENSE.txt))
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
* Vazir font ([SIL Open Font License 1.1](https://github.com/rastikerdar/vazir-font/blob/master/OFL.txt))
* Emoji alpha codes ([MIT License](https://github.com/emojione/emojione/blob/master/extras/alpha-codes/LICENSE.md))
* xxHash ([BSD License](https://github.com/Cyan4973/xxHash/blob/dev/LICENSE))
* QR Code generator ([MIT License](https://github.com/nayuki/QR-Code-generator#license))
* CMake ([New BSD License](https://github.com/Kitware/CMake/blob/master/Copyright.txt))
* Hunspell ([LGPL](https://github.com/hunspell/hunspell/blob/master/COPYING.LESSER))
## Build instructions
* Windows [(32-bit)][win32] [(64-bit)][win64]
* [macOS][mac]
* [GNU/Linux using Docker][linux]
[//]: # (LINKS) [//]: # (LINKS)
[telegram]: https://telegram.org
[telegram_desktop]: https://desktop.telegram.org [telegram_desktop]: https://desktop.telegram.org
[telegram_api]: https://core.telegram.org [releases]: https://github.com/kotatogram/kotatogram-desktop/releases
[telegram_proto]: https://core.telegram.org/mtproto [actions]: https://github.com/kotatogram/kotatogram-desktop/actions
[license]: LICENSE [telegram_desktop_readme]: https://github.com/telegramdesktop/tdesktop/blob/dev/README.md
[win32]: docs/building-win.md [repology]: https://repology.org/project/kotatogram-desktop/versions
[win64]: docs/building-win-x64.md [flatpak]: https://flathub.org/apps/details/io.github.kotatogram
[mac]: docs/building-mac.md [changelog]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/kotatogram_changes.txt
[linux]: docs/building-linux.md [preview_image]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/assets/ktg_preview.png "Preview of Kotatogram Desktop"
[preview_image]: https://github.com/telegramdesktop/tdesktop/blob/dev/docs/assets/preview.png "Preview of Telegram Desktop" [preview_image_url]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/assets/ktg_preview.png
[preview_image_url]: https://raw.githubusercontent.com/telegramdesktop/tdesktop/dev/docs/assets/preview.png [contributing]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/.github/CONTRIBUTING.md
[archive]: https://github.com/kotatogram/kotatogram-archived
[build]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs
[win32]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/building-win.md
[win64]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/building-win-x64.md
[linux]: https://github.com/kotatogram/kotatogram-desktop/blob/dev/docs/building-linux.md

View file

@ -1023,6 +1023,23 @@ PRIVATE
iv/iv_delegate_impl.h iv/iv_delegate_impl.h
iv/iv_instance.cpp iv/iv_instance.cpp
iv/iv_instance.h iv/iv_instance.h
kotato/boxes/kotato_confirm_box.cpp
kotato/boxes/kotato_confirm_box.h
kotato/boxes/kotato_fonts_box.cpp
kotato/boxes/kotato_fonts_box.h
kotato/boxes/kotato_radio_box.cpp
kotato/boxes/kotato_radio_box.h
kotato/boxes/kotato_unpin_box.cpp
kotato/boxes/kotato_unpin_box.h
kotato/kotato_lang.cpp
kotato/kotato_lang.h
kotato/kotato_radius.cpp
kotato/kotato_radius.h
kotato/kotato_settings.cpp
kotato/kotato_settings.h
kotato/kotato_settings_menu.cpp
kotato/kotato_settings_menu.h
kotato/kotato_version.h
lang/lang_cloud_manager.cpp lang/lang_cloud_manager.cpp
lang/lang_cloud_manager.h lang/lang_cloud_manager.h
lang/lang_instance.cpp lang/lang_instance.cpp
@ -1587,7 +1604,7 @@ PRIVATE
qrc/telegram/iv.qrc qrc/telegram/iv.qrc
qrc/telegram/telegram.qrc qrc/telegram/telegram.qrc
qrc/telegram/sounds.qrc qrc/telegram/sounds.qrc
winrc/Telegram.rc winrc/Kotatogram.rc
winrc/Telegram.manifest winrc/Telegram.manifest
langs/lang.strings langs/lang.strings
langs/cloud_lang.strings langs/cloud_lang.strings
@ -1704,10 +1721,15 @@ else()
endif() endif()
endif() endif()
set(bundle_identifier "io.github.kotatogram")
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
set(output_name "kotatogram-desktop")
else()
set(output_name "Kotatogram")
endif()
if (build_macstore) if (build_macstore)
set(bundle_identifier "org.telegram.desktop")
set(bundle_entitlements "Telegram Lite.entitlements") set(bundle_entitlements "Telegram Lite.entitlements")
set(output_name "Telegram Lite")
set_target_properties(Telegram PROPERTIES set_target_properties(Telegram PROPERTIES
XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${libs_loc}/breakpad/src/client/mac/build/Release XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${libs_loc}/breakpad/src/client/mac/build/Release
) )
@ -1721,17 +1743,7 @@ if (build_macstore)
COMMAND rm -rf $<TARGET_FILE_DIR:Telegram>/../Frameworks/Breakpad.framework/Resources/Inspector COMMAND rm -rf $<TARGET_FILE_DIR:Telegram>/../Frameworks/Breakpad.framework/Resources/Inspector
) )
else() else()
if (CMAKE_GENERATOR STREQUAL Xcode)
set(bundle_identifier "com.tdesktop.Telegram$<$<CONFIG:Debug>:Debug>")
else()
set(bundle_identifier "com.tdesktop.Telegram")
endif()
set(bundle_entitlements "Telegram.entitlements") set(bundle_entitlements "Telegram.entitlements")
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
set(output_name "telegram-desktop")
else()
set(output_name "Telegram")
endif()
endif() endif()
if (CMAKE_GENERATOR STREQUAL Xcode) if (CMAKE_GENERATOR STREQUAL Xcode)
@ -1743,7 +1755,7 @@ endif()
set_target_properties(Telegram PROPERTIES set_target_properties(Telegram PROPERTIES
OUTPUT_NAME ${output_name} OUTPUT_NAME ${output_name}
MACOSX_BUNDLE_GUI_IDENTIFIER ${bundle_identifier} MACOSX_BUNDLE_GUI_IDENTIFIER ${bundle_identifier}
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Telegram.plist MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Telegram.plist.in
XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/Telegram/${bundle_entitlements}" XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/Telegram/${bundle_entitlements}"
XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER ${bundle_identifier} XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER ${bundle_identifier}
XCODE_ATTRIBUTE_CURRENT_PROJECT_VERSION ${desktop_app_version_string} XCODE_ATTRIBUTE_CURRENT_PROJECT_VERSION ${desktop_app_version_string}
@ -1770,13 +1782,24 @@ target_compile_definitions(Telegram
PRIVATE PRIVATE
TDESKTOP_API_ID=${TDESKTOP_API_ID} TDESKTOP_API_ID=${TDESKTOP_API_ID}
TDESKTOP_API_HASH=${TDESKTOP_API_HASH} TDESKTOP_API_HASH=${TDESKTOP_API_HASH}
G_LOG_DOMAIN="Telegram" G_LOG_DOMAIN="Kotatogram"
) )
execute_process(
COMMAND git describe --tags --always
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE KTGDESKTOP_GIT_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
string(REGEX REPLACE "^(k|v)([0-9]\\.[0-9])" "\\2" KTGDESKTOP_GIT_VERSION "${KTGDESKTOP_GIT_VERSION}")
if (KTGDESKTOP_GIT_VERSION)
target_compile_definitions(Telegram PRIVATE KTGDESKTOP_GIT_VERSION="${KTGDESKTOP_GIT_VERSION}")
endif()
if (APPLE if (APPLE
OR "${CMAKE_GENERATOR}" STREQUAL "Ninja Multi-Config" OR "${CMAKE_GENERATOR}" STREQUAL "Ninja Multi-Config"
OR NOT CMAKE_EXECUTABLE_SUFFIX STREQUAL "" OR NOT CMAKE_EXECUTABLE_SUFFIX STREQUAL ""
OR NOT "${output_name}" STREQUAL "Telegram") OR NOT "${output_name}" STREQUAL "Kotatogram")
set(output_folder ${CMAKE_BINARY_DIR}) set(output_folder ${CMAKE_BINARY_DIR})
else() else()
set(output_folder ${CMAKE_BINARY_DIR}/bin) set(output_folder ${CMAKE_BINARY_DIR}/bin)
@ -1832,6 +1855,11 @@ if (NOT DESKTOP_APP_DISABLE_AUTOUPDATE AND NOT build_macstore AND NOT build_wins
_other/updater.h _other/updater.h
) )
nice_target_sources(Updater ${res_loc}
PRIVATE
winrc/KotatogramUpdater.rc
)
set_target_properties(Updater PROPERTIES set_target_properties(Updater PROPERTIES
RUNTIME_OUTPUT_DIRECTORY ${output_folder} RUNTIME_OUTPUT_DIRECTORY ${output_folder}
) )
@ -1868,7 +1896,7 @@ if (NOT DESKTOP_APP_DISABLE_AUTOUPDATE AND NOT build_macstore AND NOT build_wins
) )
endif() endif()
if (DESKTOP_APP_SPECIAL_TARGET) if (DESKTOP_APP_SPECIAL_TARGET OR KTGDESKTOP_ENABLE_PACKER)
add_executable(Packer) add_executable(Packer)
init_target(Packer) init_target(Packer)
@ -1908,19 +1936,19 @@ endif()
if (LINUX AND DESKTOP_APP_USE_PACKAGED) if (LINUX AND DESKTOP_APP_USE_PACKAGED)
include(GNUInstallDirs) include(GNUInstallDirs)
configure_file("../lib/xdg/org.telegram.desktop.service" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" @ONLY) configure_file("../lib/xdg/io.github.kotatogram.service" "${CMAKE_CURRENT_BINARY_DIR}/io.github.kotatogram.service" @ONLY)
configure_file("../lib/xdg/org.telegram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" @ONLY) configure_file("../lib/xdg/io.github.kotatogram.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/io.github.kotatogram.metainfo.xml" @ONLY)
generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml") #generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/io.github.kotatogram.metainfo.xml")
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}") install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "telegram.png") install(FILES "Resources/art/icon16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "kotatogram.png")
install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "telegram.png") install(FILES "Resources/art/icon32.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/32x32/apps" RENAME "kotatogram.png")
install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "telegram.png") install(FILES "Resources/art/icon48.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/48x48/apps" RENAME "kotatogram.png")
install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "telegram.png") install(FILES "Resources/art/icon64.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/64x64/apps" RENAME "kotatogram.png")
install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "telegram.png") install(FILES "Resources/art/icon128.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/128x128/apps" RENAME "kotatogram.png")
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png") install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "kotatogram.png")
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png") install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "kotatogram.png")
install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "telegram-symbolic.svg") install(FILES "Resources/icons/tray_monochrome.svg" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/symbolic/apps" RENAME "kotatogram-symbolic.svg")
install(FILES "../lib/xdg/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications") install(FILES "../lib/xdg/io.github.kotatogram.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/io.github.kotatogram.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/io.github.kotatogram.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
endif() endif()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -0,0 +1,20 @@
// This is a list of your own settings for Kotatogram Desktop
// You can see full list of settings in the 'kotato-settings-default.json' file
{
// "fonts": {
// "main": "Open Sans",
// "semibold": "Open Sans Semibold",
// "semibold_is_bold": false,
// "monospaced": "Consolas"
// },
// "sticker_height": 170,
// "big_emoji_outline": true,
// "always_show_scheduled": false,
// "show_chat_id": false,
// "net_speed_boost": null,
// "show_phone_in_drawer": true,
// "scales": [],
// "confirm_before_calls": false,
// "recent_stickers_limit": 20
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Some files were not shown because too many files have changed in this diff Show more