logiguard fork v2: patched GPUI on verified 8c74db0 tree

Rebuilt from the exact zed-industries/zed @ 8c74db00c4053d6c0a9037863d7bd048658da4ca
tree (previous orphan was based on a stale/wrong fetch). Same 3-file patch:
  - serial.rs: add SerialKind::KeyboardEnter
  - client.rs: store wl_keyboard.enter serial; add latest_serial_of()
  - window.rs: activate() uses keyboard-enter serial (Mutter focus gate)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Mohamad Khani
2026-07-14 01:44:22 +03:30
co-authored by Claude Fable 5
commit 46c7879954
3984 changed files with 1487015 additions and 0 deletions
+46
View File
@@ -0,0 +1,46 @@
#!/usr/bin/env bash
set -euo pipefail
cd "$(dirname "$0")/../.."
shopt -s extglob
script/bundle-linux --flatpak
archive_match="zed(-[a-zA-Z0-9]+)?-linux-$(uname -m)\.tar\.gz"
archive=$(ls "target/release" | grep -E ${archive_match})
channel=$(<crates/zed/RELEASE_CHANNEL)
export CHANNEL="$channel"
export ARCHIVE="$archive"
if [[ "$channel" == "dev" ]]; then
export APP_ID="dev.zed.ZedDev"
export APP_NAME="Zed Devel"
export BRANDING_LIGHT="#99c1f1"
export BRANDING_DARK="#1a5fb4"
export ICON_FILE="app-icon-dev"
elif [[ "$channel" == "nightly" ]]; then
export APP_ID="dev.zed.ZedNightly"
export APP_NAME="Zed Nightly"
export BRANDING_LIGHT="#e9aa6a"
export BRANDING_DARK="#1a5fb4"
export ICON_FILE="app-icon-nightly"
elif [[ "$channel" == "preview" ]]; then
export APP_ID="dev.zed.ZedPreview"
export APP_NAME="Zed Preview"
export BRANDING_LIGHT="#99c1f1"
export BRANDING_DARK="#1a5fb4"
export ICON_FILE="app-icon-preview"
elif [[ "$channel" == "stable" ]]; then
export APP_ID="dev.zed.Zed"
export APP_NAME="Zed"
export BRANDING_LIGHT="#99c1f1"
export BRANDING_DARK="#1a5fb4"
export ICON_FILE="app-icon"
else
echo "Invalid channel: '$channel'"
exit
fi
envsubst < "crates/zed/resources/flatpak/manifest-template.json" > "$APP_ID.json"
flatpak-builder --user --install --force-clean build "$APP_ID.json"
flatpak build-bundle ~/.local/share/flatpak/repo "target/release/$APP_ID.flatpak" "$APP_ID"
echo "Created 'target/release/$APP_ID.flatpak'"
+93
View File
@@ -0,0 +1,93 @@
import os
import re
import requests
import sys
import textwrap
from html import escape
def clean_line(line: str, in_code_fence: bool) -> str:
line = re.sub(r"\(\[(#\d+)\]\([\w|\d\:|\/|\.|\-|_]*\)\)", lambda match: f"[{match.group(1)}]", line)
line = re.sub(r"\[(#\d+)\]\([\w|\d\:|\/|\.|\-|_]*\)", lambda match: f"[{match.group(1)}]", line)
if not in_code_fence:
line = line.strip()
return escape(line)
def convert_body(body: str) -> str:
formatted = ""
in_code_fence = False
in_list = False
for line in body.splitlines():
line = clean_line(line, in_code_fence)
if not line:
continue
if re.search(r'\[[\w|\d|:|\/|\.|\-|_]*\]\([\w|\d|:|\/|\.|\-|_]*\)', line):
continue
line = re.sub(r"(?<!\`)`([^`\n]+)`(?!`)", lambda match: f"<code>{match.group(1)}</code>", line)
contains_code_fence = bool(re.search(r"```", line))
is_list = bool(re.search(r"^-\s*", line))
if in_list and not is_list:
formatted += "</ul>\n"
if (not in_code_fence and contains_code_fence) or (not in_list and is_list):
formatted += "<ul>\n"
in_list = is_list
in_code_fence = contains_code_fence != in_code_fence
if is_list:
line = re.sub(r"^-\s*", "", line)
line = f" <li>{line}</li>"
elif in_code_fence or contains_code_fence:
line = f" <li><code> {line}</code></li>"
else:
line = f"<p>{line}</p>"
formatted += f"{line}\n"
if (not in_code_fence and contains_code_fence):
formatted += "</ul>\n"
if in_code_fence or in_list:
formatted += "</ul>\n"
return formatted
def get_release_info(tag: str):
url = f"https://api.github.com/repos/zed-industries/zed/releases/tags/{tag}"
response = requests.get(url)
if response.status_code == 200:
return response.json()
else:
print(f"Failed to fetch release info for tag '{tag}'. Status code: {response.status_code}")
quit()
if __name__ == "__main__":
os.chdir(sys.path[0])
if len(sys.argv) != 3:
print("Usage: python convert-release-notes.py <tag> <channel>")
sys.exit(1)
tag = sys.argv[1]
channel = sys.argv[2]
release_info = get_release_info(tag)
body = convert_body(release_info["body"])
version = tag.removeprefix("v").removesuffix("-pre")
date = release_info["published_at"]
release_info_str = f"<release version=\"{version}\" date=\"{date}\">\n"
release_info_str += f" <description>\n"
release_info_str += textwrap.indent(body, " " * 8)
release_info_str += f" </description>\n"
release_info_str += f" <url>https://github.com/zed-industries/zed/releases/tag/{tag}</url>\n"
release_info_str += "</release>\n"
channel_releases_file = f"../../crates/zed/resources/flatpak/release-info/{channel}"
with open(channel_releases_file) as f:
old_release_info = f.read()
with open(channel_releases_file, "w") as f:
f.write(textwrap.indent(release_info_str, " " * 8) + old_release_info)
print(f"Added release notes from {tag} to '{channel_releases_file}'")
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
arch=$(arch)
fd_version=23.08
flatpak install -y --user org.freedesktop.Platform/${arch}/${fd_version}
flatpak install -y --user org.freedesktop.Sdk/${arch}/${fd_version}
flatpak install -y --user org.freedesktop.Sdk.Extension.rust-stable/${arch}/${fd_version}