Giter VIP home page Giter VIP logo

neobox's Introduction

Neobox

GitHub top language GitHub license GitHub stars GitHub forks GitHub watchers GitHub issues GitHub closed issues Latest release version GitHub all releases

  • Qt6和C++20写的一个插件管理工具。安装相关插件后可获取网速显示、壁纸切换、文本翻译、文字识别、天气预报等任何功能。

Neobox 插件管理

  • 插件下载方式

    1. 托盘图标 右键菜单 设置中心 插件管理,打开 Neobox 插件管理;
    2. 在插件管理窗口里面即可下载、更新、卸载插件。
  • 插件下载界面

本地插件

插件详情

目前 Neobox 共有 8+1 款插件。

编译环境

  • Windows 10/11 x86_64

  • Arch Linux x86_64

    • qt6-base
    • gcc
    • curl
    • cmake
    • ninja
  • Fedora Linux x86_64

    • qt6-base-dev
    • libcurl
    • gcc
    • cmake
    • ninja
  • CMake 命令【windows】

git clone https://github.com/yjmthu/Neobox.git
cd Neobox
git submodule update --init --recursive
cmake -S . -B -GNinja build/Debug -DCMAKE_INSTALL_PREFIX=install -DCMAKE_BUILD_TYPE="Debug"
cmake --build "./build/Debug"
cmake -P "./build/Debug/cmake_install.cmake"

需要在VS的提供命令行环境下执行上述命令。

  • CMake 命令【archlinux】
sudo pacman -S qt6-base curl cmake ninja
git clone https://github.com/yjmthu/Neobox.git
cd Neobox
git submodule update --init --recursive
cmake -GNinja -B build/Debug -S . -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_INSTALL_PREFIX=install
cmake --build build/Debug
cmake -P build/Debug/cmake_install.cmake

现有功能增强方向

  • 文字识别模仿微信加强,可在图片上选中文字(tesseract难以实现)
  • 网速悬浮窗嵌入任务栏。
  • 网速悬浮窗可滚轮查看每个进程内存;
  • 尽量解决网速悬浮窗的闪退情况;
  • 插件更新功能完善,可离线管理插件、调整插件加载顺序;
  • 热键管理加强,增加注册失败提示,增加热键执行命令功能;
  • 翻译功能记住from,to语言;
  • 翻译功能可调节文本区域高度;
  • 支持设置网络代理。
  • 壁纸下载方式切换为异步。

插件开发计划

有什么好的想法欢迎提 issue。

  • 颜色拾取(PowerToys已具备,但为了跨平台还是先简单写一个吧)
  • 天气预报
  • 动态壁纸(不写了)
  • U盘助手
  • 后台自动更新程序

neobox's People

Contributors

yjmthu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

neobox's Issues

建议:极简翻译记录窗体大小及窗体位置

1、网速功能一般放在角落,每次打开极简翻译,都是贴近角落位置,使用不方便
建议,记录窗体位置
2、某些翻译内容较多的时候,会将窗体拉大,但是重新打开极简翻译,大小又会回到初始大小
建议,记录窗体大小,或者根据翻译内容,自适应放大窗体(限制最大窗体大小)
3、默认皮肤很好看,想了解下如果更换字体

关于Neobox界面的几个建议

1,缩放问题,笔记本高分屏网速悬浮插件显示有点小,看起来有些辛苦;
2,建议“皮肤选择”可以预览相应皮肤效果;
3,“贴边选择”相关设置中,如果上下左右选择都不贴边,需要操作的次数太多;
4,部分皮肤如“果里果气” 插件文字和背景颜色相近不便阅读

防息屏功能

防止息屏功能现在是 不太好用 ,每次都必须得重新点击下才起作用。

划词翻译功能开关

按shift+z弹出翻译窗口后我习惯点X关闭翻译窗口,这样划词翻译的功能会被直接关闭,下次无法再用shift+z呼出窗口,右键菜单上划词翻译对应的✔也没了,要重新勾选才可以

Arch Linux 编译问题

看 README 是有有计划支持 Linux
晚点我在 Arch 下验证下。

# Maintainer: taotieren <[email protected]>

