Skip to content

Fix/rofi kill command#1584

Open
naye2m wants to merge 4 commits intoHyDE-Project:devfrom
naye2m:fix/rofi-kill-command
Open

Fix/rofi kill command#1584
naye2m wants to merge 4 commits intoHyDE-Project:devfrom
naye2m:fix/rofi-kill-command

Conversation

@naye2m
Copy link

@naye2m naye2m commented Feb 3, 2026

Pull Request

Description

Please read these instructions and remove unnecessary text.

  • Try to include a summary of the changes and which issue is fixed.
  • Also include relevant motivation and context (if applicable).
  • Make sure to make PR against dev and not the master
  • List any dependencies that are required for this change. (e.g., packages or other PRs)
  • Provide a link if there is an issue related to this pull request. e.g., Fixes # (issue)
  • Please add Reviewers, Assignees, Labels, Projects, and Milestones to the PR. (if applicable)

Type of change

Please put an x in the boxes that apply:

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update (non-breaking change; modified files are limited to the documentations)
  • Technical debt (a code change that does not fix a bug or add a feature but makes something clearer for devs)
  • Other (provide details below)

Checklist

Please put an x in the boxes that apply:

  • I have read the CONTRIBUTING document.
  • My code follows the code style of this project.
  • My commit message follows the commit guidelines.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added a changelog entry.
  • I have added necessary comments/documentation to my code.
  • I have added tests to cover my changes.
  • I have tested my code locally and it works as expected. ( partially )
  • All new and existing tests passed.

Screenshots

(if appropriate)

Additional context

The new major version of rofi no longer works with 'pkill rofi'. that creates a bug
This PR updates all code to use 'killall rofi' to ensure compatibility.

  • Replaces all 'pkill rofi' commands with 'killall rofi'
  • Tested with rofi v2 on Linux

Summary by CodeRabbit

  • Refactor

    • Standardized launcher termination behavior across keybindings and launcher flows to make pre-launch cleanup consistent.
  • Bug Fixes

    • Improved reliability of launcher menus and gesture-triggered actions by making termination of existing launcher instances more consistent.
  • Chores

    • Added a new collaborator to the CONTRIBUTORS list.

The latest major version of rofi requires 'killall rofi' instead of
'pkill rofi'. Updated all occurrences to ensure proper termination
of rofi processes.
Copilot AI review requested due to automatic review settings February 3, 2026 23:59
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 3, 2026

📝 Walkthrough

Walkthrough

Adds one collaborator to CONTRIBUTORS.md and replaces multiple pkill invocations with killall for terminating rofi across Hypr/keybinding configs and related helper scripts; no other logic or command arguments were changed.

Changes

Cohort / File(s) Summary
Contributors
CONTRIBUTORS.md
Added new collaborator entry (naye2m).
Shell helper scripts
Configs/.local/lib/hyde/cliphist.sh, Configs/.local/lib/hyde/emoji-picker.sh, Configs/.local/lib/hyde/glyph-picker.sh, Configs/.local/lib/hyde/keybinds_hint.sh, Configs/.local/lib/hyde/rofilaunch.sh, Configs/.local/lib/hyde/wallbashtoggle.sh
Replaced pkill variants with killall (e.g., killall -u "$USER" rofi or killall rofi) to terminate rofi; other logic unchanged.
Hypr / gesture configs & templates
Configs/.config/hypr/keybindings.conf, Configs/.config/libinput-gestures.conf, Configs/.local/share/hyde/keybindings.conf, Configs/.local/share/hyde/templates/hypr/keybindings.conf
Swapped pkill -x rofi (and other pkill usages) for killall rofi in several Rofi-related binds and launcher lines; keybindings and invoked commands preserved.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Suggested reviewers

  • kRHYME7

Poem

🐇 I hopped in quick, a tiny name to sow,
Swapped pkill for killall — now rofi will go.
One line, one nibble, configs neat and small,
I twitch my nose and celebrate it all! 🥕

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Fix/rofi kill command' is specific and directly describes the main change—replacing rofi kill command implementations across the codebase.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

CodeRabbit can enforce grammar and style rules using `languagetool`.

Configure the reviews.tools.languagetool setting to enable/disable rules and categories. Refer to the LanguageTool Community to learn more.

@naye2m
Copy link
Author

naye2m commented Feb 4, 2026

Who should I add as a reviewer for this PR?

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request addresses a compatibility issue with rofi v2, which no longer works correctly with the pkill rofi command. The PR updates all instances of pkill rofi to killall rofi across configuration files and shell scripts to ensure proper functionality with the newer rofi version.

