Удалить границу окна в макете монокля dwm

Это становится намного проще, если вы просматриваете файл в обратном порядке. К счастью, вы можете легко сделать это с помощью tac(, который оказывается catнаоборот ). Затем мы можем использовать относительно простой скрипт awkдля поиска вашего hostи изменить только егоip:

$ tac input | awk -v OFS="=" -v myip="changed_address" -v myhost="d" -F"=" '$1 == "host" { if( $2 == myhost ) { sw = "on" } else { sw="off" } } sw == "on" && $1 == "ip" { $2=myip } { print $0 }' | tac
ip=x.x.x.a
mask=255.0.0.0
host=a
ip=x.x.x.b
mask=255.0.0.0
host=b
ip=x.x.x.c
mask=255.0.0.0
host=c
ip=changed_address
blahblah
mask=255.0.0.0
host=d

Я подробно объясню, как работает awk:

Во-первых, мы объявляем несколько переменных :по одной для hostи новое значение для ip:

.
-v myip="changed_address" -v myhost="d"

Далее объявляем разделитель полей для ввода и вывода:

-v OFS="=" -F"="

Теперь собственно сам awkскрипт:

$1 == "host" {             // If we see the "host" line..
  if( $2 == myhost ) {     // And it matches the one we're looking for..
    sw = "on"              // Set a flag to swap the next IP
  } else { 
    sw="off"               // Otherwise, unset the flag
  }
} 

sw == "on" && $1 == "ip" { // If the flag is set and this is an IP line.. 
    $2=myip                // Swap in the new IP 
}

{
   print $0                // Finally, print out the processed line
}

Как только все это будет сделано, мы просто используем tacеще раз, чтобы повторно -перевернуть его, снова сделав его вперед.

0
28.02.2021, 22:33
1 ответ

Существует патч noborder, который удаляет границу, когда видно только одно окно.https://dwm.suckless.org/patches/noborder/

1
18.03.2021, 22:28

Теги

Похожие вопросы