awesome平铺窗口使用笔记

2023-05-16

这个故事要从vim开始。从入了vim的坑以后,就爱上了平铺窗口模式。在macOS中就开始使用yabai。使用了yabai以后,就很大程序可以用键盘完成大部分操作了。然后我开始用linux,使用的是i3wm。感觉非常不错,几乎就与vim中的窗口管理差不多。但是i3wm中一直有一个小问题困扰着我,就是看视频或者快速切换图片是画面会撕裂。

我解决过程中我尝试了各种其他的平铺桌面用来测试是否会有画面撕裂的现象,这时我才发现原来awesome也挺符合我的味囗的。

简介

Awesome 是运行于UNIX以及Linux、FreeBSD等类Unix操作系统上的窗口管理器, 是采用GPL协议的自由软件。 不同于KWin和Metacity, awesome是一款Tiling window manager,直译就是“瓦片式窗口管理器”,意译为“平铺式窗口管理器”。
在这里插入图片描述
官网
https://awesomewm.org/

我喜欢awesome的原因

  1. 开箱即用,不用花太多时间折腾。以前我喜欢折腾,工作忙起来有时会比较懒惰。
  2. 非常方便直接的鼠标操作,虽然我以前曾经尝试时抛弃鼠标。最终还是选择接受,毕竟现在很多程序的开发就是面对鼠标的。强行键盘有时得不偿失。
  3. 窗口最小化,这是一个关键点。使用i3时我就有这样的需求,有时我想一些程序暂时最小化不显示。i3中我就会把它移动到其他workspace来实现,没有这个直观。
  4. lua脚本配置,这一点我比较喜欢。毕竟之前为了写neovim插件学习过一周lua脚本的编程,不想让这个技能因长期不用废弃掉。
  5. 浮动模式体验比i3好一些,至少有标题栏。这样有个好处,就是别人临时用我的电脑时。至少不至于不会操作。浮动的方式跟常见的windows很类似。
  6. 加载快。比起KDE,这个加载几乎是秒级的。当然i3也快,但是我有一种错觉感觉这个好像比i3还要快一些。

此次使用,主要还是以试用为目的,短期内不打算放弃i3.

配置

初始化配置文件

mkdir -p ~/.config/awesome/
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/

默认快捷键

我个人有一个习惯,不管用什么软件尽可能使用它的默认配置来。除非一些非常难适应的地方(跟以前的习惯差距太大),我才会修改一下。趁我改动不大的时候截图保存一下。

可以按Super+s 显示帮助。

在这里插入图片描述
这里完全是可以自己修改的。下面的快捷启动就是我自己新加的。
这个帮助功能挺方便的,快捷键忘记时非常有用。如果是i3我就要自己到配置文件中查询了。

快捷键启动程序

-- 启动终端
awful.key({ modkey,           }, "Return", function () awful.spawn(terminal) end,
          {description = "终端", group = "快捷启动"}),
--启动浏览器
awful.key({ modkey,           }, "b", function () awful.spawn("/opt/microsoft/msedge/microsoft-edge  --password-store=gnome") end,
          {description = "浏览器", group = "快捷启动"}),
-- 截图
awful.key({ modkey,"Shift"    }, "a", function () awful.spawn("/home/itkey/.soft/bin/screenshot") end,
          {description = "深度截图", group = "快捷启动"}),

状态栏位置

s.mywibox = awful.wibar({ position = "bottom", screen = s })

position = “bottom”

  • top在上面
  • bottom在下面
    这个放哪不重要,喜欢就好。
    使用yabai和i3时我习惯放下面,这样屏大的时候不用仰视了。

更改主题

awesome有多个内置主题供您选择:

  • default
  • gtk
  • sky
  • xresources
  • zenburn
    要更改主题,请打开 rc.lua,在文件开头附近找到此行,然后更改为提到的其他值之一:default
beautiful.init(gears.filesystem.get_themes_dir() .. "default/theme.lua")

但是,在本教程中,我们将复制并自定义默认主题。复制并更改上面在 rc 中显示的行.lua如下所示。确保替换为您的用户名。

cp /usr/share/awesome/themes/default/theme.lua ~/.config/awesome/
beautiful.init("/home/USER/.config/awesome/theme.lua")

修改壁纸

桌面背景图像在主题文件中处理。要更改它,请在主题文件中编辑此行:

theme.wallpaper = themes_path.."default/background.png"

默认值使用相对于 的路径,方法是使用运算符将两个字符串连接在一起。例如,要将其设置为绝对路径,您可以执行以下操作:

theme.wallpaper = "/usr/share/backgrounds/my-awesome-wallpaper.png"

日期格式化

--日期格式化
mytextclock = wibox.widget.textclock('%Y-%m-%d %H:%M')

文档:
https://awesomewm.org/apidoc/widgets/wibox.widget.textclock.html

隐藏窗口标题栏目

titlebars_enabled = false

-- 窗体标题栏
    { rule_any = {type = { "normal", "dialog" }
      }, properties = { titlebars_enabled = true }
    },

参考:
https://stackoverflow.com/questions/42724311/how-to-remove-title-bar-in-awesome-window-manager-ver-4

调整窗口大小

  1. 通用方法:按住Super并按住鼠标右键 拖动就可以调整窗体大小了。
  2. 按住鼠标右键 拖动窗体标题栏就可以调整窗体大小了。

移动浮动窗口

  1. 按住鼠标左键 拖动窗体标题栏就可以移动窗体。
  2. 通用方法:按住Super并按住鼠标左键就可以移动窗体。

设置窗体间隙margin/gap

--设置窗体margin
beautiful.useless_gap="10";
beautiful.gap_single_client = true;

https://www.reddit.com/r/awesomewm/comments/g7b3bq/gap_between_tiling_windows_help/

设置屏幕边距

其实上面一节就可以实现,如果只想要屏幕有内边距。不需要窗体之间有间距,可以如下设置。

--设置屏幕边距
awful.screen.focused().padding = {left= "20",right="20", top = "20", bottom = "20" };

参考:
https://www.reddit.com/r/awesomewm/comments/ojhv3z/screen_padding_and_maximized/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

awesome平铺窗口使用笔记 的相关文章

  • windows使用nginx探索笔记

    在macOS和linux中使用nginx我早已经轻车熟路 突然切到windows的环境中 xff0c 我反而不会用了 于是我就记一下笔记吧 本篇写的比较冗长 xff0c 精简版本见 windows使用nginx https blog csd
  • windows安装nginx并设置开机自启动

    在macOS和linux中使用nginx我早已经轻车熟路 突然切到windows的环境中 xff0c 我反而不会用了 之前写了 windows使用nginx探索笔记 内容比较冗长 xff0c 所以本文尽量精简一下 环境 操作系统 xff1a
  • windows redis安装与开机自启动

    Redis 在 Windows 上不受官方支持 但是 xff0c 您可以按照以下说明在 Windows 上安装 Redis 进行开发 要在 Windows 上安装 Redis xff0c 您首先需要启用WSL2 xff08 适用于 Linu
  • windows11中hosts配置

    windows11中hosts配置 打开配置路径 win 43 r打开运行 xff0c 在运行中输入drivers双击etc目录就打开如下路径 xff1a 实际上也可以在运行中直接输入C Windows System32 drivers e
  • Windows Server 2019安装SQL Server 2014

    最近要部署一个项目 xff0c 需要用到SQL Server 2014 我把安装过程简单记录一下 xff0c 给有需要的朋友吧 下载安装包 在国内微软的官网下载速度还是比较慢的 xff0c 我是从 https msdn itellyou c
  • spring boot项目windows开机自启动

    windows服务器的运维的过程中 xff0c 很难避免服务器重启 如果每次服务器重启以后都要人工启动服务 xff0c 就太麻烦了 web 后端如果能开机自动启动 可以节省不少运维成本 相关阅读 windows安装nginx并设置开机自启动
  • 交行对账接口100.100.100.X访问超时解决办法

    今天维护一个老的项目 xff0c 一个老的项目已经稳定运行近1年了 最近突然出现故障了 windows服务器 xff0c 中间为了排除问题 xff0c 重启了一下服务器 毕竟windows服务器 xff0c 有时重启包治百病 各种问题都成功
  • PhpStudy集成环境,让天下没有难配的服务器环境

    简介 让天下没有难配的服务器环境 xff0c 解放运维 PhpStudy国内12年老牌公益软件 xff0c 集安全 xff0c 高效 xff0c 功能与一体 xff0c 已获得全球用户认可安装 xff0c 运维也高效 支持一键LAMP LN
  • windows安装mysql client 命令行客户端

    我在macOS和linux中 xff0c 有一些操作比较喜欢直接使用mysql 命令行程序完成 切到windows中反而不知道如何安装mysql client了 相关阅读 macOS 安装mysql client命令行工具 https bl
  • Error creating bean with name ‘BAdminMapper‘ defined in file [C:\Users\ASUS\Desktop\FleakMarket-mast

    项目最初是可正常运行的 xff0c 我只是把一些 java文件放到 xff08 就是直接用鼠标拖动文件 xff09 其他包下 xff0c 然后出现下面这个对话框 Refactor后 xff0c 当我重新Run Application 时 x
  • 查找(一):简单符号表

    1 1 符号表 符号表主要运用于键值对 xff08 key value xff09 的操作 用例能够将一个键值对插入符号表 xff0c 并希望在以后能够从符号表中按照键 key 找到相应的值 value 符号表从某种意义上与数组类似 xff
  • 微信支付配置信息如何获取

    微信支付需要配置各种key 密钥什么的 这样配置应该在哪获取 xff0c 刚接触的时候还挺懵的 因为我也没有找到相关介绍的文章 xff0c 我自己就在这么多菜单中一个个翻找 xff0c 终于凑齐了 就像集齐龙珠一样 于是我就整理一下留给需要
  • 微信公众号管理后台获取已关注的openid

    最近在调试微信支付功能 xff0c 创建新的订单时有个参数openid xff0c 我如果随便写就会返回一个错误appid和openid不匹配 因为我仅仅是为了测试微信支付的接口 xff0c 如何简单方便的获取测试用户的openid呢 xf
  • windows server 2016免驱网卡驱动

    普通的windows10免驱usb网卡 放到windows server 2016上就没有用了 产品型号 这里并不是广告 xff0c 以下产品亲测可用的 xff0c 其他usb无线网卡不太清楚 87 CZ0001 2 x1f5dd yiyk
  • GnuPG-2.1 与 pacman 密钥环

    我的archlinux有2周没有更新了 xff0c 今天更新老是报以下错误 xff1a 错误 xff1a dmenu 来自 34 T J Townsend lt blakkheim 64 archlinux org gt 34 的签名是勉强
  • Windows Terminal绿色版本

    Windows Terminal在线安装非常简单 如果电脑没法上网如果离线安装呢 xff1f 步骤 要求 xff1a Windows 10 1903版本及以上 到https github com microsoft terminal rel
  • ubuntu systemctl管理

    启动服务状态 systemctl start nginx service 查询服务状态 systemctl status nginx service 开机启动 systemctl span class token builtin class
  • docker container 开机自动启动

    我在docker中安装了mysql与redis 每次电脑重新后都要手动启动一下相应的docker容器 xff0c 感觉很不方便 能不能把docker容器设置成自动启动呢 xff1f 官方文档 官方有相关的文档 xff0c 大家可以自行看一下
  • Spring Boot 做成 archlinux service 开机自动启动

    archlinux与ubuntu操作方式基本相同 创建employee服务 span class token function sudo span span class token function vim span etc systemd
  • Nginx 服务器 SSL 证书安装部署配置https

    我使用的是腾讯的云服务器 xff0c 所以直接参考腾讯的官方文档很容易就实现了 详见文档 xff1a https cloud tencent com document product 400 35244 腾讯云服务器 步骤 申请证书 htt

随机推荐

  • javascript 获取url中的参数

    方法封装 span class token keyword function span span class token function getAllUrlParams span span class token punctuation
  • npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果 包括路径,请确保路径正确,然后再试一次。

    项目场景 xff1a 使用HBuilder X导入项目后 xff0c 在内置终端执行npm install命令时报错 问题描述 报错提示如下 xff1a npm span class token operator span 无法将 npm
  • VirtualBox 常用命令

    查看虚拟机列表 VBoxManage list vms 我这里显示的是 windows10LTSC 2fa64002 44ca 4ec1 a76e cf56aee5105c 这个名称 xff0c 我们后面会用的到 开启虚拟机在后台运行 VB
  • windows10自动登录

    输入用户名密码 xff0c 有利于保护数据的安全 但是如果我使用的是虚拟机 xff0c 或者本身也不存在什么敏感数据 每次输入用户名密码就会显的繁琐了 那么怎么设置用户自动登录呢 xff1f 软件实现 以前我都是使用软件实现的 xff0c
  • i3 Android Emulator floating模拟器浮动

    在i3 wm窗口管理器中 xff0c 开发android应用 模拟器平铺效果不太好 xff0c 会一直闪屏 所以我希望android模拟器默认是浮动的效果 设置如下 xff1a span class token comment Androi
  • xmodmap开机自动启动

    xmodmap我在i3中设置的开机自动启动一直不生效 xff0c 因为一直忙也没有时间研究 就每次手动启动一下 手动启动总之还是麻烦 xff0c 忙里偷闲 xff0c 研究一下 现象 xmodmap命令设置开启自动启动 xff0c 无效 x
  • archlinux更新后fcitx5无法使用

    现象 今天遇到一个非常奇怪的事情 xff0c 我更新完archlinux以后发现我的fcitx5中文输入法无法使用了 严谨点说 xff1a kitty终端中可以使用 其他常见程序中都无法使用 i3wm和 KDE桌面环境中都无法正常使用 环境
  • archlinux 安装ibus-rime

    中州韵输入法引擎 xff08 英语 xff1a Rime Input Method Engine xff0c 又称Rime 输入法 xff09 是由佛振编写的开源中文输入法 xff0c 目前项目网站 源代码均托管在GitHub 注 1 基于
  • vscode xmodmap转义的esc无效解决办法

    在archlinux中使用xmodmap把大小写按键 映射成esc 在vim xff0c IDEA中使用正常 xff0c 但是在vscode 中按大小写转换键没法达成esc效果 解决办法 span class token string pr
  • archlinux fcitx5-rime五笔输入法

    Rime xff08 中州韵输入法引擎 xff09 是一款支持多种输入方案的输入法引擎 Rime 本身没有用于处理用户输入的前端 xff0c 需要配合输入法框架才能使用 xff0c 比如 Fcitx5 简体中文 或 IBus 简体中文 折腾
  • i3wm调整缩放

    4K显示器 xff0c i3wm默认显示字体太小了 如何调整呢 xff1f 如果您没有使用桌面环境 xff08 如 KDE Xfce 或其他为您操作 X 设置的环境 xff09 xff0c 您可以通过 Xresources 中的变量手动设置
  • linux解压rar

    在linux中比较常见的压缩包有gz tar zip bz2 我个人是比较喜欢使用zip xff0c 免费且通用 xff0c linux macOS和windows支持都不错 我的大部分同事使用的是windows 在Windows中比较常用
  • npm install报error code 1;npm run build报Node Sass does not yet support your current environment

    项目场景 xff1a 本人已提前安装了nodejs xff0c 且此文仅描述本人所遇问题及解决方案 有类似问题的朋友 xff0c 此文提供的解决方案仅供参考 HBuilder X 导入项目 xff0c npm install安装依赖 xff
  • 如何在 Ubuntu 安装 Microsoft Edge

    终端 CLI 方式 更喜欢从命令行安装软件 xff1f 我们为您提供保障 只需将以下命令复制 粘贴到您选择的终端模拟器中即可 第一 xff1a 设置脚本 这会将 Microsoft Edge 存储库添加到您的系统 xff0c 并导入 Mic
  • MATLAB学习笔记

    项目需要用到matlab xff0c 我是这方面的小白 做一下简单的笔记 xff0c 仅供自己查阅使用 链接 MATLAB 入门之旅 视频教程 https matlabacademy mathworks com R2022a cn port
  • windows11 虚拟桌面快捷键

    我大部时间在使用macOS xff0c Linux 已经无法离开虚拟桌面了 因为部分工作必须要在windows下完成 xff0c 所以就想适应一下windows11的虚拟桌面的快捷键 项目ValueWin 43 Tab任务视图Win 43
  • windows中使用curl

    curl这个工具在linux和macOS都经常使用 xff0c 感觉挺实用的 在windows中默认也带了一个但是用起来不太一样 xff0c 于是就想自己手动安装一个原汁原味的curl 下载安装 https curl se windows
  • Powershell命令行设置代理

    在linux中的命令行 xff0c 临时使用代理非常的方便 export ALL PROXY 61 socks5 127 0 0 1 1080 那么在windows有类似的环境变量吗 xff1f 答案是肯定的 PowerShell 命令行代
  • archlinux intel gpu优化解决视频图片画面割裂的问题

    archlinux在物理机中常起使用已经有大半年了 xff0c 有一个问题一直没解决 那就是浏览器中快速拖动滚动条 xff0c 或者看运行速度比较快的视频时 xff0c 会有明显的画面割裂感 重现这一个现象的最好办法 xff0c 就是找个动
  • awesome平铺窗口使用笔记

    这个故事要从vim开始 从入了vim的坑以后 xff0c 就爱上了平铺窗口模式 在macOS中就开始使用yabai 使用了yabai以后 xff0c 就很大程序可以用键盘完成大部分操作了 然后我开始用linux xff0c 使用的是i3wm