Skip to content

Commit b4ab5be

Browse files
committed
docs update
1 parent 973bbb4 commit b4ab5be

10 files changed

+71
-39
lines changed

README.md

+17-7
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,29 @@
1-
# rabbitGram Desktop – Telegram Desktop based messenger with special features
1+
<div align="center">
22

3-
[![Windows.](https://github.com/rabbitgramdesktop/rabbitgramdesktop/actions/workflows/win.yml/badge.svg)](https://github.com/rabbitgramdesktop/rabbitgramdesktop/actions/workflows/win.yml)
3+
<img src="docs/assets/logo.png" alt="rabbitGram logo" width="200"/>
4+
5+
# rabbitGram Desktop
6+
### Telegram Desktop based messenger with special features
47

58
This is the complete source code and the build instructions for the app based on the official [Telegram][telegram] messenger desktop client.
69

7-
![image](https://github.com/xmdnx/exteraGramDesktop/assets/72883689/082fe7d6-eeba-4198-83ab-843d08ac909c)
10+
<img src="docs/assets/screenshot_channel.png" alt="Screenshot"/>
811

912
The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license].
1013

14+
</div>
15+
1116
## Features
1217

13-
* Sticker size setting
14-
* Userpic corner radius
18+
* Hide phone number in profile
1519
* Auto-hiding notifications
20+
* Custom app icon
21+
* Userpic corner radius
1622
* Side menu editor
17-
* Hide phone number in profile
18-
* Show user ID in profile
23+
* Sticker size setting
24+
* Seconds in time
25+
* Sender's avatar in groups
26+
* Comma after mention
1927

2028
## Supported systems
2129

@@ -60,6 +68,7 @@ You can build rabbitGram Desktop yourself using [build instructions][build_instr
6068
## Special thanks to
6169

6270
* [Kotatogram][kotatogram]
71+
* [Materialgram][materialgram]
6372
* [64Gram][64gram]
6473

6574
[//]: # (LINKS)
@@ -72,4 +81,5 @@ You can build rabbitGram Desktop yourself using [build instructions][build_instr
7281
[macos]: docs/building-mac.md
7382
[build_instructions]: https://github.com/rabbitGramDesktop/rabbitGramDesktop#build-instructions
7483
[kotatogram]: https://github.com/kotatogram/kotatogram-desktop
84+
[materialgram]: https://github.com/kukuruzka165/materialgram
7585
[64gram]: https://github.com/TDesktop-x64/tdesktop

prepare_version.py bundle_release.py

+13-14
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
# new version preparation script
21
# libraries
32
import os, shutil
43
from datetime import date
@@ -18,17 +17,17 @@
1817

1918
# functions
2019
def log(text, level):
21-
print("#" + " " * level + text)
20+
print(f"#{" " * level}{text}")
2221

2322
def set_repo_path():
2423
log("Setting repo path...", 1)
2524
config["repo_path"] = os.getcwd()
2625
log("Repo path was not set in config", 2)
27-
log("Set repo path to: " + config["repo_path"], 2)
26+
log(f"Set repo path to: {config["repo_path"]}", 2)
2827

2928
def set_version():
3029
log("Setting version...", 1)
31-
with open(config["repo_path"] + "/Telegram/SourceFiles/core/version.h", "r") as version_file:
30+
with open(f"{config["repo_path"]}/Telegram/SourceFiles/core/version.h", "r") as version_file:
3231
version_code = version_file.readlines()[25]
3332
config["version"] += version_code.replace('constexpr auto AppVersionStr = "', '').replace('";', date.today().strftime("-%d%m%Y")).replace('\n', '')
3433
config["tgversion"] += version_code.replace('constexpr auto AppVersionStr = "', '').replace('";', '').replace('\n', '')
@@ -38,12 +37,12 @@ def set_version():
3837

3938
def set_iss():
4039
log("Updating iss file...", 1)
41-
iss_file = open(config["repo_path"] + "/Telegram/build/setup.iss", "r", encoding="utf-8")
40+
iss_file = open(f"{config["repo_path"]}/Telegram/build/setup.iss", "r", encoding="utf-8")
4241
iss_file_data = iss_file.readlines()
43-
iss_file_data[3] = '#define MyAppVersion "' + config["tgversion"] + '"\n'
44-
iss_file_data[10] = '#define MyAppVersionFull "' + config["version"] + '"\n'
42+
iss_file_data[3] = f'#define MyAppVersion "{config["tgversion"]}"\n'
43+
iss_file_data[10] = f'#define MyAppVersionFull "{config["version"]}"\n'
4544
iss_file.close()
46-
iss_file = open(config["repo_path"] + "/Telegram/build/setup.iss", "w", encoding="utf-8")
45+
iss_file = open(f"{config["repo_path"]}/Telegram/build/setup.iss", "w", encoding="utf-8")
4746
iss_file.writelines(iss_file_data)
4847

4948
def check_files():
@@ -61,21 +60,21 @@ def make_portable():
6160
log("Making portable version", 1)
6261
log("Creating 'portable' folder", 2)
6362
try:
64-
os.mkdir(os.path.join(config["repo_path"] + "/out/Release/portable"))
63+
os.mkdir(os.path.join(f"{config["repo_path"]}/out/Release/portable"))
6564
log("Created 'portable' folder", 3)
6665
except:
6766
log("Folder 'portable' already exists", 3)
6867
log("Copying portable files", 2)
6968
try:
70-
shutil.copyfile(os.path.join(config["repo_path"] + "/out/Release/", config["exe_filename"]), os.path.join(config["repo_path"] + "/out/Release/portable", config["exe_filename"]))
69+
shutil.copyfile(f"{config["repo_path"]}/out/Release/{config["exe_filename"]}", f"{config["repo_path"]}/out/Release/portable/{config["exe_filename"]}")
7170
if config["ota_enabled"]:
72-
shutil.copyfile(os.path.join(config["repo_path"] + "/out/Release/", "Updater.exe"), os.path.join(config["repo_path"] + "/out/Release/portable", "Updater.exe"))
73-
shutil.copytree(config["repo_path"] + "/out/Release/modules", config["repo_path"] + "/out/Release/portable/modules")
71+
shutil.copyfile(f"{config["repo_path"]}/out/Release/Updater.exe", f"{config["repo_path"]}/out/Release/portable/Updater.exe")
72+
shutil.copytree(f"{config["repo_path"]}/out/Release/modules", f"{config["repo_path"]}/out/Release/portable/modules")
7473
log("Files copied to 'portable' folder", 3)
7574
except:
7675
log("Files already exist", 3)
7776
log("Making archive...", 2)
78-
shutil.make_archive(os.path.join(f"{config["repo_path"]}/out/Release/releases/rtgdrelease-{config["version"]}/rtgdportable-x64.{config["version"]}"), 'zip', os.path.join(f"{config["repo_path"]}/out/Release/portable"))
77+
shutil.make_archive(f"{config["repo_path"]}/out/Release/releases/rtgdrelease-{config["version"]}/rtgdportable-x64.{config["version"]}", 'zip', f"{config["repo_path"]}/out/Release/portable")
7978

8079
def make_ota_package():
8180
log("Making OTA package", 1)
@@ -84,7 +83,7 @@ def make_ota_package():
8483
cmd = f"Packer.exe -path {config['exe_filename']} -version {config['intversion']} -target win64"
8584
os.system(cmd)
8685
os.chdir(first_loc)
87-
shutil.copyfile(os.path.join(f"{config["repo_path"]}/out/Release/tx64upd{config["intversion"]}"), os.path.join(f"{config["repo_path"]}/out/Release/releases/rtgdrelease-{config["version"]}/tx64upd{config["intversion"]}"))
86+
shutil.copyfile(f"{config["repo_path"]}/out/Release/tx64upd{config["intversion"]}", f"{config["repo_path"]}/out/Release/releases/rtgdrelease-{config["version"]}/tx64upd{config["intversion"]}")
8887

8988
if config["repo_path"] == "":
9089
set_repo_path()

docs/assets/logo.png

3.05 MB
Loading

docs/assets/screenshot_about.png

423 KB
Loading

docs/assets/screenshot_channel.png

624 KB
Loading

docs/assets/screenshot_settings.png

409 KB
Loading

docs/building-mac.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,15 @@ Go to ***BuildPath*** and run
1717

1818
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
1919

20-
git clone --recursive https://github.com/rabbitGramDesktop/rabbitGramDesktop.git
21-
./rabbitGramDesktop/Telegram/build/prepare/mac.sh
20+
git clone --recursive https://github.com/rabbitgramdesktop/rabbitgramdesktop.git
21+
./rabbitgramdesktop/Telegram/build/prepare/mac.sh
2222

2323
### Building the project
2424

25-
Go to ***BuildPath*/rabbitGramDesktop/Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials))
25+
Go to ***BuildPath*/rabbitgramdesktop/Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials))
2626

2727
./configure.sh -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH
2828

29-
Then launch Xcode, open ***BuildPath*/rabbitGramDesktop/out/Telegram.xcodeproj** and build for Debug / Release.
29+
Then launch Xcode, open ***BuildPath*/rabbitgramdesktop/out/Telegram.xcodeproj** and build for Debug / Release.
3030

3131
[api_credentials]: api_credentials.md

docs/building-win-x64.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The build is done in **Visual Studio 2022** with **10.0.22000.0** SDK version.
1212

1313
Choose an empty folder for the future build, for example **D:\\TBuild**. It will be named ***BuildPath*** in the rest of this document. Create two folders there, ***BuildPath*\\ThirdParty** and ***BuildPath*\\Libraries**.
1414

15-
All commands (if not stated otherwise) will be launched from **x64 Native Tools Command Prompt for VS 2022.bat** (should be in **Start Menu > Visual Studio 2022** menu folder). Pay attention not to use any other Command Prompt.
15+
All commands (if not stated otherwise) will be launched from **x64 Native Tools Command Prompt for VS 2022** (should be in **Start Menu > Visual Studio 2022** menu folder). Pay attention not to use any other Command Prompt.
1616

1717
### Obtain your API credentials
1818

@@ -26,20 +26,20 @@ You will require **api_id** and **api_hash** to access the Telegram API servers.
2626

2727
## Clone source code and prepare libraries
2828

29-
Open **x64 Native Tools Command Prompt for VS 2022.bat**, go to ***BuildPath*** and run
29+
Open **x64 Native Tools Command Prompt for VS 2022**, go to ***BuildPath*** and run
3030

31-
git clone --recursive https://github.com/rabbitGramDesktop.git
32-
rabbitGramDesktop\Telegram\build\prepare\win.bat
31+
git clone --recursive https://github.com/rabbitgramdesktop/rabbitgramdesktop.git
32+
rabbitgramdesktop\Telegram\build\prepare\win.bat
3333

3434
## Build the project
3535

36-
Go to ***BuildPath*\\rabbitGramDesktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials))
36+
Go to ***BuildPath*\\rabbitgramdesktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials))
3737

