mirror of
https://github.com/kunkundi/crossdesk.git
synced 2025-12-22 07:41:17 +08:00
Compare commits
3 Commits
v1.1.0-bet
...
52e70a26f3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
52e70a26f3 | ||
|
|
adb6cee326 | ||
|
|
941b5e5cdc |
16
.github/workflows/build.yml
vendored
16
.github/workflows/build.yml
vendored
@@ -385,3 +385,19 @@ jobs:
|
|||||||
remote_host: ${{ secrets.SERVER_HOST }}
|
remote_host: ${{ secrets.SERVER_HOST }}
|
||||||
remote_user: ${{ secrets.SERVER_USER }}
|
remote_user: ${{ secrets.SERVER_USER }}
|
||||||
remote_key: ${{ secrets.SERVER_KEY }}
|
remote_key: ${{ secrets.SERVER_KEY }}
|
||||||
|
|
||||||
|
- name: Generate version.json
|
||||||
|
run: |
|
||||||
|
echo "{" > version.json
|
||||||
|
echo " \"latest_version\": \"${{ steps.version.outputs.VERSION_NUM }}\"" >> version.json
|
||||||
|
echo "}" >> version.json cat version.json
|
||||||
|
|
||||||
|
- name: Upload version.json to server
|
||||||
|
uses: burnett01/rsync-deployments@5.2
|
||||||
|
with:
|
||||||
|
switches: -avzr --delete
|
||||||
|
path: version.json
|
||||||
|
remote_path: /var/www/html/version/
|
||||||
|
remote_host: ${{ secrets.SERVER_HOST }}
|
||||||
|
remote_user: ${{ secrets.SERVER_USER }}
|
||||||
|
remote_key: ${{ secrets.SERVER_KEY }}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[]()
|
[]()
|
||||||
[](https://www.gnu.org/licenses/lgpl-3.0)
|
[](https://www.gnu.org/licenses/lgpl-3.0)
|
||||||
[](https://github.com/kunkundi/crossdesk/commits/self-hosted-server)
|
[](https://github.com/kunkundi/crossdesk/commits/web-client)
|
||||||
[](https://github.com/kunkundi/crossdesk/actions)
|
[](https://github.com/kunkundi/crossdesk/actions)
|
||||||
[](https://hub.docker.com/r/crossdesk/crossdesk-server/tags)
|
[](https://hub.docker.com/r/crossdesk/crossdesk-server/tags)
|
||||||
[]()
|
[]()
|
||||||
@@ -42,7 +42,9 @@ CrossDesk 是 [MiniRTC](https://github.com/kunkundi/minirtc.git) 实时音视频
|
|||||||
|
|
||||||
### Web 客户端
|
### Web 客户端
|
||||||
浏览器访问 [CrossDesk Web Client](https://web.crossdesk.cn/)。
|
浏览器访问 [CrossDesk Web Client](https://web.crossdesk.cn/)。
|
||||||
输入 **远程设备 ID** 与 **密码**,点击连接即可接入远程设备。
|
输入 **远程设备 ID** 与 **密码**,点击连接即可接入远程设备。如图,**iOS Safari 远程控制 Win11**:
|
||||||
|
|
||||||
|
<img width="645" height="300" alt="_cgi-bin_mmwebwx-bin_webwxgetmsgimg__ MsgID=932911462648581698 skey=@crypt_1f5153b1_b550ca7462b5009ce03c991cca2a92a7 mmweb_appid=wx_webfilehelper" src="https://github.com/user-attachments/assets/a5109e6f-752c-4654-9f4e-7e161bddf43e" />
|
||||||
|
|
||||||
## 如何编译
|
## 如何编译
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[]()
|
[]()
|
||||||
[](https://www.gnu.org/licenses/lgpl-3.0)
|
[](https://www.gnu.org/licenses/lgpl-3.0)
|
||||||
[](https://github.com/kunkundi/crossdesk/commits/self-hosted-server)
|
[](https://github.com/kunkundi/crossdesk/commits/web-client)
|
||||||
[](https://github.com/kunkundi/crossdesk/actions)
|
[](https://github.com/kunkundi/crossdesk/actions)
|
||||||
[](https://hub.docker.com/r/crossdesk/crossdesk-server/tags)
|
[](https://hub.docker.com/r/crossdesk/crossdesk-server/tags)
|
||||||
[]()
|
[]()
|
||||||
@@ -45,7 +45,9 @@ Before connecting, you can customize configuration options in the settings, such
|
|||||||
### Web Client
|
### Web Client
|
||||||
|
|
||||||
Visit [CrossDesk Web Client](https://web.crossdesk.cn/).
|
Visit [CrossDesk Web Client](https://web.crossdesk.cn/).
|
||||||
Enter the **Remote Device ID** and **Password**, then click Connect to access the remote device.
|
Enter the **Remote Device ID** and **Password**, then click Connect to access the remote device. As shown, **iOS Safari remotely controlling Windows 11**:
|
||||||
|
|
||||||
|
<img width="645" height="300" alt="_cgi-bin_mmwebwx-bin_webwxgetmsgimg__ MsgID=932911462648581698 skey=@crypt_1f5153b1_b550ca7462b5009ce03c991cca2a92a7 mmweb_appid=wx_webfilehelper" src="https://github.com/user-attachments/assets/a5109e6f-752c-4654-9f4e-7e161bddf43e" />
|
||||||
|
|
||||||
## How to build
|
## How to build
|
||||||
|
|
||||||
|
|||||||
@@ -908,6 +908,7 @@ int Render::DrawStreamWindow() {
|
|||||||
|
|
||||||
int Render::Run() {
|
int Render::Run() {
|
||||||
latest_version_ = CheckUpdate();
|
latest_version_ = CheckUpdate();
|
||||||
|
update_available_ = IsNewerVersion(CROSSDESK_VERSION, latest_version_);
|
||||||
|
|
||||||
path_manager_ = std::make_unique<PathManager>("CrossDesk");
|
path_manager_ = std::make_unique<PathManager>("CrossDesk");
|
||||||
if (path_manager_) {
|
if (path_manager_) {
|
||||||
|
|||||||
@@ -308,6 +308,7 @@ class Render {
|
|||||||
|
|
||||||
// main window properties
|
// main window properties
|
||||||
std::string latest_version_ = "";
|
std::string latest_version_ = "";
|
||||||
|
bool update_available_ = false;
|
||||||
bool start_mouse_controller_ = false;
|
bool start_mouse_controller_ = false;
|
||||||
bool mouse_controller_is_started_ = false;
|
bool mouse_controller_is_started_ = false;
|
||||||
bool start_screen_capturer_ = false;
|
bool start_screen_capturer_ = false;
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ int Render::TitleBar(bool main_window) {
|
|||||||
|
|
||||||
std::string about_str =
|
std::string about_str =
|
||||||
localization::about[localization_language_index_];
|
localization::about[localization_language_index_];
|
||||||
if (!latest_version_.empty()) {
|
if (update_available_) {
|
||||||
auto now_time =
|
auto now_time =
|
||||||
std::chrono::duration_cast<std::chrono::milliseconds>(
|
std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||||
std::chrono::steady_clock::now().time_since_epoch())
|
std::chrono::steady_clock::now().time_since_epoch())
|
||||||
@@ -75,7 +75,7 @@ int Render::TitleBar(bool main_window) {
|
|||||||
show_about_window_ = true;
|
show_about_window_ = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!latest_version_.empty() && ImGui::IsItemHovered()) {
|
if (update_available_ && ImGui::IsItemHovered()) {
|
||||||
ImGui::BeginTooltip();
|
ImGui::BeginTooltip();
|
||||||
ImGui::SetWindowFontScale(0.5f);
|
ImGui::SetWindowFontScale(0.5f);
|
||||||
std::string new_version_available_str =
|
std::string new_version_available_str =
|
||||||
@@ -104,7 +104,7 @@ int Render::TitleBar(bool main_window) {
|
|||||||
ImVec2(bar_pos_x + menu_bar_line_size, bar_pos_y + 6),
|
ImVec2(bar_pos_x + menu_bar_line_size, bar_pos_y + 6),
|
||||||
IM_COL32(0, 0, 0, 255));
|
IM_COL32(0, 0, 0, 255));
|
||||||
|
|
||||||
if (!latest_version_.empty() && show_new_version_icon_in_menu_) {
|
if (update_available_ && show_new_version_icon_in_menu_) {
|
||||||
auto now_time = std::chrono::duration_cast<std::chrono::milliseconds>(
|
auto now_time = std::chrono::duration_cast<std::chrono::milliseconds>(
|
||||||
std::chrono::steady_clock::now().time_since_epoch())
|
std::chrono::steady_clock::now().time_since_epoch())
|
||||||
.count();
|
.count();
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ int Render::AboutWindow() {
|
|||||||
": CrossDesk v" + version;
|
": CrossDesk v" + version;
|
||||||
ImGui::Text("%s", text.c_str());
|
ImGui::Text("%s", text.c_str());
|
||||||
|
|
||||||
if (!latest_version_.empty()) {
|
if (update_available_) {
|
||||||
std::string latest_version =
|
std::string latest_version =
|
||||||
localization::new_version_available[localization_language_index_] +
|
localization::new_version_available[localization_language_index_] +
|
||||||
": " + latest_version_;
|
": " + latest_version_;
|
||||||
|
|||||||
Reference in New Issue
Block a user