pkgname=neobox-git
pkgver=2.3.5.r3.g184702e
pkgrel=1
pkgdesc="采用 C++ 20 编写的一个插件管理工具,可以安装网速悬浮窗等插件。"
arch=('x86_64')
url="https://github.com/yjmthu/Neobox"
license=('MIT')
provides=(${pkgname%-git})
conflicts=(${pkgname%-git})
depends=(curl
        hicolor-icon-theme
        qt6-base
        minizip)
makedepends=(cmake
            git
            ninja
            qt6-tools)
backup=()
options=()
source=("${pkgname}::git+${url}.git"
        "YJson::git+https://github.com/yjmthu/YJson.git")
sha256sums=('SKIP'
            'SKIP')

pkgver() {
    cd "${srcdir}/${pkgname}/"
    git describe --long --tags | sed 's/^v//g;s/\([^-]*-g\)/r\1/;s/-/./g'
}

build() {
    cmake -S "$pkgname" \
        -D CMAKE_BUILD_TYPE=Release \
        -D CMAKE_INSTALL_PREFIX=/usr \
        -D CMAKE_INSTALL_LIBDIR=lib \
        -D CMAKE_INSTALL_LIBEXECDIR=lib \
        -B build \
        -G Ninja
#         \
#         -W no-dev

    ninja -C build
}

package() {
    DESTDIR="${pkgdir}" ninja -C "${srcdir}"/$pkgname/build install
}
❯ makepkg -sf
==> Making package: neobox-git 2.3.5.r3.g184702e-1 (Thu 02 Feb 2023 06:43:29 PM CST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating neobox-git git repo...
  -> Updating YJson git repo...
==> Validating source files with sha256sums...
    neobox-git ... Skipped
    YJson ... Skipped
==> Extracting sources...
  -> Creating working copy of neobox-git git repo...
Cloning into 'neobox-git'...
done.
  -> Creating working copy of YJson git repo...
Cloning into 'YJson'...
done.
==> Starting pkgver()...
==> Starting build()...
-- The CXX compiler identification is GNU 12.2.1
-- The C compiler identification is GNU 12.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/pluginmgr/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neocolorplg/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neoocr_core/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neoocr_qt/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neospeedbox_core/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neospeedbox_qt/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neosystem_qt/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neotranslate_core/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neotranslate_qt/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neousbplg_qt/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neowallpaper_core/include
-- include dir is /home/taotieren/git_clone/aur/neobox-git/src/neobox-git/plugins/neowallpaper_qt/include
CMake Error at example/CMakeLists.txt:3 (find_package):
  Could not find a package configuration file provided by "minizip" with any
  of the following names:

    minizipConfig.cmake
    minizip-config.cmake

  Add the installation prefix of "minizip" to CMAKE_PREFIX_PATH or set
  "minizip_DIR" to a directory containing one of the above files.  If
  "minizip" provides a separate development package or SDK, be sure it has
  been installed.


-- Configuring incomplete, errors occurred!
See also "/home/taotieren/git_clone/aur/neobox-git/src/build/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...

CMake Error at pluginmgr/CMakeLists.txt:4 (find_package):
  Could not find a package configuration file provided by "CURL" with any of
  the following names:

    CURLConfig.cmake
    curl-config.cmake

  Add the installation prefix of "CURL" to CMAKE_PREFIX_PATH or set
  "CURL_DIR" to a directory containing one of the above files.  If "CURL"
  provides a separate development package or SDK, be sure it has been
  installed.


-- Configuring incomplete, errors occurred!
See also "/home/taotieren/git_clone/aur/neobox-git/src/build/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...

功能添加

话说这个插件怎么开发的?大佬有没有教程勒。
或者您下个版本,添加个倒计时关机的插件?

【问题】没有程序是否在运行的检测,导致可以多开

问题存在版本:v2.3.0
1.程序可以被多开,导致后台可以运行多个相同的应用。我发现了该问题,但是没有深入测试。
2.在我当前的平台上(Win10)没有看到悬浮窗,但是系统托盘有相关图标。(程序运行了,但是又没完全运行。只能看到系统托盘图标)
3.在我右键系统图标,选择打开插件管理界面的时候,插件管理界面要很长时间才能打开,并且在插件管理界面没出现之前再次右键系统托盘图标没有任何反应,程序卡住了。

现在我已经删除了当前版本(v2.3.0)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.