3838
configure.bat x64 -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH
3939

40-
* Open ***BuildPath*\\rabbitGramDesktop\\out\\Telegram.sln** in Visual Studio 2022
40+
* Open ***BuildPath*\\rabbitgramdesktop\\out\\Telegram.sln** in Visual Studio 2022
4141
* Select Telegram project and press Build > Build Telegram (Debug and Release configurations)
42-
* The result Telegram.exe will be located in ***BuildPath*\rabbitGramDesktop\out\Debug** (and **Release**)
42+
* The result rabbitGram.exe will be located in ***BuildPath*\rabbitgramdesktop\out\Debug** (and **Release**)
4343

4444
### Qt Visual Studio Tools
4545

docs/building-win.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The build is done in **Visual Studio 2022** with **10.0.22000.0** SDK version.
1212

1313
Choose an empty folder for the future build, for example **D:\\TBuild**. It will be named ***BuildPath*** in the rest of this document. Create two folders there, ***BuildPath*\\ThirdParty** and ***BuildPath*\\Libraries**.
1414

15-
All commands (if not stated otherwise) will be launched from **x86 Native Tools Command Prompt for VS 2022.bat** (should be in **Start Menu > Visual Studio 2022** menu folder). Pay attention not to use any other Command Prompt.
15+
All commands (if not stated otherwise) will be launched from **x86 Native Tools Command Prompt for VS 2022** (should be in **Start Menu > Visual Studio 2022** menu folder). Pay attention not to use any other Command Prompt.
1616