Changes:

  • Replaced pkill rofi with killall rofi in keybindings configuration files
  • Updated shell scripts that toggle rofi menus to use killall instead of pkill
  • Added contributor to CONTRIBUTORS.md

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
Configs/.local/share/hyde/templates/hypr/keybindings.conf Updated keybindings to use killall -x rofi instead of pkill -x rofi
Configs/.local/share/hyde/keybindings.conf Updated keybindings to use killall -x rofi instead of pkill -x rofi
Configs/.local/lib/hyde/wallbashtoggle.sh Changed rofi kill command from pkill -u "$USER" rofi to killall -u "$USER" rofi
Configs/.local/lib/hyde/rofilaunch.sh Changed rofi kill command from pkill rofi to killall rofi (with extra space)
Configs/.local/lib/hyde/keybinds_hint.sh Changed rofi kill command from pkill -x rofi to killall -x rofi
Configs/.local/lib/hyde/glyph-picker.sh Changed rofi kill command from pkill -u "$USER" rofi to killall -u "$USER" rofi
Configs/.local/lib/hyde/emoji-picker.sh Changed rofi kill command from pkill -u "$USER" rofi to killall -u "$USER" rofi
Configs/.local/lib/hyde/cliphist.sh Changed rofi kill command from pkill -u "$USER" rofi to killall -u "$USER" rofi
Configs/.config/libinput-gestures.conf Changed rofi kill command from pkill rofi to killall rofi (with extra space)
Configs/.config/hypr/keybindings.conf Updated keybindings to use killall -x rofi instead of pkill -x rofi
CONTRIBUTORS.md Added @naye2m to the contributors list

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@Configs/.local/lib/hyde/emoji-picker.sh`:
- Line 2: The script currently calls killall -u "$USER" rofi directly which
fails if psmisc isn't installed; update emoji-picker.sh to check for killall
availability (command -v killall) and use it if present, otherwise fall back to
pkill (command -v pkill) to terminate the rofi process (use the same -u "$USER"
semantics or equivalent pkill -u "$USER" -x rofi), and if neither exists, exit
with a safe no-op or an informative error; ensure the replacement preserves the
original behavior of exiting after a successful kill.

@github-actions
Copy link
Contributor

This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.

@naye2m
Copy link
Author

naye2m commented Mar 22, 2026

Anyone?

@kRHYME7
Copy link
Contributor

kRHYME7 commented Mar 22, 2026

Will test. Can you send the commit from rofi that renders pkill not to work? mine still works.

Also try to resolve/close comments from the bot. Thanks!

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Configs/.local/share/hyde/templates/hypr/keybindings.conf`:
- Around line 93-101: The keybindings call killall which prints "no process
found" when rofi isn't running; update each affected bindd command (e.g., the
rofi-launch variants referenced in bindd lines like the application finder,
window switcher, file finder, keybindings hint, emoji picker, glyph picker,
clipboard, clipboard manager, and select rofi launcher) to add the -q flag to
killall (use killall -q rofi) so the toggle remains silent when rofi is not
running; ensure every occurrence of "killall rofi" in those bindd entries is
replaced with "killall -q rofi".
- Around line 143-149: The killall calls in the keybindings entries (lines
containing "killall rofi || hyde-shell ..." such as the bindd entries for
wallpaper select, wallbash mode, theme select, animations select, and hyprlock
layout) should include the -q flag to suppress stderr when rofi is not running;
update each "killall rofi || hyde-shell ..." occurrence to "killall -q rofi ||
hyde-shell ..." so the fallback hyde-shell command still runs but noisy errors
are suppressed.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2c2fe483-0a4f-4664-b215-60f0129b253a

📥 Commits

Reviewing files that changed from the base of the PR and between a70a26a and 5daf6bb.

📒 Files selected for processing (2)
  • Configs/.config/hypr/keybindings.conf
  • Configs/.local/share/hyde/templates/hypr/keybindings.conf
🚧 Files skipped from review as they are similar to previous changes (1)
  • Configs/.config/hypr/keybindings.conf

Comment on lines +93 to +101
bindd = $mainMod, A, $d application finder , exec, killall rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, killall rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, killall rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, killall rofi || hyde-shell keybinds_hint c # launch keybinds hint
bindd = $mainMod, comma, $d emoji picker , exec, killall rofi || hyde-shell emoji-picker # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, killall rofi || hyde-shell glyph-picker # launch glyph picker
bindd = $mainMod, V, $d clipboard , exec, killall rofi || hyde-shell cliphist -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, killall rofi || hyde-shell cliphist # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, killall rofi || hyde-shell rofiselect # launch select menu
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Add -q flag to suppress error messages when rofi isn't running.

