|
12 | 12 | setterm blank 0 |
13 | 13 | setterm powerdown 0 |
14 | 14 |
|
| 15 | +# Setup permissive clipboard rules |
| 16 | +KWIN_RULES_FILE="$HOME/.config/kwinrulesrc" |
| 17 | +RULE_DESC="wl-clipboard support" |
| 18 | +if ! grep -q "$RULE_DESC" "$KWIN_RULES_FILE" 2>/dev/null; then |
| 19 | + echo "Applying KWin clipboard rule..." |
| 20 | + if command -v uuidgen &> /dev/null; then |
| 21 | + RULE_ID=$(uuidgen) |
| 22 | + else |
| 23 | + RULE_ID=$(cat /proc/sys/kernel/random/uuid) |
| 24 | + fi |
| 25 | + count=$(kreadconfig6 --file "$KWIN_RULES_FILE" --group General --key count --default 0) |
| 26 | + new_count=$((count + 1)) |
| 27 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group General --key count "$new_count" |
| 28 | + existing_rules=$(kreadconfig6 --file "$KWIN_RULES_FILE" --group General --key rules) |
| 29 | + if [ -z "$existing_rules" ]; then |
| 30 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group General --key rules "$RULE_ID" |
| 31 | + else |
| 32 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group General --key rules "$existing_rules,$RULE_ID" |
| 33 | + fi |
| 34 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key Description "$RULE_DESC" |
| 35 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key wmclass "wl-(copy|paste)" |
| 36 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key wmclassmatch 3 |
| 37 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key skiptaskbar --type bool "true" |
| 38 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key skiptaskbarrule 2 |
| 39 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key skipswitcher --type bool "true" |
| 40 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key skipswitcherrule 2 |
| 41 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key fsplevel 3 |
| 42 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key fsplevelrule 2 |
| 43 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key noborder --type bool "true" |
| 44 | + kwriteconfig6 --file "$KWIN_RULES_FILE" --group "$RULE_ID" --key noborderrule 2 |
| 45 | +fi |
| 46 | + |
15 | 47 | # Directories |
16 | 48 | sudo rm -f /usr/share/dbus-1/system-services/org.freedesktop.UDisks2.service |
17 | 49 | mkdir -p "${HOME}/.config/autostart" "${HOME}/.XDG" "${HOME}/.local/share/" |
@@ -43,9 +75,11 @@ if [ ! -f "${STARTUP_FILE}" ]; then |
43 | 75 | fi |
44 | 76 |
|
45 | 77 | # Setup application DB |
46 | | -sudo mv \ |
47 | | - /etc/xdg/menus/plasma-applications.menu \ |
48 | | - /etc/xdg/menus/applications.menu |
| 78 | +if [ ! -f "/etc/xdg/menus/applications.menu" ]; then |
| 79 | + sudo mv \ |
| 80 | + /etc/xdg/menus/plasma-applications.menu \ |
| 81 | + /etc/xdg/menus/applications.menu |
| 82 | +fi |
49 | 83 | kbuildsycoca6 |
50 | 84 |
|
51 | 85 | # Export variables globally so all children inherit them |
|
0 commit comments