Added download_daemon which needs to be running in background. Added downloader.php - the part of program that interacts with Unsplash API. Added lock which locks the screen. Added configs.
This commit is contained in:
parent
00ad244d1b
commit
ac398060f9
|
@ -0,0 +1,7 @@
|
|||
BOX_TOP_LEFT_X=10
|
||||
BOX_TOP_LEFT_Y=610
|
||||
BOX_BOTTOM_RIGHT_X=410
|
||||
BOX_BOTTOM_RIGHT_Y=720
|
||||
ROUNDENESS=50
|
||||
NAME_X=600
|
||||
NAME_Y=10
|
|
@ -0,0 +1,20 @@
|
|||
# TIMECOLOR="00FFFFFF"
|
||||
# TIMEFONT="Neuropolitical"
|
||||
# TIMESIZE=60
|
||||
# TIMESTYLE="%H:%M:%S"
|
||||
# DATECOLOR="00FFFFFF"
|
||||
# DATEFONT="Space Age"
|
||||
# DATESIZE=25
|
||||
# DATESTYLE="%A, %d %b"
|
||||
## Ring Colors
|
||||
# VERIFYING_INSIDE="FFFFFF44"
|
||||
# WRONG_INSIDE="FF000044"
|
||||
# INSIDE="00000000"
|
||||
# LINE="00000000"
|
||||
# KEYPRESS="FFFFFFFF"
|
||||
# BACKSPACEPRESS="CCCCCCFF"
|
||||
# RINGCOLOR="F7045DFF"
|
||||
# RINGVERIFYINGCOLOR="F7045DFF"
|
||||
# RINGWRONGCOLOR="F7045DFF"
|
||||
# RINGTEXTSIZE=14
|
||||
# RINGRADIUS=45
|
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/env bash
|
||||
# Get the config
|
||||
source box_config
|
||||
|
||||
# Get the resolution
|
||||
resolution=`xdpyinfo | grep dimensions | sed 's/dimensions://;;s/ *//g;s/pixels.*//'`
|
||||
|
||||
# Run the main loop
|
||||
while : ; do
|
||||
# Check whether the previous image has been used or not.
|
||||
# If no, wait 300 secs and check again.
|
||||
[[ `< $HOME/.config/lock_screen.sta` -eq 0 ]] && sleep 300 && continue
|
||||
# Download the new image
|
||||
$HOME/i3lock-delta/downloader.php
|
||||
if [[ $? -eq 0 ]]; then
|
||||
name_photographer="`< /tmp/name_photographer`"
|
||||
|
||||
# Resize, crop, draw a box for clock, write photographer's name.
|
||||
convert $HOME/.rand_bg -resize "$resolution^" -crop "$resolution" \
|
||||
-draw "fill black fill-opacity 0.4 roundRectangle
|
||||
$BOX_TOP_LEFT_X,$BOX_TOP_LEFT_Y $BOX_BOTTOM_RIGHT_X,$BOX_BOTTOM_RIGHT_Y
|
||||
$ROUNDENESS,$ROUNDENESS text $NAME_X,$NAME_Y 'Photograph by: $name_photographer on Unsplash'" \
|
||||
/tmp/temp_lock.png
|
||||
|
||||
# Move to needed place and remove the rest.
|
||||
if [[ -f /tmp/temp_lock-0.png ]] ; then
|
||||
mv /tmp/temp_lock-0.png $HOME/.rand_bg.png
|
||||
rm /tmp/temp_lock-1.png
|
||||
fi
|
||||
|
||||
# Remove the original
|
||||
rm $HOME/.rand_bg
|
||||
# Set the image as unused.
|
||||
echo 0 > $HOME/.config/lock_screen.sta
|
||||
else
|
||||
# If download fails, wait 60 secs and restart.
|
||||
sleep 60
|
||||
fi
|
||||
done
|
|
@ -0,0 +1,38 @@
|
|||
#!/usr/bin/env php
|
||||
<?php
|
||||
require __DIR__.'/vendor/autoload.php';
|
||||
|
||||
# Initialize API
|
||||
Crew\Unsplash\HttpClient::init([
|
||||
'applicationId' => file_get_contents(getenv('HOME').'/i3lock-delta/api_key'),
|
||||
'utmSource' => 'i3lock-Delta'
|
||||
]);
|
||||
|
||||
# Get custom search queries
|
||||
$queries_file_name = getenv('HOME') . '/.config/lock_preferences';
|
||||
$queries = file($queries_file_name);
|
||||
|
||||
# Create the random photo limitations
|
||||
$filters = [
|
||||
'featured' => false,
|
||||
'query' => $queries[rand(0,count($queries) - 1)],
|
||||
'orientation' => 'landscape'
|
||||
];
|
||||
|
||||
# Get the random photo
|
||||
$img = Crew\Unsplash\Photo::random($filters);
|
||||
|
||||
# Download the photo
|
||||
$url = $img->download();
|
||||
$output = file_get_contents($url);
|
||||
|
||||
# Write image to a file
|
||||
$image_filename =getenv('HOME') . '/.rand_bg';
|
||||
$image_file = fopen($image_filename, 'w');
|
||||
fwrite($image_file, $output);
|
||||
fclose($image_file);
|
||||
|
||||
# Write author's name to a file
|
||||
$name_file = fopen('/tmp/name_photographer', 'w');
|
||||
fwrite($name_file, $img->{'user'}['name']);
|
||||
fclose($name_file);
|
|
@ -0,0 +1,44 @@
|
|||
#!/bin/bash
|
||||
TIMECOLOR="00FFFFFF"
|
||||
TIMEFONT="Neuropolitical"
|
||||
TIMESIZE=60
|
||||
TIMESTYLE="%H:%M:%S"
|
||||
DATECOLOR="00FFFFFF"
|
||||
DATEFONT="Space Age"
|
||||
DATESIZE=25
|
||||
DATESTYLE="%A, %d %b"
|
||||
# Ring Colors
|
||||
VERIFYING_INSIDE="FFFFFF44"
|
||||
WRONG_INSIDE="FF000044"
|
||||
INSIDE="00000000"
|
||||
LINE="00000000"
|
||||
KEYPRESS="FFFFFFFF"
|
||||
BACKSPACEPRESS="CCCCCCFF"
|
||||
RINGCOLOR="F7045DFF"
|
||||
RINGVERIFYINGCOLOR="F7045DFF"
|
||||
RINGWRONGCOLOR="F7045DFF"
|
||||
RINGTEXTSIZE=14
|
||||
RINGRADIUS=45
|
||||
|
||||
# Get custom config
|
||||
source $HOME/i3lock-delta/config
|
||||
|
||||
# Pause dunst
|
||||
pkill -u ahmad_saalim -USR1 dunst
|
||||
# Set the image as used.
|
||||
echo 1 > $HOME/.config/lock_screen.sta
|
||||
xset dpms force off
|
||||
|
||||
# Call the lock
|
||||
i3lock -i $HOME/.rand_bg.png -knf \
|
||||
--timecolor="$TIMECOLOR" --layout-align 1 --time-align 1 --timefont="$TIMEFONT" \
|
||||
--datecolor="$DATECOLOR" --timepos "30:h-ch" --datesize="$DATESIZE" \
|
||||
--timesize="$TIMESIZE" --datestr="$DATESTYLE" -e --datefont="$DATEFONT" \
|
||||
--date-align 1 --insidevercolor="$VERIFYING_INSIDE" --insidewrongcolor="$WRONG_INSIDE" \
|
||||
--insidecolor="$INSIDE" --linecolor="$LINE" --keyhlcolor="$KEYPRESS" --bshlcolor="$BACKSPACEPRESS" \
|
||||
--ringcolor="$RINGCOLOR" --ringvercolor="$RINGVERIFYINGCOLOR" --ringwrongcolor="$RINGWRONGCOLOR" \
|
||||
--separatorcolor="$KEYPRESS" --indpos="w-r-30:h-r-60" --radius="$RINGRADIUS" --modsize=1 \
|
||||
--textsize="$RINGTEXTSIZE" --indicator --timestr="$TIMESTYLE"
|
||||
|
||||
# Resume dunst
|
||||
pkill -u ahmad_saalim -USR2 dunst
|
Loading…
Reference in New Issue