1
0
Fork 0
mirror of https://github.com/roles-ansible/ansible_role_sway.git synced 2024-08-16 13:49:49 +02:00

Merge pull request #1 from roles-ansible/kkup

Change Key bindings and create custom/ping widget
This commit is contained in:
L3D 2024-07-31 16:59:56 +02:00 committed by GitHub
commit 66376ecbff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 81 additions and 2 deletions

View file

@ -27,6 +27,7 @@ sway__waybar_modules_right:
- "custom/weather"
- "pulseaudio"
- "network"
- "custom/ping"
- "cpu"
- "memory"
- "disk"
@ -90,7 +91,7 @@ sway__keybindings:
exec: --no-startup-id light -A 6
- keybinding:
name: display settings
key: XF86WakeUp
key: $mod+Shift+F7
exec: wdisplays
sway__keybindings_extra: []

View file

@ -55,6 +55,7 @@
mode: '0640'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true
loop: "{{ sway__user_list | flatten(1) }}"
loop_control:
label: "{{ swayusr.home }}/.swaylock/config"
@ -68,6 +69,7 @@
mode: '0640'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true
loop: "{{ sway__user_list | flatten(1) }}"
loop_control:
label: "{{ swayusr.home }}/.config/sway/config"

View file

@ -23,3 +23,4 @@
mode: '0640'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true

View file

@ -22,6 +22,7 @@
- 'swayimg'
- 'wdisplays'
- 'cmatrix'
- 'pavucontrol'
- name: Ensure font-awesome is installed
ansible.builtin.apt:

View file

@ -25,6 +25,17 @@
mode: '0750'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true
- name: Deploy ping script
become: true
ansible.builtin.template:
src: 'templates/ping.py.j2'
dest: "{{ swayusr.home }}/.config/waybar/ping.py"
mode: '0750'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true
- name: Deploy waybar stylesheet
become: true
@ -34,6 +45,7 @@
mode: '0640'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true
- name: Deploy waybar config
become: true
@ -43,3 +55,4 @@
mode: '0640'
owner: "{{ swayusr.user }}"
group: "{{ swayusr.user }}"
backup: true

43
templates/ping.py.j2 Normal file
View file

@ -0,0 +1,43 @@
#!/usr/bin/env python
"""
ping waybar widget
{{ ansible_managed }}
"""
import subprocess
import json
import sys
def check_internet():
"""
Try to ping a host in the internet,
then return true or false
"""
try:
subprocess.check_call(['ping', '-c', '2', 'c3woc.de'],
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return True
except subprocess.CalledProcessError:
return False
def main():
"""
parsing internet status and create output
"""
internet_status = check_internet()
if internet_status:
status = {
"text": "Online",
"tooltip": "Internet connection is active",
"class": "pingonline"
}
else:
status = {
"text": "Offline",
"tooltip": "No internet connection",
"class": "pingoffline"
}
print(json.dumps(status))
sys.stdout.flush()
if __name__ == "__main__":
main()

View file

@ -280,3 +280,15 @@ label:focus {
#scratchpad.empty {
background-color: transparent;
}
.pingonline {
color: white;
background-color: #2980b9;
padding: 0px 8px;
}
.pingoffline {
color: white;
background-color: #f53c3c;
padding: 0px 8px;
}

View file

@ -166,6 +166,12 @@
"format": "",
"on-click": "wlogout",
"tooltip": false
},
"custom/ping": {
"format": "{}",
"exec": "{{ swayusr.home }}/.config/waybar/ping.py",
"interval": 60,
"return-type": "json"
}
}

View file

@ -1,3 +1,3 @@
---
playbook_version_number: 10 # should be int
playbook_version_number: 11 # should be int
playbook_version_path: 'role-roles-ansible.sway.version'