killall prints "rofi: no process found" to stderr when no matching process exists, whereas pkill -x is silent by default. Since these keybinds toggle rofi (kill if running, launch if not), users will see error messages on every launch. Use killall -q rofi to maintain silent operation.

Proposed fix
-bindd = $mainMod, A, $d application finder , exec, killall rofi || $rofi-launch d
-bindd = $mainMod, TAB, $d window switcher , exec, killall rofi || $rofi-launch w
-bindd = $mainMod Shift, E, $d file finder , exec, killall rofi || $rofi-launch f
-bindd = $mainMod, slash, $d keybindings hint, exec, killall rofi || hyde-shell keybinds_hint c # launch keybinds hint
-bindd = $mainMod, comma, $d emoji  picker , exec, killall rofi || hyde-shell emoji-picker # launch emoji picker
-bindd = $mainMod, period, $d glyph picker , exec, killall rofi || hyde-shell glyph-picker # launch glyph picker
-bindd = $mainMod, V, $d clipboard ,  exec, killall rofi || hyde-shell cliphist -c # launch clipboard,
-bindd = $mainMod Shift, V, $d clipboard manager , exec, killall rofi || hyde-shell cliphist # launch clipboard Manager
-bindd = $mainMod Shift, A, $d select rofi launcher , exec, killall rofi || hyde-shell rofiselect # launch select menu
+bindd = $mainMod, A, $d application finder , exec, killall -q rofi || $rofi-launch d
+bindd = $mainMod, TAB, $d window switcher , exec, killall -q rofi || $rofi-launch w
+bindd = $mainMod Shift, E, $d file finder , exec, killall -q rofi || $rofi-launch f
+bindd = $mainMod, slash, $d keybindings hint, exec, killall -q rofi || hyde-shell keybinds_hint c # launch keybinds hint
+bindd = $mainMod, comma, $d emoji  picker , exec, killall -q rofi || hyde-shell emoji-picker # launch emoji picker
+bindd = $mainMod, period, $d glyph picker , exec, killall -q rofi || hyde-shell glyph-picker # launch glyph picker
+bindd = $mainMod, V, $d clipboard ,  exec, killall -q rofi || hyde-shell cliphist -c # launch clipboard,
+bindd = $mainMod Shift, V, $d clipboard manager , exec, killall -q rofi || hyde-shell cliphist # launch clipboard Manager
+bindd = $mainMod Shift, A, $d select rofi launcher , exec, killall -q rofi || hyde-shell rofiselect # launch select menu
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
bindd = $mainMod, A, $d application finder , exec, killall rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, killall rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, killall rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, killall rofi || hyde-shell keybinds_hint c # launch keybinds hint
bindd = $mainMod, comma, $d emoji picker , exec, killall rofi || hyde-shell emoji-picker # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, killall rofi || hyde-shell glyph-picker # launch glyph picker
bindd = $mainMod, V, $d clipboard , exec, killall rofi || hyde-shell cliphist -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, killall rofi || hyde-shell cliphist # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, killall rofi || hyde-shell rofiselect # launch select menu
bindd = $mainMod, A, $d application finder , exec, killall -q rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, killall -q rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, killall -q rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, killall -q rofi || hyde-shell keybinds_hint c # launch keybinds hint
bindd = $mainMod, comma, $d emoji picker , exec, killall -q rofi || hyde-shell emoji-picker # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, killall -q rofi || hyde-shell glyph-picker # launch glyph picker
bindd = $mainMod, V, $d clipboard , exec, killall -q rofi || hyde-shell cliphist -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, killall -q rofi || hyde-shell cliphist # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, killall -q rofi || hyde-shell rofiselect # launch select menu
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Configs/.local/share/hyde/templates/hypr/keybindings.conf` around lines 93 -
101, The keybindings call killall which prints "no process found" when rofi
isn't running; update each affected bindd command (e.g., the rofi-launch
variants referenced in bindd lines like the application finder, window switcher,
file finder, keybindings hint, emoji picker, glyph picker, clipboard, clipboard
manager, and select rofi launcher) to add the -q flag to killall (use killall -q
rofi) so the toggle remains silent when rofi is not running; ensure every
occurrence of "killall rofi" in those bindd entries is replaced with "killall -q
rofi".

Comment on lines +143 to +149
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, killall rofi || hyde-shell wallpaper -SG # launch wallpaper select menu
bindd = $mainMod Alt, Up, $d next waybar layout , exec, hyde-shell wbarconfgen n # next waybar mode
bindd = $mainMod Alt, Down, $d previous waybar layout , exec, hyde-shell wbarconfgen p # previous waybar mode
bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || hyde-shell themeselect # launch theme select menu
bindd = $mainMod+Shift, Y, $d select animations, exec, pkill -x rofi || hyde-shell animations --select # launch animations select menu
bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, pkill -x rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
bindd = $mainMod Shift, R, $d wallbash mode selector , exec, killall rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
bindd = $mainMod Shift, T, $d select a theme, exec, killall rofi || hyde-shell themeselect # launch theme select menu
bindd = $mainMod+Shift, Y, $d select animations, exec, killall rofi || hyde-shell animations --select # launch animations select menu
bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, killall rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Same issue: Add -q flag here as well.

Apply the same -q flag to these killall rofi calls to suppress stderr noise.

Proposed fix
-bindd = $mainMod Shift, W, $d select a global wallpaper , exec, killall rofi || hyde-shell wallpaper -SG # launch wallpaper select menu
+bindd = $mainMod Shift, W, $d select a global wallpaper , exec, killall -q rofi || hyde-shell wallpaper -SG # launch wallpaper select menu
-bindd = $mainMod Shift, R, $d wallbash mode selector , exec, killall rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
-bindd = $mainMod Shift, T, $d select a theme, exec, killall rofi || hyde-shell themeselect # launch theme select menu
-bindd = $mainMod+Shift, Y, $d select animations, exec, killall rofi || hyde-shell animations --select # launch animations select menu
-bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, killall rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
+bindd = $mainMod Shift, R, $d wallbash mode selector , exec, killall -q rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
+bindd = $mainMod Shift, T, $d select a theme, exec, killall -q rofi || hyde-shell themeselect # launch theme select menu
+bindd = $mainMod+Shift, Y, $d select animations, exec, killall -q rofi || hyde-shell animations --select # launch animations select menu
+bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, killall -q rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, killall rofi || hyde-shell wallpaper -SG # launch wallpaper select menu
bindd = $mainMod Alt, Up, $d next waybar layout , exec, hyde-shell wbarconfgen n # next waybar mode
bindd = $mainMod Alt, Down, $d previous waybar layout , exec, hyde-shell wbarconfgen p # previous waybar mode
bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || hyde-shell themeselect # launch theme select menu
bindd = $mainMod+Shift, Y, $d select animations, exec, pkill -x rofi || hyde-shell animations --select # launch animations select menu
bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, pkill -x rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
bindd = $mainMod Shift, R, $d wallbash mode selector , exec, killall rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
bindd = $mainMod Shift, T, $d select a theme, exec, killall rofi || hyde-shell themeselect # launch theme select menu
bindd = $mainMod+Shift, Y, $d select animations, exec, killall rofi || hyde-shell animations --select # launch animations select menu
bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, killall rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, killall -q rofi || hyde-shell wallpaper -SG # launch wallpaper select menu
bindd = $mainMod Alt, Up, $d next waybar layout , exec, hyde-shell wbarconfgen n # next waybar mode
bindd = $mainMod Alt, Down, $d previous waybar layout , exec, hyde-shell wbarconfgen p # previous waybar mode
bindd = $mainMod Shift, R, $d wallbash mode selector , exec, killall -q rofi || hyde-shell wallbashtoggle -m # launch wallbash mode select menu
bindd = $mainMod Shift, T, $d select a theme, exec, killall -q rofi || hyde-shell themeselect # launch theme select menu
bindd = $mainMod+Shift, Y, $d select animations, exec, killall -q rofi || hyde-shell animations --select # launch animations select menu
bindd = $mainMod+Shift, U, $d select hyprlock layout, exec, killall -q rofi || hyde-shell hyprlock --select # launch hyprlock layout select menu
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Configs/.local/share/hyde/templates/hypr/keybindings.conf` around lines 143 -
149, The killall calls in the keybindings entries (lines containing "killall
rofi || hyde-shell ..." such as the bindd entries for wallpaper select, wallbash
mode, theme select, animations select, and hyprlock layout) should include the
-q flag to suppress stderr when rofi is not running; update each "killall rofi
|| hyde-shell ..." occurrence to "killall -q rofi || hyde-shell ..." so the
fallback hyde-shell command still runs but noisy errors are suppressed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants