An open API service indexing awesome lists of open source software.

https://github.com/michal-josef-spacek/curses-ui-time

Create and manipulate time widgets.
https://github.com/michal-josef-spacek/curses-ui-time

curses-ui

Last synced: 3 months ago
JSON representation

Create and manipulate time widgets.

Awesome Lists containing this project

README

          

NAME
Curses::UI::Time - Create and manipulate time widgets.

CLASS HIERARCHY
Curses::UI::Widget
Curses::UI::ContainerWidget
|
+----Curses::UI::ContainerWidget
--Curses::UI::Label
--Curses::UI::Number
|
+----Curses::UI::Time

SYNOPSIS
use Curses::UI;

my $win = $cui->add('window_id', 'Window');
my $time = $win->add(
'mynum', 'Curses::UI::Time',
-time => 1400609240,
);
$time->draw;

DESCRIPTION
Curses::UI::Time is a widget that shows a time in graphic form.

STANDARD OPTIONS
"-parent", "-x", "-y", "-width", "-height", "-pad", "-padleft",
"-padright", "-padtop", "-padbottom", "-ipad", "-ipadleft",
"-ipadright", "-ipadtop", "-ipadbottom", "-title", "-titlefullwidth",
"-titlereverse", "-onfocus", "-onblur".

For an explanation of these standard options, see Curses::UI::Widget.

WIDGET-SPECIFIC OPTIONS
* "-colon" < NUMBER >

View colon flag.
Default value is '1'.

* "-date" < DATE_FLAG >

View date flag.
Default value is 0.

* "-fg" < CHARACTER >

Foreground color.
Possible values are defined in Curses::UI::Color.
Default value is '-1'.

* "-time" < TIME >

Time.
Default value is actual time.

* "-second" < SECOND_FLAG >

View second flag.
Default value is 0.

STANDARD METHODS
"layout", "draw", "intellidraw", "focus", "onFocus", "onBlur".

For an explanation of these standard methods, see Curses::UI::Widget.

WIDGET-SPECIFIC METHODS
* "new(%parameters)"

Constructor.
Create widget with volume in graphic form, defined by -volume number.
Returns object.

* "colon()"

Get or set colon flag.
Returns colon flag.

* "time()"

Get or set time (and date with -date => 1).
Returns time in seconds.

EXAMPLE1
use strict;
use warnings;

use Curses::UI;

# Object.
my $cui = Curses::UI->new;

# Main window.
my $win = $cui->add('window_id', 'Window');

# Add volume.
$win->add(
undef, 'Curses::UI::Time',
'-time' => 1400609240,
);

# Binding for quit.
$win->set_binding(\&exit, "\cQ", "\cC");

# Loop.
$cui->mainloop;

# Output like:
# ██████ ██████ ██████ ██████
# ██ ██ ██ ██ ██ ██ ██
# ██████ ██ ██ ██ ██ ██
# ██ ██ ██ ██ ██ ██ ██
# ██████ ██████ ██████ ██

EXAMPLE2
use strict;
use warnings;

use Curses::UI;

# Object.
my $cui = Curses::UI->new(
-color_support => 1,
);

# Main window.
my $win = $cui->add('window_id', 'Window');

# Add time.
my $time = $win->add(
undef, 'Curses::UI::Time',
'-border' => 1,
'-second' => 1,
'-time' => time,
);

# Binding for quit.
$win->set_binding(\&exit, "\cQ", "\cC");

# Timer.
$cui->set_timer(
'timer',
sub {
$time->time(time);
$cui->draw(1);
return;
},
1,
);

# Loop.
$cui->mainloop;

# Output like:
# ┌────────────────────────────────────────────────────┐
# │ ██ ██ ██████ ██████ ██ ██████ │
# │ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ │
# │ ██ ██ ██ ██ ██ ██ ██ ██████ │
# │ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ │
# │ ██ ██ ██████ ██████ ██ ██████ │
# └────────────────────────────────────────────────────┘

EXAMPLE3
use strict;
use warnings;

use Curses::UI;

# Object.
my $cui = Curses::UI->new(
-color_support => 1,
);

# Main window.
my $win = $cui->add('window_id', 'Window');

# Add time.
my $time = $win->add(
undef, 'Curses::UI::Time',
'-border' => 1,
'-date' => 1,
'-second' => 1,
'-time' => time,
);

# Binding for quit.
$win->set_binding(\&exit, "\cQ", "\cC");

# Timer.
$cui->set_timer(
'timer',
sub {
$time->time(time);
$cui->draw(1);
return;
},
1,
);

# Loop.
$cui->mainloop;

# Output like:
# ┌────────────────────────────────────────────────────┐
# │ ██ ██ ██████ ██████ ██ ██ ██████ │
# │ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ │
# │ ██ ██ ██ ██ ██ ██ ██████ ██ ██ │
# │ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ │
# │ ██ ██ ██████ ██████ ██ ██████ │
# │ │
# │ 2014-05-24 │
# └────────────────────────────────────────────────────┘

DEPENDENCIES
Curses, Curses::UI::Common, Curses::UI::Label, Curses::UI::Number,
Curses::UI::Widget, Readonly, Unicode::UTF8.

SEE ALSO
Task::Curses::UI
Install the Curses::UI modules.

REPOSITORY

AUTHOR
Michal Josef Špaček

LICENSE AND COPYRIGHT
© 2014-2020 Michal Josef Špaček

BSD 2-Clause License

DEDICATION
To Czech Perl Workshop 2014 and their organizers.

tty-clock program.

VERSION
0.07