Add files via upload
This commit is contained in:
94
example_plugin.py
Normal file
94
example_plugin.py
Normal file
@@ -0,0 +1,94 @@
|
||||
"""
|
||||
Example ZDTT Plugin
|
||||
This demonstrates how to create a plugin for ZDTT Terminal.
|
||||
|
||||
To install this plugin:
|
||||
1. Copy this file to ~/.zdtt/plugins/
|
||||
2. Restart ZDTT Terminal
|
||||
|
||||
The plugin will be loaded automatically.
|
||||
"""
|
||||
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
|
||||
def cmd_hello(args):
|
||||
"""Say hello to the user"""
|
||||
if args:
|
||||
name = ' '.join(args)
|
||||
print(f"Hello, {name}! Welcome to ZDTT Terminal!")
|
||||
else:
|
||||
print("Hello! Welcome to ZDTT Terminal!")
|
||||
|
||||
|
||||
def cmd_weather(args):
|
||||
"""Display weather information using wttr.in"""
|
||||
location = args[0] if args else ""
|
||||
try:
|
||||
subprocess.run(['curl', f'wttr.in/{location}'])
|
||||
except Exception as e:
|
||||
print(f"Error fetching weather: {e}")
|
||||
print("Make sure curl is installed: sudo apt-get install curl")
|
||||
|
||||
|
||||
def cmd_sysinfo(args):
|
||||
"""Display detailed system information"""
|
||||
print("\n=== System Information ===\n")
|
||||
|
||||
# Hostname
|
||||
print(f"Hostname: {os.uname().nodename}")
|
||||
|
||||
# OS Info
|
||||
try:
|
||||
with open('/etc/os-release', 'r') as f:
|
||||
for line in f:
|
||||
if line.startswith('PRETTY_NAME'):
|
||||
os_name = line.split('=')[1].strip().strip('"')
|
||||
print(f"OS: {os_name}")
|
||||
break
|
||||
except:
|
||||
pass
|
||||
|
||||
# Kernel
|
||||
print(f"Kernel: {os.uname().release}")
|
||||
|
||||
# Architecture
|
||||
print(f"Architecture: {os.uname().machine}")
|
||||
|
||||
# CPU Info
|
||||
try:
|
||||
with open('/proc/cpuinfo', 'r') as f:
|
||||
for line in f:
|
||||
if 'model name' in line:
|
||||
cpu = line.split(':')[1].strip()
|
||||
print(f"CPU: {cpu}")
|
||||
break
|
||||
except:
|
||||
pass
|
||||
|
||||
# Memory Info
|
||||
try:
|
||||
with open('/proc/meminfo', 'r') as f:
|
||||
for line in f:
|
||||
if 'MemTotal' in line:
|
||||
mem = int(line.split()[1]) // 1024
|
||||
print(f"Memory: {mem} MB")
|
||||
break
|
||||
except:
|
||||
pass
|
||||
|
||||
print()
|
||||
|
||||
|
||||
def register_commands():
|
||||
"""
|
||||
This function is required for ZDTT to load the plugin.
|
||||
Return a dictionary of command names to functions.
|
||||
"""
|
||||
return {
|
||||
'hello': cmd_hello,
|
||||
'weather': cmd_weather,
|
||||
'sysinfo': cmd_sysinfo,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user