gnome: run-or-raise

This commit is contained in:
js0ny 2026-01-26 13:10:06 +00:00
parent 46b34400a2
commit 18bdb02ca1
11 changed files with 178 additions and 195 deletions

View file

@ -90,7 +90,7 @@ in {
protonvpn-gui
proton-pass
goldendict-ng
kdePackages.kdenlive
# kdePackages.kdenlive # Cannot build on my machine
gimp
rustdesk
remmina
@ -113,6 +113,8 @@ in {
dconf-editor
fsearch # Everything-like search tool
kdePackages.elisa
lollypop
showmethekey
# Use Wayland for Jetbrains
# (jetbrains.idea-ultimate.override {

View file

@ -13,6 +13,7 @@
resource-monitor
lunar-calendar
arcmenu
run-or-raise
];
in {
imports = [
@ -82,6 +83,24 @@ in {
"<Shift><Super>m"
"<Super>Up"
];
switch-to-workspace-1 = ["<Super>1"];
switch-to-workspace-2 = ["<Super>2"];
switch-to-workspace-3 = ["<Super>3"];
switch-to-workspace-4 = ["<Super>4"];
switch-to-workspace-5 = ["<Super>5"];
switch-to-workspace-6 = ["<Super>6"];
switch-to-workspace-7 = ["<Super>7"];
switch-to-workspace-8 = ["<Super>8"];
switch-to-workspace-last = ["<Super>9"];
move-to-workspace-1 = ["<Shift><Super>1"];
move-to-workspace-2 = ["<Shift><Super>2"];
move-to-workspace-3 = ["<Shift><Super>3"];
move-to-workspace-4 = ["<Shift><Super>4"];
move-to-workspace-5 = ["<Shift><Super>5"];
move-to-workspace-6 = ["<Shift><Super>6"];
move-to-workspace-7 = ["<Shift><Super>7"];
move-to-workspace-8 = ["<Shift><Super>8"];
move-to-workspace-last = ["<Shift><Super>9"];
};
"org/gnome/mutter/keybindings" = {
toggle-tiled-left = [
@ -94,17 +113,17 @@ in {
];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
www = ["<Super>b"];
# www = ["<Super>b"]; # use run-or-raise instead
help = [""];
home = ["<Super>e"];
screenreader = [""];
screensaver = [""];
};
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-0" = {
name = "Open File Explorer";
command = "dolphin";
binding = "<Super>e";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-0" = {
# name = "Open File Explorer";
# command = "dolphin";
# binding = "<Super>e";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-1" = {
name = "Open Terminal via Win-CR";
command = "xdg-terminal";
@ -115,23 +134,24 @@ in {
command = "xdg-terminal";
binding = "<Ctrl><Alt>t";
};
# use arcmenu
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-3" = {
# name = "Open Picker";
# command = "walker";
# binding = "<Alt>space";
# };
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-4" = {
name = "Open Obsidian";
command = "Obsidian";
binding = "<Super>O";
};
# "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-4" = {
# name = "Open Obsidian";
# command = "Obsidian";
# binding = "<Super>O";
# };
"org/gnome/settings-daemon/plugins/media-keys" = {
custom-keybindings = [
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-0/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-1/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-2/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-3/"
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-4/"
# "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom-4/"
];
};
# Scanned directory in GNOME Search
@ -199,4 +219,12 @@ in {
switcher-popup-tooltip-title = 3;
};
};
xdg.configFile."run-or-raise/shortcuts.conf". text = ''
<Super>b,firefox,,
<Super>o,obsidian,,
<Shift><Super>e,fsearch,,
<Alt><Super>e,xdg-terminal-exec --app-id=terminal-popup yazi
<Alt><Super>Return,neovide,,
<Shift><Super>v,kitty -o close_on_child_death=yes --app-id=terminal-popup -e edit-clipboard --minimal
'';
}

View file

@ -7,14 +7,20 @@
];
dconf.settings = {
# Inspect window class with <Alt>F2 -> `lg`
# scratch_layer: true makes the window float above others
"org/gnome/shell/extensions/paperwm" = {
winprops = [
''{"wm_class":"dev.benz.walker","scratch_layer":true}''
''{"wm_class":"org.pulseaudio.pavucontrol","scratch_layer":true}''
''{"wm_class":"mpv","scratch_layer":true}''
''{"wm_class":"terminal-popup","scratch_layer":true}''
''{"wm_class":"fsearch","scratch_layer":true}''
''{"wm_class":"QQ","title":"","scratch_layer":true}''
''{"wm_class":"","title":"Floating Window - Show Me The Key","scratch_layer":true}''
];
};
"org/gnome/settings-daemon/plugins/media-keys" = {
screensaver = [""];
screensaver = ["<Alt><Super>i"];
};
"org/gnome/shell/extensions/paperwm/keybindings" = {
close-window = ["<Super>q"];

View file

@ -62,6 +62,7 @@
# Read clipboard into temp file
$PASTE_CMD > "$TMPFILE" || {
echo "Error: Failed to read from clipboard" >&2
notify-send --app-name "edit-clipboard" "Error: Failed to read from clipboard"
rm -f "$TMPFILE"
return 1
}

View file

@ -5,6 +5,8 @@
}: let
username = config.home.username;
in {
# Note: lollypop is buggy with CJK filenames.
# 部分 CJK 文字会显示成 ??,可能和文件的编码有关?而且似乎是 GTK4 都会GNOME 全家桶的音乐播放器也有这个问题
home.packages = with pkgs; [lollypop];
dconf.settings = {
"org/gnome/Lollypop" = {

View file

@ -267,6 +267,11 @@ in {
\twfduerhj\t1000
\thajimi\t1000
\twujcua\t1000
\tkaermjlvbo\t1000
\tjxuefa\t1000
\tugbybijc\t1000
\tblbybiai\t1000
\tlduddexwye\t1000
'';
# 词序有点问题10 也比默认词典的高,感觉得换成 user.dict.yaml
# 仏\tfo\t10