コード例 #1
0
from gp import dmenu, msgn, msgc, dorm, remove_leading_zeros, get_datetime

modes = [
    'at relative time (e.g. 30, 600, etc)', 'at specific time (e.g. 14:25)'
]
mode = dmenu(modes, title='reminder')

if 'relative' in mode:
    try:
        relative = int(dmenu(title='relative time'))
    except Exception as exc:
        msgc('ERROR', f'{exc!r}')
        exit()

    message = dmenu(title='message')
    msgn(f'Reminder in {relative} seconds', message)
    dorm(relative)
    msgc('Reminder', message)
elif 'specific' in mode:
    try:
        specific = dmenu(title='specific time')
        specific2 = specific.replace(':', '')
        specific2 = remove_leading_zeros(specific2)
        specific2 = int(specific2)
    except Exception as exc:
        msgc('ERROR', f'{exc!r}')
        exit()

    message = dmenu(title='message')
    msgn(f'Reminder at {specific}', message)
    while True:
コード例 #2
0
ファイル: weather.py プロジェクト: davoudarsalani/scripts
        set_widget('weather', 'markup', text)

elif arg == 'forecast':
    try:
        resp = get_info()

        ## current
        message = f'<span color=\"{getenv("orange")}\">Current</span>\n'
        weekday, temp, description = get_current()
        message = f'{message}{weekday}\t{temp}°\t\t\t{description}'

        ## forecast
        message = f'{message}\n\n<span color=\"{getenv("orange")}\">Forecast</span>\n'
        days = resp['daily']  ## list
        for day in days:  ## day is a dict
            weekday, temp_min, temp_max, description = get_forecast()

            if weekday == 'Fri' or weekday == 'Sat':
                tabs = '\t' * 2
            else:
                tabs = '\t'
            message = f'{message}{weekday}{tabs}{temp_min}°   {temp_max}°\t{description}\n'

        message = message.strip()

        msgn(message, duration=20)

    except Exception as exc:
        msgc('ERROR', f'gettin forecast\n{exc!r}',
             f'{getenv("HOME")}/linux/themes/alert-w.png')
コード例 #3
0
ファイル: lf-ranger.py プロジェクト: davoudarsalani/scripts
            cmd = run(f'sudo chattr -R -i {base}',
                      shell=True,
                      universal_newlines=True,
                      capture_output=True)
            cmd_error = cmd.stderr.strip()
            if not cmd_error:
                if path.isdir(base):
                    attribution = check_output(
                        f'lsattr {base}', shell=True,
                        universal_newlines=True).strip()
                else:
                    attribution = check_output(
                        f'lsattr {base}', shell=True,
                        universal_newlines=True).split()[0]
                msgn(
                    'mutable',
                    f'<span color=\"{getenv("orange")}\">{base}</span>\n({attribution})'
                )
            else:
                msgc(
                    'ERROR',
                    f'making <span color=\"{getenv("orange")}\">{base}</span> mutable\n{cmd_error}',
                    f'{getenv("HOME")}/linux/themes/alert-w.png')

            dorm(0.1)
    elif main_item == 'immutable':
        for f in files:
            _, base = path.split(f)
            cmd = run(f'sudo chattr -R +i {f}',
                      shell=True,
                      universal_newlines=True,
                      capture_output=True)
コード例 #4
0
ファイル: emojis.py プロジェクト: davoudarsalani/scripts
#!/usr/bin/env python

from os import path, listdir, getenv, chdir

from clipboard import copy as clipboard_copy
from gp import Color, fzf, msgn

title = path.basename(__file__).replace('.py', '')

chdir(f'{getenv("HOME")}/linux/emojis')
print(Color().heading(title))

main_items = listdir()
main_item = fzf(main_items)
print(main_item)

with open(main_item, 'r') as FILE:
    all_content = FILE.read().strip().split('\n')

lines = list(filter(lambda line: not line.startswith('#'),
                    all_content))  ## remove comments
line = fzf(lines)

emoji = line.split()[0]
clipboard_copy(emoji)
msgn(f'copied <span color=\"{getenv("orange")}\">{emoji}</span>')
コード例 #5
0
## }}}

getopts()

print(Color().heading(title))

main_items = [
    'string', 'file', 'command', 'datetime', 'jalali datetime', 'help'
]
main_item = fzf(main_items)

if main_item == 'string':
    prompt('-s')
    clipboard_copy(string)
    msgn(f'copied\n<span color=\"{getenv("orange")}\">{string}</span>')
elif main_item == 'file':
    prompt('-f')
    with open(file, 'r') as F:
        content = F.read().strip()
    clipboard_copy(content)
    msgn(f'copied\n<span color=\"{getenv("orange")}\">{content}</span>')
elif main_item == 'command':
    prompt('-c')
    cmd = run(command,
              shell=True,
              universal_newlines=True,
              capture_output=True)
    cmd_output = cmd.stdout.strip()
    clipboard_copy(cmd_output)
    msgn(f'copied\n<span color=\"{getenv("orange")}\">{cmd_output}</span>')
コード例 #6
0
ファイル: screenshot.py プロジェクト: davoudarsalani/scripts
now = get_datetime('jymdhms')
global output
output = f'{getenv("HOME")}/downloads/{now}-SS.png'

scr_1_name, scr_1_res, scr_1_x, scr_1_y = Screen().screen_1()
scr_2_name, scr_2_res, scr_2_x, scr_2_y = Screen().screen_2()
scr_all_res = Screen().screen_all()

## https://askubuntu.com/questions/1011507/screenshot-of-an-active-application-using-python
if main_item == 'screen 1':
    countdown()
    window = Gdk.get_default_root_window()
    pb = Gdk.pixbuf_get_from_window(window, 0, 0, int(scr_1_x), int(scr_1_y))
    pb.savev(output, 'png', (), ())
    # convert_to_jpg(output)
    msgn('screen 1', f'<span color=\"{getenv("orange")}\">{output}</span>')
elif main_item == 'screen 2':
    countdown()
    window = Gdk.get_default_root_window()
    pb = Gdk.pixbuf_get_from_window(window, int(scr_1_x), 0, int(scr_2_x),
                                    int(scr_2_y))
    pb.savev(output, 'png', (), ())
    # convert_to_jpg(output)
    msgn('screen 2', f'<span color=\"{getenv("orange")}\">{output}</span>')
elif main_item == 'screen all':
    countdown()
    window = Gdk.get_default_root_window()
    pb = Gdk.pixbuf_get_from_window(window, *window.get_geometry())
    pb.savev(output, 'png', (), ())
    # convert_to_jpg(output)
    msgn('screen all', f'<span color=\"{getenv("orange")}\">{output}</span>')