Compare commits

...

2 Commits

Author SHA1 Message Date
0d3f17c1aa Add mouse ungrab functionality 2026-06-09 15:46:43 -04:00
8560eff3ac Added autostart for xf86ungrab 2026-06-09 15:35:58 -04:00
6 changed files with 71 additions and 1 deletions

View File

@@ -0,0 +1,4 @@
[Desktop Entry]
Type=Application
Name=Enable X keyboard grab break actions
Exec=sh -c "sleep 10; exec setxkbmap -option grab:break_actions"

View File

@@ -0,0 +1,10 @@
[Desktop Entry]
Type=Application
Exec=xscreensaver -nosplash
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=XScreenSaver
Name=XScreenSaver
Comment[en_US]=
Comment=

40
bin/test-mouse-grab.py Executable file
View File

@@ -0,0 +1,40 @@
#!/usr/bin/env python3
import tkinter as tk
def release_and_exit(event=None):
try:
root.grab_release()
except tk.TclError:
# The XKB grab-breaking action may already have released the grab.
pass
root.destroy()
def grab_mouse():
root.grab_set_global()
status.config(text="Mouse grabbed. Test the XKB ungrab action.")
grab_button.config(state=tk.DISABLED)
root = tk.Tk()
root.title("Mouse Grab Test")
root.geometry("420x140")
root.protocol("WM_DELETE_WINDOW", release_and_exit)
root.bind("<Escape>", release_and_exit)
status = tk.Label(
root,
text="Click the button to globally grab the mouse.",
padx=20,
pady=20,
)
status.pack()
grab_button = tk.Button(root, text="Grab mouse", command=grab_mouse)
grab_button.pack()
tk.Label(root, text="Press Escape to release the grab and exit.").pack(pady=10)
root.mainloop()

View File

@@ -1,4 +1,4 @@
model = "gpt-5.4"
model = "gpt-5.5"
model_reasoning_effort = "medium"
[sandbox_workspace_write]
@@ -11,8 +11,15 @@ trust_level = "trusted"
[projects."/home/jyelon/pacman"]
trust_level = "trusted"
[projects."/home/jyelon/jbashrc"]
trust_level = "trusted"
[projects."/home/jyelon"]
trust_level = "trusted"
[notice.model_migrations]
"gpt-5.3-codex" = "gpt-5.4"
"gpt-5.4" = "gpt-5.5"
[tui.model_availability_nux]
"gpt-5.5" = 3

View File

@@ -4,3 +4,9 @@ prefix_rule(pattern=["sed", "-n"], decision="allow")
prefix_rule(pattern=["nl", "-ba", "Source/Integration/SlashCommand.cpp"], decision="allow")
prefix_rule(pattern=["nl", "-ba", "Source/Integration/SlashCommand.h"], decision="allow")
prefix_rule(pattern=["perl", "-0pi", "-e", "s/\\n\\tif \\(Token\\.Equals\\(Literal, ESearchCase::IgnoreCase\\)\\)\\n\\t\\{\\n\\t\\tKnownCommand = true;\\n\\t\\treturn ElxSuccessOrError::Success;\\n\\t\\}/\\n\\tif \\(Token\\.Equals\\(Literal, ESearchCase::IgnoreCase\\)\\)\\n\\t\\{\\n\\t\\treturn ElxSuccessOrError::Success;\\n\\t\\}/", "Source/Integration/SlashCommand.cpp"], decision="allow")
prefix_rule(pattern=["nl", "-ba", "Source/Integration/ReadSlashCommand.cpp"], decision="allow")
prefix_rule(pattern=["rg", "-n", "FindFunctionByName\\(TEXT\\(\\\"Read|CheckCommand|ExpandNode\\(", "Source/Integration"], decision="allow")
prefix_rule(pattern=["nl", "-ba", "Source/Integration/LuprexK2Node.cpp"], decision="allow")
prefix_rule(pattern=["sed", "-n", "48,100p"], decision="allow")
prefix_rule(pattern=["rg", "-n", "CopyPinLinksToIntermediate\\(\\*.*\\*.*PN_Self|CopyPinLinksToIntermediate\\(", "Source/Integration"], decision="allow")
prefix_rule(pattern=["nl", "-ba", "Source/Integration/FormatMessage.cpp"], decision="allow")

View File

@@ -31,6 +31,8 @@ def install(src, dst):
install("bash/dot-bashrc", "~/.bashrc")
install("bash/dot-profile", "~/.profile")
install("autostart/setxkbmap-grab-break-actions.desktop", "~/.config/autostart/setxkbmap-grab-break-actions.desktop")
install("autostart/xscreensaver.desktop", "~/.config/autostart/xscreensaver.desktop")
install("claude/CLAUDE.md", "~/.claude/CLAUDE.md")
install("claude/settings.json", "~/.claude/settings.json")
install("claude/integration-memory", "~/.claude/projects/-home-jyelon-integration/memory")
@@ -46,3 +48,4 @@ install("kwalletd/kdewallet.kwl.blank", "~/.local/share/kwalletd/kdewallet.kwl.b
install("kwalletd/kdewallet.salt.blank", "~/.local/share/kwalletd/kdewallet.salt.blank")
install("ssh/config", "~/.ssh/config")
install("bin/clean-vscode.sh", "~/bin/clean-vscode.sh")
install("bin/test-mouse-grab.py", "~/bin/test-mouse-grab.py")