Skip to content

BennettNotFound/enji_but_pyqt_Linux

 
 

Repository files navigation

Enji but PyQt (Linux ver.) | 胭脂,但是PyQt(Linux版)

本项目基于enji_but_pyqt项目使用Claude AI进行跨平台重写,且AI是基于Kubuntu 25.10(Wayland)系统及桌面环境进行修改,其他系统和桌面环境请自行测试或编写)

视频效果请看:欸,我不是Windows程序吗?——胭脂,但是Linux

完整Linux移植说明

先来大致讲讲AI改了什么吧

main.py — 删除 import ctypesfrom win11toast import notify;AI自己实现了一个 notify() 函数,用系统的 notify-send 命令发桌面通知;任务栏隐藏功能在 Linux 下静默跳过

components.py — 修了 scaled() 里的标题栏偏移逻辑,Linux 不减那 16px(由 KWin 窗口管理器自己处理)

pyproject.toml — 移掉了 win11toast 依赖

新增 run_linux.sh 启动脚本

关键点:启动脚本里设置了 QT_QPA_PLATFORM=xcb,强制走 XWayland——这是最重要的一步,因为这个程序靠窗口精确定位来实现动画效果,Wayland 原生模式会完全禁用这个能力。

运行前需要注意安装以下依赖

sudo apt install libnotify-bin  # 桌面通知工具
pip install uv && uv sync       # Python 依赖

如何使用它

./run_linux.sh

目前已知问题

在非 16:9 的设备上显示异常以及部分场景未实现自动化

多屏幕下禁用一块屏幕会导致所有窗口挤在一起

16:10+16:9的双屏配置会导致部分窗口内容跑到另一块屏幕上(视频中能看出来)

概述

使用 Python 3.13 + PySide6,仿照胭脂的PV制作的 Linux Wayland 窗口动画程序。灵感来自于 BSOD-MEMZ《强 风 大 窗 口》原项目为Windows平台,使用Claude AI进行修改跨平台(AI修改内容已在前文说的很详细了)

视频原PV:https://www.bilibili.com/video/BV1ucGzzuEhw

原作者:蛋包饭咖喱饭

Note

程序启动时需要释放和载入资源文件,可能要耗费较长时间;程序峰值内存占用可能达到 860MB

Note

程序在运行过程中会动态加载资源,如您的运行设备性能一般,动画的播放可能会发生滞后

测试过的系统:Kubuntu 25.10

开发

可通过配置环境变量来控制任务栏显示/隐藏和部分调试选项,具体见代码 main.py main()

本项目使用 uv 管理环境,可以直接使用 uv sync 同步环境

亮点

  • 与原PV相同的字体(我也好奇怎么找出来的)
  • 基于时间的帧控制
  • 动态资源加载
  • 关键帧动画

About

一个使用PySide6仿照《胭脂》PV制作的窗口动画程序

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 98.5%
  • Shell 1.5%