about summary refs log tree commit diff
diff options
context:
space:
mode:
authorVincent Ambo <tazjin@tvl.su>2024-08-28T11·53+0300
committertazjin <tazjin@tvl.su>2024-08-30T18·05+0000
commit06f03b4518360539c0fbee00b9b9750b0710b6bd (patch)
tree98e0f67c258016addea339819eefc90c9aec18b6
parent91e76a90a0adcc143cab33aeb343d4f6b0662a66 (diff)
feat(eaglemode/emacsclient): use actual Emacs icon for command r/8621
Adds a new function that converts anything to a TGA image (imagemagick really is
magic), with which arbitrary icons can be converted.

This is demoed with the emacsclient command, which just takes the icon out of
the Emacs package tree.

Change-Id: I771bafed7b07a37c847bd07db986228b9fda60a0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12374
Autosubmit: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Reviewed-by: azahi <azat@bahawi.net>
Reviewed-by: tazjin <tazjin@tvl.su>
-rw-r--r--tools/eaglemode/commands/emacsclient.nix7
-rw-r--r--tools/eaglemode/default.nix5
2 files changed, 11 insertions, 1 deletions
diff --git a/tools/eaglemode/commands/emacsclient.nix b/tools/eaglemode/commands/emacsclient.nix
index d5aacd137fdc..bac3674120ee 100644
--- a/tools/eaglemode/commands/emacsclient.nix
+++ b/tools/eaglemode/commands/emacsclient.nix
@@ -1,8 +1,13 @@
 { depot, pkgs, ... }:
 
-depot.tools.eaglemode.mkCommand {
+let
+  em = depot.tools.eaglemode;
+  icon = em.mkTGA "emacs" "${pkgs.emacs}/share/icons/hicolor/128x128/apps/emacs.png";
+in
+em.mkCommand {
   name = "Emacsclient";
   hotkey = "Ctrl+E";
+  icon = "${icon}";
 
   description = ''
     Open target in Emacsclient.
diff --git a/tools/eaglemode/default.nix b/tools/eaglemode/default.nix
index eade62c02898..0b0c0caa8ba8 100644
--- a/tools/eaglemode/default.nix
+++ b/tools/eaglemode/default.nix
@@ -63,6 +63,11 @@ rec {
     '')
   );
 
+  # mkTGA converts the given image to a TGA image.
+  mkTGA = name: path: pkgs.runCommand "${name}.tga" { } ''
+    ${pkgs.imagemagick}/bin/convert ${path} $out
+  '';
+
   # etcDir creates a directory layout suitable for use in the EM_USER_CONFIG_DIR
   # environment variable.
   #