The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

WARNING

Backwardly incompatible changes to the Konsole API between 4.4 and 4.8.4 broke this application (https://bugs.kde.org/show_bug.cgi?id=338914). A patch has been applied but it's gross

Name

Yakuake::Sessions - Session Manager for the Yakuake Terminal Emulator

Version

This documents version v0.15.$Rev: 1 $ of Yakuake::Sessions

Synopsis

   # To reduce typing define some shell aliases
   alias ys='yakuake_session'

   # Create some Yakuake sessions. Set each session to a different directory.
   # Run some commands in some of the sessions like an HTTP web development
   # server or tail -f on a log file. Set the tab titles for each session.
   # Now create a profile called dev
   ys create dev

   # Subsequently reload the dev profile
   ys load dev

   # Show the contents of the dev profile
   ys show dev

   # Edit the contents of the dev profile
   ys edit dev

   # Delete the dev profile
   ys delete dev

   # Command line help
   ys -? | -H | -h [sub-command] | list_methods | dump_self

Description

Create, edit, load session profiles for the Yakuake Terminal Emulator. Sets and manages the tab title text

Configuration and Environment

Reads configuration from ~/.yakuakue_sessions/yakuake_session.json which might look like;

   {
      "doc_title": "Perl",
      "tab_title": "Oo.!.oO"
   }

See the config class for the full list of configuration attributes

Defines the following list of attributes which can be set from the command line;

config_dir

Directory containing the configuration files. Defaults to ~/.yakuake_sessions

editor

The editor used to edit profiles. Can be set from the configuration file. Defaults to the environment variable EDITOR or if unset emacs

force

Overwrite the output file if it already exists

profile_dir

Directory to store the session profiles in

storage_class

File format used to store session data. Defaults to the config class value; JSON

Modifies these methods in the base class

run

Subroutines/Methods

create

   yakuake_session create <profile_name>

Creates a new session profile in the profile_dir. Calls "dump"

delete

   yakuake_session delete <profile_name>

Deletes the specified session profile

dump

   yakuake_session dump <path>

Dumps the current sessions to file. For each tab it captures the current working directory, the command being executed, the tab title text, and which tab is currently active

edit

   yakuake_session edit <profile_name>

Edit a session profile

list

   yakuake_session list

List the session profiles stored in the profile_dir

load

   yakuake_session load <profile_name>

Load the specified profile, recreating the tabs with their title text, current working directories and executing commands

select

   yakuakge_session select

Select the profile to load from the displayed list

set_tab_title

   yakuake_session set_tab_title <title_text>

Sets the current tabs title text to the specified value. Defaults to the vale supplied in the configuration

set_tab_title_for_project

   yakuake_session set_tab_title_for_project <title_text>

Set the current tabs title text to the specified value. Must supply a title text. Will save the project name for use by yakuake_session_tt_cd

show

   yakuake_session show <profile_name>

Display the contents of the specified session profile

Diagnostics

Turning on debug, add -D to the command line, causes the session dump and load subroutines to display the session tabs data

The list_methods command lists all of the callable the methods and their abstracts

Dependencies

Class::Usul
File::DataClass
Net::DBus

Incompatibilities

None

Bugs and Limitations

It is necessary to edit new session profiles and manually escape the shell meta characters embeded in the executing commands

There are no known bugs in this module.Please report problems to http://rt.cpan.org/NoAuth/Bugs.html?Dist=Yakuake-Sessions. Source code is on Github git://github.com/pjfl/Yakuake-Sessions.git. Patches and pull requests are welcome

Acknowledgements

Larry Wall - For the Perl programming language

Author

Peter Flanigan, <pjfl@cpan.org>

License and Copyright

Copyright (c) 2014 Peter Flanigan. All rights reserved

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic

This program is distributed in the hope that it will be useful, but WITHOUT WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE