Awesome WM 基于迭代器的小组件
由于 i3wm 支持的功能有限,定制性并没有那么强大,最近换成使用 Awesome WM 了,它使用 Lua 作为配置语言,所以可配置性极强。举个例子,i3wm 配置无法像真正的编程语言一样使用 if ... else 语句等,但 Awesome WM 可以,对于同一个快捷键就可以在不同时候有不同的功能。 ...
由于 i3wm 支持的功能有限,定制性并没有那么强大,最近换成使用 Awesome WM 了,它使用 Lua 作为配置语言,所以可配置性极强。举个例子,i3wm 配置无法像真正的编程语言一样使用 if ... else 语句等,但 Awesome WM 可以,对于同一个快捷键就可以在不同时候有不同的功能。 ...
最近发现 Windows 这几个月开机不超过 10 次,寻思着将 Windows 中的空间挪一点到 Linux 中来。说干就干,在 Windows 里面划出来了 80 GB 的空间。 遗憾地,这 80 GB 空间物理上在我需要扩容的空间的前面,由于开头的扇区存放有很多元数据,因此是不能简单扩容的,只能寻求其他的方法。 ...
今天和朋友交流的时候遇到了自引用问题,之前就在看 Rust Bible 的时候看到过,但是一直没用 Rust 写过什么数据结构,所以没有使用这个的机会,所以今天就来尝试一下。 ...
最近开始学习操作系统的相关知识,选择学 MIT6.S081 的课程。 首先在 课程官方网站 上拉取仓库配置环境。 $ git clone git://g.csail.mit.edu/xv6-labs-2020 $ cd xv6-labs-2020 $ git checkout util $ make qemu make 时发现有报错: user/sh.c: In function ‘runcmd’: user/sh.c:58:1: error: infinite recursion detected [-Werror=infinite-recursion] 58 | runcmd(struct cmd *cmd) | ^~~~~~ 打开该文件发现: ...
之前在 Lua 代码的编写中写过一些打印表的函数用于调试,这次在看 z.lua 的实现中看到了非常完美的打印表的方法,于是在将代码改得更规范后记录一下: 使用 luacheck 检查 Lua 代码中的错误和不规范之处 ...
在看 skywind3000 大神写的 z.lua 时发现了神秘写法: os.argv = arg ~= nil and arg or {} os.path.sep = windows and '\\' or '/' 不需要怎么思考就能知道这个是三目运算。但是在我认知中,Lua 是不支持三目运算符的,定睛一看才发现这个是通过 Lua 布尔运算中的短路特性模拟的三目运算。 ...
我经常有在终端查单词的需求,之前使用的是自己写的网络爬虫,原理是构造网址 “https://www.youdao.com/result?word={}&lang=en" 并访问,再通过解析 Html 文件获得单词解释。一个朋友说他用的是 sdcv ,星际译王的终端版本,可以支持离线词典。我也时常脱机工作,对离线词典的需求也不小,所以打算自己写一个支持 StarDict 格式离线词典的软件。 ...
按照 Mailx 自己的介绍,它是一个增强了的 Mail 命令,提供了更多的功能。 常规用法是: mailx -s "{{subject}}" {{to_addr}},通过配置之后可以使用邮箱运营商的服务器发送邮件。 ...
最近想写一个小工具,需要用到 SQLite 。之前只会一点点的 INSERT 和 DELETE ,现在想正式入门。 点命令 点命令不以 ; 结束,它们一般并不直接操作数据库。 可以使用 .help 来看可以使用的点命令。 ...
高中第一次看到在 C 语言中嵌入汇编语言时,我就觉得它非常好玩,到大学刚开学的时候,我甚至有使用它的需求,可惜直到现在我才抽出时间开始学习它。 分类 在 GNU 的 GCC 中,内联汇编被分为两类:Basic asm 和 Extended asm 。 ...