From f662aca58cb694d8ef391f017a640ab564a0f6dc Mon Sep 17 00:00:00 2001 From: bbedward Date: Sun, 7 Dec 2025 20:59:46 -0500 Subject: [PATCH] dankinstall: replace grim+slurp+grimblast with dms --- core/internal/config/embedded/hyprland.conf | 9 ++-- core/internal/distros/base.go | 3 -- core/internal/distros/manual_packages.go | 60 --------------------- core/internal/dms/views_features.go | 2 +- 4 files changed, 4 insertions(+), 70 deletions(-) diff --git a/core/internal/config/embedded/hyprland.conf b/core/internal/config/embedded/hyprland.conf index 7723dde6..4c040390 100644 --- a/core/internal/config/embedded/hyprland.conf +++ b/core/internal/config/embedded/hyprland.conf @@ -281,12 +281,9 @@ binde = $mod SHIFT, minus, resizeactive, 0 -10% binde = $mod SHIFT, equal, resizeactive, 0 10% # === Screenshots === -bind = , XF86Launch1, exec, grimblast copy area -bind = CTRL, XF86Launch1, exec, grimblast copy screen -bind = ALT, XF86Launch1, exec, grimblast copy active -bind = , Print, exec, grimblast copy area -bind = CTRL, Print, exec, grimblast copy screen -bind = ALT, Print, exec, grimblast copy active +bind = , Print, exec, dms screenshot +bind = CTRL, Print, exec, dms screenshot full +bind = ALT, Print, exec, dms screenshot window # === System Controls === bind = $mod SHIFT, P, dpms, off diff --git a/core/internal/distros/base.go b/core/internal/distros/base.go index a2c8220c..b098fc7a 100644 --- a/core/internal/distros/base.go +++ b/core/internal/distros/base.go @@ -228,10 +228,7 @@ func (b *BaseDistribution) detectHyprlandTools() []deps.Dependency { name string description string }{ - {"grim", "Screenshot utility for Wayland"}, - {"slurp", "Region selection utility for Wayland"}, {"hyprctl", "Hyprland control utility"}, - {"grimblast", "Screenshot script for Hyprland"}, {"jq", "JSON processor"}, } diff --git a/core/internal/distros/manual_packages.go b/core/internal/distros/manual_packages.go index d7ffe60d..52d40382 100644 --- a/core/internal/distros/manual_packages.go +++ b/core/internal/distros/manual_packages.go @@ -62,10 +62,6 @@ func (m *ManualPackageInstaller) InstallManualPackages(ctx context.Context, pack if err := m.installDgop(ctx, sudoPassword, progressChan); err != nil { return fmt.Errorf("failed to install dgop: %w", err) } - case "grimblast": - if err := m.installGrimblast(ctx, sudoPassword, progressChan); err != nil { - return fmt.Errorf("failed to install grimblast: %w", err) - } case "niri": if err := m.installNiri(ctx, sudoPassword, progressChan); err != nil { return fmt.Errorf("failed to install niri: %w", err) @@ -166,62 +162,6 @@ func (m *ManualPackageInstaller) installDgop(ctx context.Context, sudoPassword s return nil } -func (m *ManualPackageInstaller) installGrimblast(ctx context.Context, sudoPassword string, progressChan chan<- InstallProgressMsg) error { - m.log("Installing grimblast script for Hyprland...") - - progressChan <- InstallProgressMsg{ - Phase: PhaseSystemPackages, - Progress: 0.1, - Step: "Downloading grimblast script...", - IsComplete: false, - CommandInfo: "curl grimblast script", - } - - grimblastURL := "https://raw.githubusercontent.com/hyprwm/contrib/refs/heads/main/grimblast/grimblast" - tmpPath := filepath.Join(os.TempDir(), "grimblast") - - downloadCmd := exec.CommandContext(ctx, "curl", "-L", "-o", tmpPath, grimblastURL) - if err := downloadCmd.Run(); err != nil { - m.logError("failed to download grimblast", err) - return fmt.Errorf("failed to download grimblast: %w", err) - } - - progressChan <- InstallProgressMsg{ - Phase: PhaseSystemPackages, - Progress: 0.5, - Step: "Making grimblast executable...", - IsComplete: false, - CommandInfo: "chmod +x grimblast", - } - - chmodCmd := exec.CommandContext(ctx, "chmod", "+x", tmpPath) - if err := chmodCmd.Run(); err != nil { - m.logError("failed to make grimblast executable", err) - return fmt.Errorf("failed to make grimblast executable: %w", err) - } - - progressChan <- InstallProgressMsg{ - Phase: PhaseSystemPackages, - Progress: 0.8, - Step: "Installing grimblast to /usr/local/bin...", - IsComplete: false, - NeedsSudo: true, - CommandInfo: "sudo cp grimblast /usr/local/bin/", - } - - installCmd := ExecSudoCommand(ctx, sudoPassword, - fmt.Sprintf("cp %s /usr/local/bin/grimblast", tmpPath)) - if err := installCmd.Run(); err != nil { - m.logError("failed to install grimblast", err) - return fmt.Errorf("failed to install grimblast: %w", err) - } - - os.Remove(tmpPath) - - m.log("grimblast installed successfully to /usr/local/bin") - return nil -} - func (m *ManualPackageInstaller) installNiri(ctx context.Context, sudoPassword string, progressChan chan<- InstallProgressMsg) error { m.log("Installing niri from source...") diff --git a/core/internal/dms/views_features.go b/core/internal/dms/views_features.go index eda4da67..b013267d 100644 --- a/core/internal/dms/views_features.go +++ b/core/internal/dms/views_features.go @@ -514,7 +514,7 @@ func (m Model) categorizeDependencies() map[string][]DependencyInfo { switch dep.Name { case "dms (DankMaterialShell)", "quickshell": categories["Shell"] = append(categories["Shell"], dep) - case "hyprland", "grim", "slurp", "hyprctl", "grimblast": + case "hyprland", "hyprctl": categories["Hyprland Components"] = append(categories["Hyprland Components"], dep) case "niri": categories["Niri Components"] = append(categories["Niri Components"], dep)