#twitter #mastodon #imgur #gtk #linux

应用 sharexin

适用于 Linux 和 BSD 的 ShareX

9 个版本

0.7.2 2018年12月17日
0.6.9 2018年12月7日
0.6.8 2018年11月3日
0.6.1 2017年8月26日
0.3.9 2017年7月31日

身份验证 中排名第 754

Download history 1/week @ 2024-03-26 6/week @ 2024-04-02

每月下载量 91

GPL-3.0 许可证

36KB
810

使用此 表格 提交更多语言

ShareXin

ShareXin

GitHub Stars Crates.io

目录

要求

  • Linux 或 BSD
  • rustc 1.31.0 (Rust 2018)
  • feh (如果未安装 spectacle 或使用 GNOME 则需要)

特性

  • 截图
  • 上传到 Twitter、Mastodon 和 Imgur
  • 将截图保存到您的图片文件夹
  • 通知
  • 用于输入推文或 toot 消息的 GTK 对话框
  • 考虑到 Wayland

桌面支持

  • GNOME 桌面 (带有 gnome-screenshot)
  • KDE Plasma 桌面 (带有 spectacle)
  • Budgie 桌面
  • Cinnamon 桌面
  • Unity 桌面
  • 通用 X11 DE (带有 scrot)
测试平台
  • Ubuntu 18.10
  • Fedora 29

使用方法

Twitter

这是连接到 Twitter 的临时措施,将来将进行更改
ShareXin 使用 Ruby Twitter 工具 t 来发送推文。
对于非 Flatpak 用户,您需要手动安装此工具。
无论是 Flatpak 还是本地,您都不需要直接与 t 接口,因为 ShareXin 可以直接调用该工具进行身份验证和推文。

要验证到 Twitter
$sharexin tweet auth
在 Flatpak 上
$flatpak run io.github.ShareXin tweet auth

Mastodon

这是连接到 Mastodon 的临时措施,将来将进行更改
ShareXin 使用 Python Mastodon 工具 toot 来发送 toot。
对于非 Flatpak 用户,您需要手动安装此工具。
无论是 Flatpak 还是本地,您都不需要直接与 toot 接口,因为 ShareXin 可以直接调用该工具进行登录和 toot。

要登录到您的 Mastodon 实例
$sharexin toot auth
在 Flatpak 上
$flatpak run io.github.ShareXin toot auth

Imgur

ShareXin 使用自己的 API 和 App 上传到 Imgur,因此不需要任何外部工具,您也不需要为使用 ShareXin 而在 Imgur 上设置自己的 API。 (如果您想更改它,请更改 此行

截图

Flatpak 目前仅限于 GNOME
对于 GNOME 桌面(X11/Wayland)的用户,您应该已经默认安装了 GNOME Screenshot,因此您无需担心。
Unity、Budgie 和 Cinnamon 桌面用户建议使用 GNOME Screenshot 以获得最佳体验,然而这些桌面都没有 Wayland 支持,因此可以使用任何其他提到的工具,例如 Spectaclescrot
对于 Plasma(X11/Wayland)桌面用户,您应该安装 Spectacle 以获得 ShareXin 的最佳体验。
对于任何 X11 桌面用户,您必须使用 scrot 来通过 ShareXin 进行截图。

快捷键

对于 GNOME 用户,在设置中设置自定义键盘快捷键,如果您想要自定义键绑定(例如替换 Print Screen),请导航到此 Dconf 设置以更改绑定。 /org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/
对于 Plasma 用户,您自行处理。
对于任何其他桌面,您自行处理。

语言支持

  • 英语
  • 法语(法语)由 @Eleoryth 提供
  • 西班牙语(西班牙语)
  • 世界语
  • 简体中文(简体中文)
  • 繁體中文(繁体中文)
  • 日语(日语)
  • 韩语(韩语)
  • 德语(德语)由 @qwertxzy 提供
  • 波兰语(波兰语)由 @Michcioperz 提供
  • 葡萄牙语(葡萄牙语)由 @pillgp 提供

安装

Ubuntu/Debian 依赖项

Ubuntu:已测试 17.04/17.10/18.04/18.10
Debian:已测试 9.5.0 和 GNU/kFreeBSD
$sudo apt install libgtk-3-dev libcairo2-dev libpango1.0-dev libgdk-pixbuf2.0-dev libatk1.0-dev libssl-dev libcurl4-openssl-dev libclang-dev build-essential

Arch Linux 依赖项

$sudo pacman -Scurl gtk3 gdk-pixbuf2 cairo glib2 openssl dbus xcb-util base-devel clang

Fedora 依赖项

已测试 F28/F29/F30
$sudo dnf install gtk3-devel cairo-devel pango-devel gdk-pixbuf2-devel atk-devel openssl-devel libcurl-devel clang-devel

FreeBSD 依赖项

已测试 11/TrueOS/GhostBSD 18.10
$sudo pkg install security/openssl-devel gmake gcc dbus-glib devel/dbus gtk3 devel/glib20 devel/pkgconf python3 cairo pango gdk-pixbuf2 atk curl

OpenBSD 依赖项

已测试 6.4
$sudo pkg_add glib-openssl gmake gcc dbus-glib dbus gtk3 glib2 python cairo pango gdk-pixbuf2 atk curl pkgconfig/pkgconf

GoboLinux 依赖项

,无需配置即可使用。

从 Flatpak 安装

仅在 Fedora 29 上使用 GNOME Wayland 进行测试
使用 io.github.ShareXin.json

从源码编译
  1. $git clone https://github.com/ShareXin/ShareXin/
  2. $cargo install --路径 .

或者

  1. $cargo install sharexin

变更日志

[0.7.2] - 2018-12-16
  • 已添加 Makefile
  • 合适的应用程序图标!!
  • README.md 中添加了更好的目录表
  • README.md 中添加了教程
  • 测试了 GoboLinux 兼容性(奇怪但很酷的发行版)
  • 桌面文件与 Flatpak 兼容(未测试本地安装)
  • AppStream 元数据符合 Freedesktop 和 Flathub 标准
  • Flatpak 下不再使用 /tmp(使用包装脚本)
  • 修复了多个“僵尸”进程在发送推文/鸟鸣后仍然存活的问题(双关语不是故意的)
[0.7.1] - 2018-12-07
  • 修复了 Flatpak 中的 TMPDIR(解决了无法打开您所拍摄的截图的问题)
[0.7.0] - 2018-12-07
  • Flatpak 在 GNOME Wayland/X11 系统上工作
  • Flatpak 集成了 gnome-screenshot 和 feh
  • 修复了多个 ShareXin 实例无法启动的问题,现在只允许启动一个实例
[0.6.9] - 2018-12-07
  • 移除了剪贴板功能(在 Wayland 下无法工作)
  • Flatpak 修复
[0.6.8] - 2018-11-02
  • cmd.rs 中的任何内容移动到 main.rs(因为主函数本来只调用 cmd)
  • save.rs 中的任何内容移动到 image.rs
  • error.rs 现在是 text.rs,并且与 language.rs 合并
  • 重新组织以适应 Flatpak
  • 添加了 Flatpak!!!
  • 尝试简化了大量代码
  • error.rs 现在包含一些未来重写的错误处理的计划枚举
  • 修复了由于某些原因某些错误在 YAML 文件中找不到的问题
  • 修复了因为图片中的 ShareXin 文件夹已经创建,它尝试显示错误,但不知何故崩溃的问题
  • 轻微修改了 Headerbar
  • "发送到 Twitter" 和 "发送到 Mastodon" 通知将从您的通知中消失,并且不会在 OSD 中停留
[0.6.7] - 2018-10-21
  • 消息弹出框中的字符计数颜色与 Twitter 网页上的颜色相匹配
  • 当接近限制且还剩 20 个字符时,消息弹出框中的字符计数变为黄色,就像在 Twitter 网页上一样
  • 不知道 unreachable!("") 是什么,用它替换了一些 panic!() 的实例
  • 移除了无用的 error::fatal() 消息
  • 当未输入文本或文本超过服务限制太多时禁用 "确定" 按钮
  • 移除了 "文件已保存" 通知,实际上并不需要
  • 更新了依赖项
  • Debian 实际上是兼容的 (不得不将 gtk-rs 从 3_22_30 回退到 3_18)
  • 更好的注释
  • 由于 openssl 的问题,移除了 --upgrade
  • 只有当在 TEXT 框中按下键时,字符计数才会改变,而不是整个窗口
  • 使 error.rs 实际上可读
  • 发送的图像或状态推文/推文或 Imgur 帖子的通知只持续 2 秒
[0.6.6] - 2018-10-31
  • 进行了更多的测试
  • 移除了一些奇怪且不必要的行
  • 移除了很多重复的代码
  • 将许多 if else 语句替换为 match 语句
  • 提供了 AppImage 脚本
  • 一般错误修复
  • 将截图功能拆分为 screenshot-rs
  • 移除了 swaywm 支持(即使在当时我使用它时,我的实现也是垃圾,如果有的话,这是对 sway 用户的帮助)
  • dialog.rs 中移除了 RefCell
  • 更新了 Twitter 字符限制(对于非拉丁字符并非完全可靠)
  • 对函数进行了大量重写,变量更清晰
  • 为功能恢复了旧 Twitter API,将在以后的更新中替换为本地 API
[0.6.5] - 2018-09-26
  • 项目将继续进行
  • 将 GNOME 依赖项从 3_10 更新到 3_22_30
  • 移除了 macOS 支持(有多少人使用过它?)
  • 移除了托盘图标支持(不必要的且不可用,GNOME 甚至不再支持它)
  • 更新了各种依赖项
  • 移除了 ShareXin 作为库
  • 重新将 ShareXin 添加到 crates.io
  • 在 Pictures 中的 ShareXin 下添加了子文件夹,按年份-月份排序
  • 重写了确定截图选择软件的方法
    • 以前依赖于硬编码的桌面变量来与特定软件匹配
    • 现在简单地检查已安装的软件,按首选顺序进行
  • ttoot 仍需与 Twitter 和 Mastodon 一起使用,但这个问题将在 0.6.6 中解决。
    • 将添加本地的 Rust Twitter 和 Mastodon API,希望具有相同的功能。

依赖项

~30MB
~753K SLoC