1717
### Obtain your API credentials
1818

@@ -26,20 +26,20 @@ You will require **api_id** and **api_hash** to access the Telegram API servers.
2626

2727
## Clone source code and prepare libraries
2828

29-
Open **x86 Native Tools Command Prompt for VS 2022.bat**, go to ***BuildPath*** and run
29+
Open **x86 Native Tools Command Prompt for VS 2022**, go to ***BuildPath*** and run
3030

31-
git clone --recursive https://github.com/rabbitGramDesktop.git
32-
rabbitGramDesktop\Telegram\build\prepare\win.bat
31+
git clone --recursive https://github.com/rabbitgramdesktop.git
32+
rabbitgramdesktop\Telegram\build\prepare\win.bat
3333

3434
## Build the project
3535

36-
Go to ***BuildPath*\\rabbitGramDesktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials))
36+
Go to ***BuildPath*\\rabbitgramdesktop\\Telegram** and run (using [your **api_id** and **api_hash**](#obtain-your-api-credentials))
3737

3838
configure.bat -D TDESKTOP_API_ID=YOUR_API_ID -D TDESKTOP_API_HASH=YOUR_API_HASH
3939

40-
* Open ***BuildPath*\\rabbitGramDesktop\\out\\Telegram.sln** in Visual Studio 2022
40+
* Open ***BuildPath*\\rabbitgramdesktop\\out\\Telegram.sln** in Visual Studio 2022
4141
* Select Telegram project and press Build > Build Telegram (Debug and Release configurations)
42-
* The result Telegram.exe will be located in ***BuildPath*\rabbitGramDesktop\out\Debug** (and **Release**)
42+
* The result rabbitGram.exe will be located in ***BuildPath*\rabbitgramdesktop\out\Debug** (and **Release**)
4343

4444
### Qt Visual Studio Tools
4545

docs/releasing-win-x64.md

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Release bundle build instructions for Windows 64-bit
2+
3+
- [Prepare script](#prepare-script)
4+
- [Install Inno Setup](#install-inno-setup)
5+
- [Clone source code and prepare libraries](#clone-source-code-and-prepare-libraries)
6+
- [Build the project](#build-the-project)
7+
- [Qt Visual Studio Tools](#qt-visual-studio-tools)
8+
9+
## Prepare script
10+
11+
Open **bundle_release.py** in preferred code editor and change needed variables in **config** dict.
12+
13+
## Install Inno Setup
14+
15+
Download [Inno Setup][inno-setup], install it, then go to installation path, copy it, add to PATH, reboot, and viola!
16+
17+
## Bundle release
18+
19+
Run **bundle_release.py**. You will find result files in:
20+
21+
**rabbitgramdesktop/out/Release/releases/rtgdrelease-X.XX.X-XXXXXXXX**
22+
23+
[inno-setup]: https://jrsoftware.org/isdl.php

0 commit comments

Comments
 (0)