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

