This page looks best with JavaScript enabled

近期的生活日记 ❄️ 北方的冬天 ❄️

 ·  ☕ 3 min read

我好恐惧,恐惧时间的流逝,所以迫不及待的想把看到的感受到的都记录下来。

于是,我记了好多好多,到现在我的 org-journal 已经写下六千多行了。。。。

有了 Emacs 的 Org Journal,我就喜欢到处记
有了 2 亿像素的 Galaxy, 我就到处拍,走到哪拍到哪。

Spotify 2023 Wrapped

我最近生活挺开心的!因为最近 Spotify 总结了我 2023 年的音乐总结:

原来我 2023 年最喜欢的歌手是 HOMIE, 我还一直以为是 Rauf & Faik 兄弟或 IVAN VALEEV 呢!

附上我的 2023 年度歌单: https://open.spotify.com/playlist/37i9dQZF1Fa1IIVtEpGUcU?si=d750c403996645d5

切换到 Wayland

最近切换到了 Wayland,并且在享受它。
由于我是 HiDPI 屏幕,需要让 chrome 做些调整,才能让窗口和 Cursor 的缩放正常点。
为了额外能让 fcitx5 在chrome 中工作,我不得不wrap 一下 chrome:

1
2
3
4
5
    (google-chrome.override {
      commandLineArgs = [
        "--enable-wayland-ime" # on purpose to make it break
      ];
    })

看电影

最近听说了一部总是和《教父》一起提的电影:《爱尔兰人》,片长共 3 小时,我只看了一小时就累了,以后有空接着看。

触发了 gdb 的 bug

最近在 CI 上做静态链接 OpenSSL 3 的事情,在 github 的 macos-11 darwin64-x86_64 平台上,打包出来的二进制触发了 illegal instructions, 然后我想着用 gdb 能不能得到一些有帮助的线索,结果没有得到线索,而是触发了 gdb 的 bug。

魔改 ripgrep

我很喜欢用 ripgrep,但是当我加上 –no-heading –line-number 参数时,每一行最开始的行号并不对齐,我觉得很不美观。搜索了相关 issue,发现以前有人有过和我一样的 idea。于是我干脆 fork 一下,自己将 line-number 的宽度 align 好,魔改自用。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

    /// Create a new decimal formatter for the given 64-bit unsigned integer.
    pub(crate) fn new(mut n: u64) -> DecimalFormatter {
        let mut buf = [32; Self::MAX_U64_LEN];
        let mut i = buf.len();
        loop {
            i -= 1;

            let digit = u8::try_from(n % 10).unwrap();
            n /= 10;
            buf[i] = b'0' + digit;
            if n == 0 {
                break;
            }
        }
        DecimalFormatter { buf, start: i }
    }

    /// Return the decimal formatted as an ASCII byte string.
    pub(crate) fn as_bytes(&self) -> &[u8] {
        let mut start = self.start;
        if start > 16 {
            start = 16;
        }
        &self.buf[start..]
    }

Mastering Bitcoin 第三版

Master Bitcoin 最近出了第三版,相比第二版有新改动,在看。

最新款的病毒

我上周末可能感染了最近新发布的最新款的病毒了,流鼻涕!头晕!还略微有点发热!用力呼吸的时候,眼睛和鼻子之间的区域就感到难受!真的非常难受!于是我多喝热水,好了。

Wayland 下的 KDE Plasma 5 不能和 tdrop 很好的配合

我以前在 Xorg 下一直使用 tdrop 来完成任意窗口的弹出和隐藏,但是 tdrop 在 wayland 下不工作。
于是我尝试寻找 Wayland 下有没有和 xorg 下的 xdotool 一样的东西。想着我能不能在 Wayland 下获取任意的窗口的 ID,有了这个 ID,我就能操作目标窗口的隐藏或呼出了。结果并没有找到满足我需求的方案。

所以,我不得不尝试 programmatically manipulate windows with KWin scripts

为了在 KWin Wayland 下达到我的目的,我不得不这样:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function toggleClient(app_name) {
  const clients = workspace.clientList();

  let client = null;

  for (var i = 0; i < clients.length; i++) {
    let resource_name = clients[i].resourceName;

    if (resource_name == app_name) {
      client = clients[i];
      break;
    }
  }

  if (client) {                                                                                                                                                                                                                                       %    if (client.desktop != workspace.currentDesktop) {
      client.desktop = workspace.currentDesktop;
      client.minimized = false;
      workspace.activeClient = client;
      console.log('app not in current desktop, activate now', app_name)
    } else {
      if (client.minimized) {
        client.minimized = false;
        workspace.activeClient = client;
        console.log('in current desktop, but minimized, activate now', app_name)
      } else {
        console.log('in current desktop, but not minimized, minimized it now', app_name)
        client.minimized = true;
      }
    }
  } else {
    console.log("not found client , we have: ", app_name);
  for (var i = 0; i < clients.length; i++) {
    let resource_name = clients[i].resourceName;
      console.log("we have ", resource_name)
  }
  }
}

我现在是通过 qdbus 来和 KWin Wayland 交互来加载和启动这个脚本的。
以后我可以把这个粗糙的脚本打包成 KWin Plugin,那样会更加符合 KWin 的最佳实践?

北方的冬天

前段时间气温快 -10 度了,这几天暖和了点,0 度

Kernel Panic

在唤醒睡眠状态的系统时,发现 Kernel Panic 了!我目前用的 Kernel 版本是 6.6.2。目前还没空排查 panic 的原因。

Samsung OneUI 6.0 升级

喜迎 OneUI6.0 !

Share on

EXEC
WRITTEN BY
EXEC
Evil EXEC