This commit is contained in:
@@ -12,44 +12,216 @@ import (
|
||||
)
|
||||
|
||||
var systemAllowed = map[string]bool{
|
||||
"gnome-shell": true,
|
||||
"mutter": true,
|
||||
"xterm": true,
|
||||
"gnome-terminal": true,
|
||||
"konsole": true,
|
||||
"ptyxis": true, // Ubuntu terminal
|
||||
"bash": true,
|
||||
"zsh": true,
|
||||
"sh": true,
|
||||
"wails": true,
|
||||
"code": true,
|
||||
"cursor": true,
|
||||
"windsurf": true,
|
||||
"goland": true,
|
||||
"idea": true,
|
||||
"client": true,
|
||||
"simple_care_v1.0": true,
|
||||
"xwayland": true,
|
||||
"mutter-x11-fram": true,
|
||||
"ibus-x11": true,
|
||||
"ibus-daemon": true,
|
||||
"gsd-": true, // prefix
|
||||
"ibus-": true, // prefix
|
||||
"xdg-": true, // prefix
|
||||
"at-spi": true, // prefix
|
||||
"evolution-": true, // prefix
|
||||
"goa-daemon": true,
|
||||
"gjs": true,
|
||||
"snapd-": true, // prefix
|
||||
"systemd": true,
|
||||
"webkit": true, // WebKit subprocesses
|
||||
"glycin": true, // GNOME image helper
|
||||
"zenity": true, // Dialog utility
|
||||
"rustdesk": true, // Remote support safety
|
||||
"rustdesk-bin": true,
|
||||
"anydesk": true,
|
||||
"teamviewer": true,
|
||||
"remmina": true,
|
||||
// ── Display servers / Compositors ─────────────────────────────────────────
|
||||
"gnome-shell": true,
|
||||
"mutter": true,
|
||||
"mutter-x11-fram": true, // prefix match too
|
||||
"xwayland": true,
|
||||
"xorg": true,
|
||||
"Xorg": true,
|
||||
"x11": true,
|
||||
"kwin_wayland": true, // KDE compositor
|
||||
"kwin_x11": true,
|
||||
"plasmashell": true, // KDE Plasma shell
|
||||
"hyprland": true, // Hyprland Wayland compositor
|
||||
"sway": true, // Sway compositor
|
||||
"wayfire": true, // Wayfire compositor
|
||||
"river": true, // River compositor
|
||||
"labwc": true, // LabWC compositor
|
||||
"openbox": true,
|
||||
"i3": true,
|
||||
"i3bar": true,
|
||||
"awesome": true,
|
||||
"bspwm": true,
|
||||
"xfwm4": true,
|
||||
"marco": true, // MATE wm
|
||||
"compiz": true,
|
||||
"picom": true,
|
||||
"compton": true,
|
||||
|
||||
// ── Wayland session tools ─────────────────────────────────────────────────
|
||||
"wl-paste": true,
|
||||
"wl-copy": true,
|
||||
"wlr-randr": true,
|
||||
"kanshi": true, // output manager
|
||||
"wlsunset": true,
|
||||
"gammastep": true,
|
||||
"swaylock": true,
|
||||
"swayidle": true,
|
||||
"swaybg": true,
|
||||
"swaync": true, // SwayNotificationCenter
|
||||
"waybar": true, // Wayland statusbar
|
||||
"eww": true, // ElKowar's wacky widgets
|
||||
"ags": true, // Aylur's GTK Shell
|
||||
"rofi": true, // app launcher (used in many WMs)
|
||||
"wofi": true, // Wayland rofi
|
||||
"fuzzel": true, // Wayland launcher
|
||||
"tofi": true,
|
||||
"dmenu": true,
|
||||
"bemenu": true,
|
||||
|
||||
// ── Session / Login managers ──────────────────────────────────────────────
|
||||
"gdm": true,
|
||||
"gdm3": true,
|
||||
"sddm": true,
|
||||
"lightdm": true,
|
||||
"lxdm": true,
|
||||
"slim": true,
|
||||
"greetd": true,
|
||||
"gnome-session": true,
|
||||
"gnome-session-bi": true, // prefix matches binary
|
||||
"lxsession": true,
|
||||
"startx": true,
|
||||
"xinit": true,
|
||||
|
||||
// ── Terminals ─────────────────────────────────────────────────────────────
|
||||
"xterm": true,
|
||||
"gnome-terminal": true,
|
||||
"gnome-terminal-": true, // prefix for server process
|
||||
"ptyxis": true,
|
||||
"konsole": true,
|
||||
"kitty": true,
|
||||
"alacritty": true,
|
||||
"wezterm": true,
|
||||
"wezterm-gui": true,
|
||||
"foot": true,
|
||||
"xfce4-terminal": true,
|
||||
"tilix": true,
|
||||
"terminator": true,
|
||||
"urxvt": true,
|
||||
"rxvt": true,
|
||||
"sakura": true,
|
||||
"st": true,
|
||||
|
||||
// ── Shells ────────────────────────────────────────────────────────────────
|
||||
"bash": true,
|
||||
"zsh": true,
|
||||
"sh": true,
|
||||
"fish": true,
|
||||
"dash": true,
|
||||
"ksh": true,
|
||||
|
||||
// ── Input methods (critical — killing these breaks Vietnamese typing) ─────
|
||||
"ibus-daemon": true,
|
||||
"ibus-x11": true,
|
||||
"ibus-": true, // prefix: ibus-extension-, ibus-portal, ibus-engine-...
|
||||
"fcitx5": true,
|
||||
"fcitx": true,
|
||||
"fcitx-": true, // prefix
|
||||
"uim": true,
|
||||
"scim": true,
|
||||
"sogou-qimpanel": true,
|
||||
"gcin": true,
|
||||
"kimpanel": true,
|
||||
|
||||
// ── GNOME core services ───────────────────────────────────────────────────
|
||||
"gjs": true,
|
||||
"gsd-": true, // prefix: gsd-keyboard, gsd-media-keys, gsd-power, gsd-color...
|
||||
"goa-daemon": true,
|
||||
"goa-identity-ser": true,
|
||||
"evolution-": true, // prefix: evolution-calendar, evolution-addressbook...
|
||||
"gnome-keyring-d": true,
|
||||
"gnome-keyring": true,
|
||||
"polkit-gnome-au": true,
|
||||
"polkitd": true,
|
||||
"gnome-settings-d": true,
|
||||
"gnome-initial-se": true,
|
||||
"gnome-control-ce": true,
|
||||
"gvfsd": true,
|
||||
"gvfsd-": true, // prefix
|
||||
"tracker-miner-": true, // prefix
|
||||
"tracker3": true,
|
||||
"zeitgeist": true,
|
||||
"zeitgeist-": true,
|
||||
"accounts-daemon": true,
|
||||
"colord": true,
|
||||
"power-profiles-": true,
|
||||
"fprintd": true,
|
||||
"fwupd": true,
|
||||
"udisksd": true,
|
||||
"upowerd": true,
|
||||
"packagekitd": true,
|
||||
"nm-dispatcher": true,
|
||||
|
||||
// ── D-Bus / XDG / AT-SPI ─────────────────────────────────────────────────
|
||||
"xdg-": true, // prefix: xdg-desktop-portal, xdg-permission-store...
|
||||
"at-spi": true, // prefix
|
||||
"at-spi-bus-laun": true,
|
||||
"at-spi2-registr": true,
|
||||
"dbus-daemon": true,
|
||||
"dbus-launch": true,
|
||||
|
||||
// ── System services (often have GTK tray icons) ───────────────────────────
|
||||
"systemd": true, // prefix match handles systemd-*
|
||||
"snapd-": true, // prefix
|
||||
"snapd": true,
|
||||
|
||||
// ── Network/Bluetooth tray (critical for connectivity UI) ─────────────────
|
||||
"nm-applet": true, // NetworkManager tray — if killed, students lose wifi UI
|
||||
"nm-tray": true,
|
||||
"network-manager-": true, // prefix
|
||||
"blueman-applet": true, // Bluetooth tray — kills BT management
|
||||
"blueman-tray": true,
|
||||
"blueman-manager": true,
|
||||
"kdeconnectd": true, // KDE Connect daemon
|
||||
"kdeconnect-indi": true, // KDE Connect indicator
|
||||
|
||||
// ── Notification daemons ──────────────────────────────────────────────────
|
||||
"dunst": true,
|
||||
"mako": true,
|
||||
"notify-osd": true,
|
||||
"xfce4-notifyd": true,
|
||||
"fnott": true,
|
||||
|
||||
// ── Polkit authentication agents ─────────────────────────────────────────
|
||||
"lxqt-policykit-": true,
|
||||
"xfce-polkit": true,
|
||||
"mate-polkit": true,
|
||||
"pkttyagent": true,
|
||||
|
||||
// ── Clipboard managers (killing breaks copy/paste) ────────────────────────
|
||||
"copyq": true,
|
||||
"clipit": true,
|
||||
"xclip": true,
|
||||
"xsel": true,
|
||||
"clipman": true,
|
||||
"greenclip": true,
|
||||
|
||||
// ── GTK/GNOME image helpers ───────────────────────────────────────────────
|
||||
"glycin": true,
|
||||
"zenity": true,
|
||||
"yad": true,
|
||||
"kdialog": true,
|
||||
|
||||
// ── Screensaver / Lock ────────────────────────────────────────────────────
|
||||
"gnome-screensave": true,
|
||||
"xscreensaver": true,
|
||||
"xlock": true,
|
||||
"i3lock": true,
|
||||
|
||||
// ── WebKit subprocesses (used by many GTK apps) ───────────────────────────
|
||||
"webkit": true, // prefix
|
||||
"webkit2gtk": true,
|
||||
"WebKitWebProcess": true,
|
||||
"WebKitNetworkPro": true, // prefix
|
||||
|
||||
// ── Remote support tools (safety) ────────────────────────────────────────
|
||||
"rustdesk": true,
|
||||
"rustdesk-bin": true,
|
||||
"anydesk": true,
|
||||
"teamviewer": true,
|
||||
"remmina": true,
|
||||
|
||||
// ── Our app + dev tools ───────────────────────────────────────────────────
|
||||
"wails": true,
|
||||
"code": true,
|
||||
"cursor": true,
|
||||
"windsurf": true,
|
||||
"goland": true,
|
||||
"idea": true,
|
||||
"client": true,
|
||||
"simple_care_v1.0": true,
|
||||
"simple_care": true,
|
||||
}
|
||||
|
||||
func isSystemAllowed(name string) bool {
|
||||
|
||||
Reference in New Issue
Block a user