AnyEvent-I3X-Workspace-OnDemand
view release on metacpan or search on metacpan
bin/i3-status view on Meta::CPAN
sub _get_property_from_root_window {
my $key = shift;
my $value = _get_string_property_from_root_window($key, 'UTF8_STRING');
return $value if defined $value;
# Allow xprop values to be set but also allow
$value = _get_string_property_from_root_window($key, 'STRING');
return unless defined $value;
my $prop = $x11->atom($key);
my $utf8 = $x11->atom('UTF8_STRING');
$x11->ChangeProperty($xroot, $prop, $utf8, 8, 'Replace', $value);
$x11->flush;
return $value;
}
# Read lines forever, ignore a comma at the beginning if it exists.
while (my ($statusline) = (<STDIN> =~ /^,?(.*)/)) {
# Decode the JSON-encoded line.
my @blocks = @{decode_json($statusline)};
my $value = _get_property_from_root_window('_I3_WOD_GROUP');
lib/AnyEvent/I3X/Workspace/OnDemand.pm view on Meta::CPAN
method get_group_from_root_window() {
my $group = $self->_get_property_from_root_window('_I3_WOD_GROUP');
return $group if $group;
$self->set_group_on_root_window($groups[0]);
return $groups[0];
}
method _set_property_on_root_window($key, $value) {
my $prop = $self->x11->atom($key);
my $utf8 = $self->x11->atom('UTF8_STRING');
$x11->ChangeProperty($xroot, $prop, $utf8, 8, 'Replace', $value);
$self->restart_i3_status;
$x11->flush;
}
method set_group_on_root_window($name) {
$self->_set_property_on_root_window('_I3_WOD_GROUP', $name);
}
method restart_i3_status() {
return unless $i3status;
lib/AnyEvent/I3X/Workspace/OnDemand/UserGuide.pod view on Meta::CPAN
use utf8;
#PODNAME: AnyEvent::I3X::Workspace::OnDemand::UserGuide
#
#ABSTRACT: User document for AnyEvent::I3X::Workspace::OnDemand
__END__
=pod
=encoding UTF-8
( run in 0.507 second using v1.01-cache-2.11-cpan-600a1bdf6e4 )