Layland于2021年

2021-03-14 12:19:01

一年前,我写了关于Linux上的Hayland设置。今年我想向你提供一个小豪猫,我如何与拱门Linux的Wayland以及我的日常司机在家里和工作的情况下。设置本身留下了相同的相同:

让我们快速看一下每个项目符号上方的全部设置。

我的摇摆设置并不是那么特别。我使用mako进行通知,kanshi for动态显示配置和一些其他脚本。可以在这里找到完整的摇摆配置:https://github.com/shibumi/dotfile/blob/master/.config/sway/config

Barista是一款框架,用于编写I3兼容的状态栏。该框架应该涵盖您正在寻找的大多数功能,如果您想要使用此框架轻松地执行脚本或通过纯GO代码扩展脚本。只要我只会建议这一框架对觉得舒服的人。配置过程可能是乏味的,我仍然缺少1-2个功能我想。如果您拥有您所需的一切,Barista肯定会比仅执行的Qualual Status栏更快方式Bash脚本。这是我的状态巴特的小片段,显示目前的yubikey状态:

咖啡师。添加(yubikey。新()。输出(Func(GPG Bool,U2F Bool)栏。输出{如果U2F {OUT:=输出。文本(" U2F")。颜色(颜色。方案(& #34;退化"))返回}如果gpg {out:=输出。文本(" gpg")。颜色(颜色。方案(" degaded")返回出}返回nil}))

#!/ bin / bash readonly screenshotdir =" $ home /.cache/screenshot"如果 [[ ! -e" $ screenshotdir" ]];然后是mkdir -p" $ screenshotdir"读取时间=" $(日期+%Y-%m - %d-%h%m - %s)" readonly imgpath =" $ screenshotdir / img-$ time .png" grim -g" $(slurp)" " $ imgpath"分享" $ imgpath"

该脚本只需通过Slurp和Grim拍摄屏幕截图,将屏幕截图放在我的Home Isionderand中的目录中触发我的共享脚本。共享脚本只是处理通知并将其上传到我的WebServervia SSH并将链接复制到我的剪贴板中。可以在此处找到完整的共享脚本:https://github.com/shibumi/dotfiles/blob/master/.local/bin/share

对于屏幕录制,我有一个名为ViewOshot-WL的脚本。它比Takingscreenshots的脚本有点复杂。它利用SLURP和WF记录器,它适用以下方式:

脚本触发并引发子外壳。该子外壳正在记录屏幕。

如果脚本再次触发子外壳将被杀死,则录制Powcess停止并将录制上传到我的Web服务器。

#!/ bin / bash readonly videoshotdir =" $ home /.cache/videoshot"如果 [[ ! -e $ vidohoshotdir]];然后是mkdir -p" $ vidohoshotdir" fi readonly pidpath =" $ vidohoshotdir /videoshot.pid& #34; ReadOnly ResourcePath =" $ videoshotdir /videoshot.txt& n34;如果 [[ ! -f" $ pidpath" ]];然后是Readonly Time =" $(日期+%Y-%m - %d-%h%m - %s)" readonly vidpath =" $ vidohoshotdir / cred-$ time .mp4" (WF-Recorder -g" $(slurp)" -f" $ Vidpath"& echo" $!"" $ PidPath"回声" $ Vidpath">" $ resourcepath" notify-send"开始录制"" $ Vidpath" readonly pid =" $(猫$ pidpath)"等待" $ pid" readonly vidpath =" $(猫$ resourcepath)"如果[!-f " $ Vidpath"];然后通知发送 - 发送"录制中止" else share" $ Vidpath" fi Rm" $ pidpath" $ pidpath" $ pidpath" " $ resourcepath")&否则Readonly PID =" $(猫$ pidpath)" kill -sigint" $ PID" FI.

共享文本再次非常简单。对于共享文本,我只是在我的剪贴板中复制它(在我的终端中的标记时已经发生了,然后我使用我的textshot-wl脚本:

#!/ bin / bash readonly textshotdir =" $ home /.cache/textshot/"如果 [[ ! -e" $ textshotdir" ]];然后是mkdir -p" $ textshotdir"读取时间=" $(日期+%Y-%m - %d-%h%m - %s)" readonly textpath =" $ textshotdir / text-$ time .txt" wl-paste> " $ textpath"分享" $ textpath"

该脚本只是在剪贴板中将所有内容写成文本文件并上传它。然后,WebServer将显示文本文件。这种方法的缺点显然是我没有额外的功能likecomment或语法突出显示(我有时会想念这个)。如果我真的需要我使用gist的功能

#!/ bin / bash bemenu-run -i --hb"#151718" --tb"#151718" --nb"#151718" --hf"#9fca56" --tf"#9fca56" --fb"#151718" --fn"字体pango:Inconsolata 8" " $ @" -m" $(Swayfocused)" -p">"

我通过Bemenu和Gopass.via Bemenu直接访问我的密码管理器我选择密码条目(模糊搜索,是的),然后脚本将触发Gopassand,然后将在我的Wayland剪贴板中复制GoPass的输出。 :

$!/ bin / bash source" $ {home} /.local/share/scripts/bemenu"输入= $(gopass列表-f | _bemenu -p" gopass")printf'%s' " $(Gopass Show -o" $ Input")" | wl-copy --paste-one

这里有趣的部分是一次性使用。我只能在剪贴板中使用此密码。如果我粘贴它,它将立即从剪贴板中删除。这也意味着,这目前只有Worksin Wayland应用程序(我使用的原因之一就是我应该使用的那个脚本的原因之一)。

$!/ bin / bash source" $ {home} /.local/share/scripts/bemenu"输入= $(YKMAN OATH列表| _BEMENU -P" OATH")OATH = $(YKMAN OATH CODES -S" $ INPUT")ECHO" $誓言" | wl-copy --paste-one

屏幕共享是一个更大的主题。我真的很多(!)在正期上有很多(!)问题,特别是与Microsoft团队和其他企业ish软件相结合。只有我想我已经在几天前找到了一个稳定的解决方案。

首先,请确保为您的用户启用并运行PipeWire-Media-Session服务。XDG-Desktop-Portal-WLR的DEVS表示您通常不需要它,但对于某种奇怪的原因,您将需要运行的管道 - 媒体会话服务:

此外,您需要设置以下环境变量:xdg_current_desktop = sway.i通过my my .config / environment.d / envvars.conf-file执行此操作: 此文件设置所有环境变量,并通过SystemD在Login上自动加载。如果您拥有环境变量和工作的PipeWire-Media-Session服务,其他所有应该锻炼框。