summaryrefslogtreecommitdiffstats
path: root/.local/bin/setwp
blob: 084b738db163e3a8e0bb9aa987994d94aa7ab279 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#!/usr/local/bin/perl

use strict;
use warnings;
use File::Copy;

use constant {
	WP_FILE	=> '/usr/home/jozan/pics/wallpaper.jpg',
	WP_POOL	=> '/usr/home/jozan/pics/wp/'
};
use constant FEH_PATH	=> '/usr/local/bin/feh';

sub get_pool_files
{
	my @files;
	my $i;

	$i = 0;
	opendir(DIR, WP_POOL) or die "Couldn't open directory " . WP_POOL . ": $!";
	while ($files[$i] = readdir(DIR)) {
		next if $files[$i] =~ /^\./;
		$i++;
	}
	closedir(DIR);
	return @files;
}

sub choose_and_copy
{
	my @files = (@_);
	my $rand;
	my $i;

	$rand = int(rand(@files - 1));
	unlink(WP_FILE);
	copy(WP_POOL . $files[$rand], WP_FILE);
	return;
}

sub set_wp
{
	system(
		FEH_PATH,
		'--no-fehbg',
		'--bg-fill',
		WP_FILE,
		'--bg-fill',
		WP_FILE,
		'--bg-fill',
		WP_FILE
	);
	system(
		'notify-send',
		'-u',
		'low',
		'-t',
		'2000',
		'setwp',
		'  Wallpaper set'
	);
	return;
}

sub main
{
	choose_and_copy(get_pool_files());
	set_wp();
	return;
}

main();

__END__