mirror of
https://github.com/outbackdingo/hyprcosmic.git
synced 2026-08-25 14:53:21 +00:00
tools/verify-hypr-ipc.py exercises the fork's Hyprland IPC the way a client reaches it, which the compositor's own log cannot show you. It checks the socket names, that the five read commands answer JSON, that `bogus`, `dispatch exec rofi`, `dispatch killactive`, `dispatch workspace +1` and `dispatch workspace 0` are all refused, and that a real switch returns `ok`. It moves the focused workspace, so it returns to the one you started on. It is a validated negative test, not a hopeful one: run against the old compositor before the socket rename was installed, it failed on the names and exited 1. docs/unreproducible-dead-input-2026-08-10.md records the session that came up with no keyboard or pointer at all, and did not come back after a reboot. It is closed deliberately rather than fixed, and most of its value is the list of things it is not -- the fork's patches, `seats.for_device()` returning None, the modifier-only Super binding, a shortcuts-config race, and two scary log lines that stock COSMIC prints too. The one suspicious fact is that it was the fourth compositor start on that boot. If it recurs, there is a list of what to collect before rebooting destroys it. The design spec said `.socket` and `.socket2`; corrected to the names clients actually open. cosmic.conf's bare-Super binding gets a comment saying why the key field is empty, since an empty field in a `bind` line reads like a typo. COSMIC supports modifier-only bindings and Hyprland's `bind` cannot express one.
45 lines
2.1 KiB
Plaintext
45 lines
2.1 KiB
Plaintext
# HyprCosmic configuration, in Hyprland's idiom.
|
|
#
|
|
# Compiled into COSMIC's config tree by `cosmic-conf apply`. The file wins:
|
|
# every key here overwrites whatever COSMIC's own settings UI last stored, so
|
|
# edit this rather than the GUI for anything it covers.
|
|
|
|
# --- Theme --------------------------------------------------------------
|
|
#
|
|
# `cosmic-conf import-theme <theme>/hypr.theme --out ~/.config/hyprcosmic/theme.conf`
|
|
# turns a HyDE theme into conf keys. Sourcing it rather than pasting it in
|
|
# keeps the two apart: re-importing overwrites theme.conf and cannot touch the
|
|
# keybindings below, and anything you want to override can simply be repeated
|
|
# later in this file, since the last assignment to a key wins.
|
|
#
|
|
# Commented out because a `source` pointing at a file that does not exist is a
|
|
# hard error, and no theme is imported yet. Uncomment it once you have run the
|
|
# command above -- import-theme will remind you.
|
|
#
|
|
# source = ~/.config/hyprcosmic/theme.conf
|
|
|
|
$mainMod = SUPER
|
|
|
|
# --- Launcher -----------------------------------------------------------
|
|
#
|
|
# The hyprcosmic profile does not start cosmic-launcher or cosmic-app-library,
|
|
# which leaves COSMIC's stock Super, Super+/ and Super+A bindings pointing at
|
|
# nothing. These take them over with rofi. Written to the Shortcuts `custom`
|
|
# key, which cosmic-comp merges over `defaults`, so the system file is not
|
|
# touched and reverting is a matter of deleting these lines and re-applying.
|
|
|
|
# Tap Super on its own to open the launcher.
|
|
# The key field is deliberately empty: COSMIC supports
|
|
# modifier-only bindings, which Hyprland's `bind` cannot express.
|
|
bind = $mainMod, , exec, rofi -show drun
|
|
bind = $mainMod, slash, exec, rofi -show drun
|
|
bind = $mainMod, A, exec, rofi -show drun
|
|
|
|
# Was System(WorkspaceOverview); cosmic-workspaces is not running either.
|
|
# rofi's window mode is the nearest thing that still shows every open window.
|
|
bind = $mainMod, W, exec, rofi -show window
|
|
|
|
# Terminal, in the Hyprland idiom. Super+T also still works — cosmic-comp
|
|
# handles System(Terminal) itself, so that binding never went dead.
|
|
bind = $mainMod, Return, exec, cosmic-term
|