Conversation
The latest major version of rofi requires 'killall rofi' instead of 'pkill rofi'. Updated all occurrences to ensure proper termination of rofi processes.
📝 WalkthroughWalkthroughAdds one collaborator to CONTRIBUTORS.md and replaces multiple Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment Tip CodeRabbit can enforce grammar and style rules using `languagetool`.Configure the |
|
Who should I add as a reviewer for this PR? |
There was a problem hiding this comment.
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 rofiwithkillall rofiin keybindings configuration files - Updated shell scripts that toggle rofi menus to use
killallinstead ofpkill - 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.
There was a problem hiding this comment.
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.
|
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. |
|
Anyone? |
|
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! |
There was a problem hiding this comment.
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
📒 Files selected for processing (2)
Configs/.config/hypr/keybindings.confConfigs/.local/share/hyde/templates/hypr/keybindings.conf
🚧 Files skipped from review as they are similar to previous changes (1)
- Configs/.config/hypr/keybindings.conf
| 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 |
There was a problem hiding this comment.
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.
| 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".
| 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 |
There was a problem hiding this comment.
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.
| 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.
Pull Request
Description
Please read these instructions and remove unnecessary text.
Type of change
Please put an
xin the boxes that apply:Checklist
Please put an
xin the boxes that apply: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.
Summary by CodeRabbit
Refactor
Bug Fixes
Chores