Sway常用软件和脚本
这里列出了一些关于swaywm(或者其他基于wlroots的窗口管理器)的有用的脚本和软件。
注意,几乎所有的GTK和KDE应用程序,如firefox、thunderbird、chromium,甚至emacs(带有puregtk/emacs-28分支)都可以作为本地wayland在sway下运行,所以它们不在这里专门列出。
登录管理器
:警告: 注意: developers.Sway开发人员并不正式支持登录管理器
- greetd - 一个轻巧且灵活的登录管理器守护程序
- emptty - 基于TTY的简单的要死的CLI显示管理器
- Ly - 一个轻量级的TUI(类ncurses)显示管理器
- autologin - 自动登录到配置的用户;非常适合单用户计算机以及采用其他启动身份验证方式(如加密硬盘)的计算机。
应用程序启动器
如xfce4-appfinder和krunner类似的GTK或KDE通用启动程序可以正常运行,但下面这些更适合于Sway:
- kickoff - 专注于性能和低延迟的应用程序启动器
- lavalauncher - 适用于Wayland的简易启动器
- nwg-launchers - 一组启动器:应用程序网格、动态菜单、按钮栏
- Ulauncher - 应用程序启动器
- wldash - 适用于Wayland的仪表板/启动器/控制面板工具
- yofi - 适用于Wayland的极简主义应用程序启动器
- gmenu - 桌面应用程序启动器
- mauncher - Mauncher是一款基于GTK的工具,可作为Wayland环境下dmenu的替代方案,它支持显示缩放功能。
- fuzzel - 应用程序启动器,类似于rofi的drun模式
- term-dmenu - 用浮动终端和FZF替换dmenu
- sirula - 用Rust编写的适用于Wayland的简易应用程序启动器
- wlaunchpad - 适用于基于wlroots的合成器的极简类Mac启动台应用
菜单
- wofi - 受rofi启发、适用于wlroots合成器的菜单及启动器
- bemenu - 支持Wayland的dmenu替代方案
- tofi - 适用于wlroots合成器的极快速的rofi/dmenu替代工具
- wlogout - 基于Wayland的注销菜单程序。
- wayland fork of rofi - Rofi的分支版本,增加了对Wayland的支持
- dmenu-wl - 适用于Wayland(wlroots)的高效动态菜单。
- sway-launcher-desktop - 基于终端用户界面(TUI)的启动器菜单,用Bash和出色的fzf工具制作而成。
- sway-menu - 该菜单由“bindsym”生成,用于学习Sway的按键操作并记住那些不太常用的按键。
- wlogoutbar - 适用于基于wlroots的合成器的极简注销菜单
- sway-fzfify - 一系列让你的Sway桌面用上FZF的脚本。
- waylogout - 图形化的注销/睡眠/重启/关机对话框,灵感源自oblogout,基于swaylock-effects开发。
显示/输出
- wob - 适用于Wayland的轻量级覆盖式音量/背光/进度/任意显示条。
- mywob - 自动启动wob
- wdisplays - 适用于wlroots合成器的图形用户界面(GUI)显示配置器,类似arandr。
- wlr-randr - 管理Wayland合成器的输出。
- wlay - Wayland的图形化输出管理
- kanshi - 定义输出配置文件,使其在热插拔时自动启用和禁用。例如,这可用于在笔记本电脑连接扩展坞时关闭其内置屏幕。
- persway - 简单的Sway进程间通信(IPC)守护程序
- fade - 让新窗口逐渐淡入显示。这个脚本还处于初步阶段,你可能会遇到各种问题。
- way-displays - 管理你的Wayland显示器
- nwg-displays - 受wdisplays和wlay启发,为Sway Wayland合成器打造的输出管理工具。
图片浏览
- imv - imv is a command line image viewer intended for use with tiling window managers.
- mvi - A command line image viewer utilizing mpv
- ucollage - An extensible command line image viewer inspired by vim.
- swayimg - image viewer for Sway/Wayland
- vimiv - An image viewer with vim-like keybindings.
视频播放
- mpv - Command line video player
通知
- mako - A lightweight notification daemon for Wayland.
- fnott - Keyboard driven and lightweight Wayland notification daemon
- dunst - a highly configurable and lightweight notification daemon.
- wayherb - Wayland notifcation port of herbe - daemon-less notifications without D-Bus. Minimal and lightweight.
- swaync - A simple notification daemon with a notification center built with GTK
- salut - Animated mouse centric notification daemon
工作区
- workstyle - dynamically rename your workspaces to indicate which programs are running in each one.
- sworkstyle - The main difference between this and workstyle is that this supports exact app names instead of only generic titles.
- wsdnames.py - automatically renames workspace title
- swaysome - manage workspaces namespaced on a per-screen basis, like awesome wm.
概览
- sov - 类似i3-overview: 这是一个覆盖层,可显示所有工作区的布局图,让在Sway中导航变得更加便捷。
布局
- autotiling - switch the layout splith/splitv depending on the currently focused window dimensions.
- swaymonad - an auto-tiler that implements Xmonad-like layouts.
截图
- grim - 从Wayland合成器获取图像
- grimshot - 用于截取屏幕截图的脚本
- slurp - 在Wayland合成器中选择一个区域
- screenshot-bash - 截图 - 上传 - 复制链接
- snag - 使用Rofi截取屏幕截图和录制屏幕视频。
- swappy - 屏幕截图与编辑器
- swayshot - 适用于Sway的打印屏幕助手,为截图添加了键盘快捷键。
- shotman - 用于处理截图的简易用户界面。
- taiga - 一款动态截图程序
- wayshot - 一款为基于wlroots的合成器(如sway和river)打造的原生截图工具,使用Rust编写。
- flameshot - 功能强大且易于使用的截图软件
亮度调节
- brightnessctl - 控制设备亮度
- light - 控制背光
- clight - a C user daemon utility that aims to fully manage your display (And a GUI for it clight-gui )
- wluma - automatically adjusts screen brightness based on the screen contents and amount of ambient light around you
- wluma-als-emulator - a fake ambient light sensor for those who don’t get one built in their laptop
- brillo - controls the brightness of backlight and LED devices on Linux.
- wlr-brightness - adjust the brightness of your screen
- wl-gammarelay - a daemon with D-Bus interface to control display color temperature and brightness
- wl-gammarelay-rs - a daemon with D-Bus interface to control display color temperature and brightness written in Rust
Gamma
- wl-gammactl - Small GTK GUI application to set contrast, brightness and gamma
- gammastep - Adjust the color temperature of your screen
- wlsunset - Day/night gamma adjustments for Wayland
- wl-gammarelay - a daemon with D-Bus interface to control display color temperature and brightness
- wl-gammarelay-rs - a daemon with D-Bus interface to control display color temperature and brightness written in Rust
配色方案
- darkman framework for dark-mode and light-mode transitions, implementing org.freedesktop.appearance.color-scheme
壁纸
- swaybg - Wallpaper tool
- azote - Wallpaper and colour manager for Sway, i3 and some other WMs
- wallutils - wallpaper manager
- glpaper - wallpaper program that allows you to render glsl shaders as your wallpaper
- mpvpaper - wallpaper program that allows you to play videos with mpv as your wallpaper
- qt-video-wlr - Qt5 video player
- oguri - A very nice animated wallpaper daemon
- sunpaper - a linux utility to change wallpaper based on local sunrise and sunset times.
- wpaperd - Wallpaper daemon for Wayland that can change the wallpaper after a fixed time.
- swww - A Solution to your Wayland Wallpaper Woes.
状态栏与面板
- swaybar - sway默认状态栏
- waybar - 适用于Sway的高度可定制的Wayland栏
- yambar - 一个轻量级且可配置的状态面板。
- rootbar - a bar for wlroots based wayland compositors such as sway
- rwaybar - a bar with configurable widgets and transparent overlay support
- wapanel - Simple panel for Wayland with decent XFCE-like applets
- sfwbar - Sway Floating Window Bar is a taskbar for Sway, focused on a stacking layout workflow
- nwg-shell - a ‘shell’ for wl-roots including various other nwg-* components listed here
- nwg-panel - GTK-based panel, inspired by Waybar and tint2
- nwg-dock - Fully configurable dock featuring pinned buttons, task buttons, the workspace switcher and the launcher button.
- nwg-menu - Menu for nwg-shell
- nwg-drawer - a launcher for nwg-shell
- nwg-bar - a simple button bar for nwg-shell
- nwg-wrapper - display text or images on any layer (eg root)
状态栏内容生成器
- swayrbar - swayrbar is a status command for sway’s swaybar implementing the swaybar-protocol
- i3status - Status bar generator for i3bar, dzen2, xmobar or similar programs
- i3blocks - A feed generator for text based status bars (yes, it works fine with swaybar!)
- luastatus - Universal status bar content generator
- i3status-rs - a feature-rich and resource-friendly replacement for i3status, written in pure Rust. It provides a way to display “blocks” of system information (time, battery status, volume, etc) on the i3 bar. It is also compatible with sway.
- gopsuinfo - prints system usage information as text for Waybar custom modules or icon/text for nwg-panel executors
组件
- Gsimplecal - a lightweight calendar applet written in C++ using GTK.
- wlclock - a digital analog clock for Wayland desktops.
- wlr-sunclock - a desktop widget to show to the sun’s shadows on earth.
键盘/输入
- wev - event debugging similar to xev for X11
- wshowkeys - display keypresses (fork with fixes for recent wlroots versions, original here)
- ydotool - Generic command-line automation tool (no X!) [like xdotool(1)]
- myautotype - Hot-keys using ydotool possibly looking up a key-value pair from ~/.config/myautotype
- wtype - xdotool type for wayland
- clipman - A basic clipboard manager for Wayland, with support for persisting copy buffers after an application exits.
- copyq - full function clipboard manager (but requires the full KDE/Qt stack)
- cliphist - clipboard history “manager” for wayland (including images) - requires golang-1.16 to build
- wl-clipboard - Wayland clipboard utilities, wl-copy and wl-paste, to copy data between the clipboard and Unix pipes, sockets, files etc
- wl-clipboard-history - Wayland clipboard history tracker
- clipmon - preserves the clipboard and notifies when an application pastes (for security)
- swaykbdd - per-window keyboard layout for Sway
- i3keys - lists all the keys that are bound to some action in i3 or sway
- swaynagmode - programmatic control over swaynag, intended for use with keyboard bindings
- sway-alttab - simple daemon that keeps track of your last focused window and switches to it on receiving a SIGUSR1. Automatically binds Alt-Tab to the same action.
- wlrctl - command line utility for miscellaneous wlroots Wayland extensions (similar to xdotool). WARNING: requires sway-1.6+
- waynergy - [WIP] implementation of a synergy client for wlroots compositors
- swayr - A urgent-first/LRU window and workspace switcher usable with launcher/menu programs such as wofi.
- wl-clip-persist - Keep Wayland clipboard even after programs close
输入法引擎
- kime - [WIP] Korean IME
- wlanthy - [WIP] simple Wayland-native Japanese input method. Born as a modification of wlhangul.
- amthywl - [WIP] Japanese input method for sway
- wlhangul - [WIP] A Hangul input method for Wayland.
- wlpinyin - [WIP] experimental minimal wayland IME for Chinese
- wlchewing - [WIP] Wayland Chinese zhuyin input method with libchewing
On-screen快捷键
- squeekboard - Librem5 keyboard
- wvkbd - On-screen keyboard for wlroots that sucks less
锁屏
- swayidle - An idle daemon for wayland compositors
- swaylock - a screen locking utility for Wayland compositors
- Waylock - a simple screenlocker for wayland compositors.
- swaylock-effects - a fork of swaylock which adds built-in screenshots and image manipulation effects like blurring
- mylock - configure swaylock for various use-cases - safe, at-home, movie modes plus auto downloading of images
终端
- Alacritty - A fast, cross-platform, OpenGL terminal emulator
- foot - A fast, lightweight and minimalistic Wayland terminal emulator
- gnome-terminal - gnome’s terminal
- kitty - fast, featureful, GPU based terminal emulator
- Konsole - KDE’s Terminal Emulator
- sakura - Simple but powerful libvte based terminal emulator
- roxterm - terminal emulator intended to provide similar features to gnome-terminal, based on the same VTE library
- wezterm - GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
- Ate - Awesome terminal emulator
- Germinal - Minimalist vte-based terminal emulator
- Havoc - A minimal terminal emulator for Wayland
- wterm - An st fork for wayland
VNC/RDP/SPICE
- wayvnc - VNC server for wlroots
- wlvncc - Wayland VNC Client (WIP)
- connections - Wayland VNC/RDP client - not quite feature complete in released version 3.38 eg no full-screen, buggy config GUI. 3.40 may fix that when released.
- remotely - wayland VNC client - abandoned by author in favour of connections.
- vncviewer - VNC client - fast, full featured, stable - but uses XWayland.
- vinagre - Wayland VNC/RDP client. VNC support is rather slow.
- remmina - Wayland VNC/RDP/SPICE client. VNC support is rather slow.
- krdc - Wayland VNC/RDP client. AVOID - does not support sway workspaces and took my session down!! Version 20.08.1
- freerdp - Wayland RDP client (wlfreerdp) which is pretty fast (but needs the -grab-keyboard option to work with sway). Also xfreerdp, a fast XWayland RDP client. Tested against xrdp X11 server. Is there a ‘wayrdp’ server out there?
远程/录制
See also: Screencast-Compatibility
- waypipe - waypipe is a proxy for Wayland[0] clients. This makes application forwarding similar to ssh -X [1] feasible.
- wf-recorder - Screen recorder for wlroots-based compositors eg swaywm
- cute-sway-recorder - Screen recorder for wlroots-based window managers, mainly Sway (a graphical Qt wrapper for wf-recorder)
- obs-studio - capturing, compositing, encoding, recording, and streaming video content, efficiently (see wlrobs)
- wlrobs - obs-studio plugin that allows you to screen capture on wlroots based wayland compositors
- obs-gnome-screencast - Small source plugin to use GNOME Screen Cast functionality as a source for OBS Studio
- green-recorder - simple desktop recorder for Linux systems
- txproto - A fully scriptable and flexible multimedia streaming/handling program.
- wdomirror - Create a mirror of an output with as little overhead as possible, aspect ratio is not preserved
- wl-mirror - a simple Wayland output mirror client with more useful features.
- ssr-wlroots - A version of SimpleScreenRecorder with support for wlroots-based compositors (more specifically, those that support wlr-screencopy-v1 and xdg-output). Doesn’t support recording area selection and has issues with multiple screens.
- kooha - Capture your screen in a straightforward and painless way without distractions.
其他脚本
- sway-fit-floats - fits floating windows into workspace
- sway-focus - focus an app by name (sway app_id or X11 class)
- sway-prep-xwayland - prepare for Xwayland
- sway-prop - show apps properties (similar to xprop)
- sway-run-or-raise - focus an existing app or run it otherwise
- sway-select-window - use bemenu/rofi/wofi to go to a running app
- sway-start - startup sway from the console
- sway-track-firefox - watch firefox (and other apps) and bind Shift-Ins to paste PRIMARY selection
- sway-track-prev-focus - mark container with _prev for rapid switching between apps
- nmcli-rofi - Wofi script to select wifi and VPNs with nmcli
- sway-fit-floats - manage floaters - fit in w/s; send/bring all to scratchpad; unfloat all (ie tile them)
- sway-new-workspace - create bindings for opening a new workspace, or moving windows to a new workspace
- swaycons - display window icons with font icons
开发
- gtk-layer-shell - A library to write GTK applications that use Layer Shell.
- client toolkit - A toolkit for writing Wayland clients in Rust
- swc - A library for making a simple Wayland compositor
- wlroots - Pluggable, composable, unopinionated modules for building a Wayland compositor
参考
- https://www.reddit.com/r/swaywm/
- https://arewewaylandyet.com/
- https://github.com/swaywm/sway/wiki/i3-Migration-Guide
- https://github.com/ammgws/letssway
- https://wiki.archlinux.org/index.php/Sway
- https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/wikis/home
- https://github.com/natpen/awesome-wayland
#Sway #Usage #Add-Ons #Dm #Launcher #Menu #Notification #Workspaces #Screenshots #Wayland #Brightness #Gamma #Colorscheme #Wallpaper #Bar #Panel #Widget #IME