# Підручник з &ktimetracker;

## Вступ

&ktimetracker; стежить за часом, який ви витрачаєте на роботу над різноманітними задачами. Ця програма корисна для стеження за обліком годин, вона може створювати звіти за даними, записаними для задачі або протягом дня.

Цей журнал розподілу часу можна експортувати як файл тексту, розміченого комами, для наступного імпорту до інших інструментів обліку часу і/або керування проєктами.

&ktimetracker; може визначати час, коли клавіатуру та мишу вашого комп’ютера не буде задіяно, а також пов’язувати різні задачі з різними стільницями, ці два інструменти можуть допомогти вам стежити за тим, щоб таймер виконував відлік часу для належної задачі.

Першу версію &ktimetracker; було створено &Sirtaj.Singh.Kang;. Домашню сторінку програми розташовано за адресою http://userbase.kde.org/KTimeTracker/uk.

## Користування &ktimetracker;

### Як запустити &ktimetracker;

Введіть команду `ktimetracker` у командному рядку або оберіть пункт Персональний лічильник часу з групи Інструменти Утиліти у меню запуску програм Плазми. Можна скористатися загальними параметрами командного рядка &Qt; та &kf5-full; (див. сторінки підручника щодо qt5options та kf5options).

Під час запуску &ktimetracker; можна скористатися додатковим параметром командного рядка, за допомогою якого можна вказати назву файла iCalendar, який використовується для зберігання журналу вашої роботи. Ви можете вказати віддалений файл iCalendar за допомогою частин адрес &HTTP; або &FTP;, доданих до назви файла; наприклад https://www.mysite.com/mydata/mylabor.ics.

### Задачі

Проблема: ви є консультантом з вільного програмного забезпечення, у вас багато клієнтів. Деякі з клієнтів мають по декілька проєктів. Протягом дня ви перемикаєтеся з одного проєкту на інший. Вам потрібно стежити за вашим часом, щоб потім створити рахунок за місяць роботи.

Вирішення: створіть по одній задачі верхнього рівня для кожного з клієнтів і по підзадачі на кожен з проєктів клієнта. Для проєктів, які потребують докладнішого стеження, створіть список підзадач. Увімкнути стеження за часом можна подвійним клацанням на задачі, над якою ви зараз працюєте.

У &ktimetracker; закладено значну гнучкість у стеженні за розподілом вашого часу, ви можете визначати необмежену кількість задач і необмежену глибину вкладеності підзадач. Ви можете увійти до будь-якої з задач і активізовувати декілька задач одночасно у будь-який момент часу.

У &ktimetracker; передбачено можливість редагування журналу завдань та додавання коментарів щодо кожної зупиненої вами події.

Щоб створити задачу найвищого рівня, скористайтеся пунктом меню &Ctrl;T Задача Створити задачу... . Щоб створити підзадачу, оберіть основну задачу і скористайтеся пунктом меню &Ctrl;B Задача Нова підзадача...

Під час виходу з &ktimetracker; список задач зберігається у файлі на диску вашого комп’ютера. Під час наступного запуску програми цей список буде завантажено з вказаного файла.

&ktimetracker; може імпортувати і експортувати задачі, що полегшить вам життя. Див. interfaces.

### Таймери

Проблема: Щоб мати достатньо грошей, вам слід працювати в середньому п’ять годин на добу. Щоб бути в курсі подій, вам слід переглянути загальні цифри за день і тиждень.

Вирішення: Повертайте таймер сеансу у нульове значення на початку кожного робочого дня і повертайте нульові значення всім таймерам на початку кожного тижня.

З &ktimetracker; слідкувати за часом просто. Щоб розпочати відлік часу для задачі, просто наведіть вказівник на позначку задачі і двічі клацніть лівою кнопкою миші. Щоб зупинити відлік часу, ще раз наведіть вказівник миші на запис задачі і двічі клацніть лівою кнопкою миші. Для активних задач у стовпчику Тривалість сеансу буде показано маленький секундомір.

Ще одним засобом показу спостереження за поточною активністю &ktimetracker; є піктограма системного лотка. Якщо активною є певна задача, друга стрілка годинника на піктограмі рухається. Якщо ви наведете вказівник миші на цю піктограму, у контекстному вікні буде показано назву поточної задачі. Якщо активними є декілька задач, назви задач у контекстному вікні буде відокремлено комами.

У &ktimetracker; кожній задачі відповідають два таймери: один лічить час сеансу, а інший — загальний час. За типового налаштування, &ktimetracker; показує для кожного з таймерів по два стовпчики, що дає нам загалом чотири стовпчики для кожної задачі:

Тривалість сеансу

- Час, витрачений на задачу з початку сеансу.

Час

- Час, витрачений на задачу, з моменту останнього скидання показань таймерів.

Загальна тривалість сеансу

- Час, витрачений на задачу і всі її підзадачі з початку сеансу.

Всього часу

- Час, витрачений на задачу і всі її підзадачі, з моменту останнього скидання показань таймерів.

Щоб розпочати новий сеанс, скористайтеся пунктом меню Файл Запустити новий сеанс

Щоб повернути нульові значення всіх таймерів, скористайтеся пунктом меню Файл Скинути всі таймери

#### Стеження за стільницями

Проблема: Протягом дня ви перемикаєтеся між двома задачами. Для того, щоб впорядкувати вашу роботу, ви зберігаєте файли проєкту 1 на Стільниці 1, а файли проєкту 2 — на Стільниці 2.

Вирішення: Пов’яжіть задачу проєкту 1 зі Стільницею 1, а задачу проєкту 2 зі Стільницею 2. Коли ви перемикатиметеся зі Стільниці 2 на Стільницю 1, &ktimetracker; автоматично зупинятиме таймер задачі проєкту 2 і запускатиме таймер задачі проєкту 1.

Щоб пов’язати задачу з одною або декількома стільницями, скористайтеся пунктом меню &Ctrl;E Задача Властивості . Позначте у вікні, що відкриється, пункт Автоматичне стеження, а потім позначте стільницю або стільниці, які буде пов’язано з задачею. Коли ставатиме активною одна з позначених стільниць, протягом короткого проміжку часу &ktimetracker; автоматично розпочинатиме відлік часу для відповідної задачі.

#### Визначення бездіяльності

Проблема: Ви полишили роботу вранці у п’ятницю через важливе доручення і забули зупинити таймер. Коли ви повернулися до роботи у понеділок, таймер все ще продовжував відлік часу.

Вирішення: Увімкніть визначення бездіяльності на сторінці Поведінка діалогового вікна параметрів програми.

&ktimetracker; можна налаштувати так, щоб програма виявляла відсутність руху миші і натискань клавіш клавіатури. Якщо з боку миші і клавіатури не спостерігається руху протягом вказаної кількості хвилин, &ktimetracker; відкриває таке діалогове вікно:

Визначення бездіяльності у &ktimetracker; Діалогове вікно визначення бездіяльності &ktimetracker;

Продовжити лічити час

- Застосуйте час бездіяльності до всіх активних таймерів і продовжувати відлік.

  Ви працювали над задачами, доки комп’ютер був бездіяльним, і продовжуєте працювати далі.

Зворотний відлік

- Відняти час бездіяльності від всіх активних таймерів і зупинити їх.

  Ви не працювали над задачами, доки комп’ютер був бездіяльним, і продовжуєте робити інші речі.

### Інші системи

#### &korganizer;

&ktimetracker;, подібно до &korganizer; і Apple iCal, використовує для зберігання даних загальноприйнятий стандартний формат даних iCalendar. &ktimetracker; може читати і записувати списки завдань, створені цими двома програмами.

Ви навіть можете працювати одночасно над одним файлом у &korganizer; і &ktimetracker;. Якщо файл буде змінено у одній програмі, оновлення буде передано іншій програмі автоматично.

#### Планувальник

У типовому випадку використання, у вас може виникнути потреба у плануванні проєкту за допомогою інструменту для керування проєктами &Planner;, а потім імпортувати список задач до &ktimetracker; за допомогою пункту меню Файл Імпорт Імпортувати задачі з плановика..., щоб отримувати їх у загальноприйнятому стандартному форматі iCalendar. Якщо ви зробите це, ви зможете скласти розклад задач у &korganizer;, а потім здійснювати облік за допомогою &ktimetracker;. Таким чином, можна контролювати стан виконання і бюджет проєкту.

#### &DBus;

У &ktimetracker; передбачено підтримку декількох методів, якими можна скористатися за допомогою &DBus;.

Існує два способи скористатися інтерфейсом &DBus;: графічний інтерфейс qdbusviewer, та інструмент командного рядка qdbus, що є складовими частинами &Qt;.

##### Скрипт Bash, який виводить версію &ktimetracker;

    qdbus org.kde.ktimetracker /KTimeTracker version 2
    >/dev/null || echo "ktimetracker не запущено"

У поточній версії &ktimetracker; інтерфейс &DBus; використовується в основному з метою автоматизації перевірки, він є дуже обмеженим. Повний опис інтерфейсу можна знайти у розділі dbusappendix.

Щоб ознайомитися з повним переліком інтерфейсів &DBus;, які надає у ваше розпорядження версія &ktimetracker;, встановлена у вашій системі, виконайте такий скрипт Bash:

##### Показує список інтерфейсів &DBus; &ktimetracker; у консолі

    qdbus org.kde.ktimetracker /KTimeTracker 2
    >/dev/null || echo "ktimetracker не запущено"

#### Експорт загальних даних до CSV

&ktimetracker; може експортувати як підсумкові дані, так і дані журналу у текстовому форматі з відокремленням комами. Щоб експортувати підсумкові дані, скористайтеся пунктом меню Файл Експортувати... . У відповідь &ktimetracker; відкриє діалогове вікно експортування даних.

Виберіть варіант Час як CSV у групі Тип звіту. Відповідне діалогове вікно має виглядати так:

Експортування даних щодо часу у форматі CSV Експортування даних щодо часу у форматі CSV

Якщо потрібно, змініть типові параметри з діалогового вікна. Попередній результат виведення даних у форматі CSV буде показано у правій частині діалогового вікна. Натисніть кнопку Зберегти як..., і &ktimetracker; експортує загальний журнал задач до вказаного вами файла.

Щоб експортувати часові дані до буфера обміну даними, натисніть кнопку Копіювати до буфера

Ось ще один приклад формату виведення:

    "kde",,,,,0.00,0.00,6.88,9.83
    ,"ktimetracker",,,,6.88,8.70,6.88,9.83
    ,,"3.2 feature plan",,,0.00,0.00,0.00,0.00
    ,,"bugs",,,0.00,1.13,0.00,1.13
    ,,"checkin changes - translation strings",,,0.00,0.00,0.00,0.00
    ,,"time card report",,,0.00,0.00,0.00,0.00
    ,"kopete",,,,0.00,0.00,0.00,0.00
    ,"promo",,,,0.00,0.00,0.00,0.00
    ,"web stuff",,,,0.00,0.00,0.00,0.00

Задачі верхнього рівня буде виведено до першого стовпчика, підзадачі — до другого тощо. Дані щодо часу буде наведено після найглибшої задачі у ієрархії задач (у нашому прикладі у п’ятому стовпчику). Перший стовпчик з часом буде мати назву Тривалість сеансу, другий — Час, третій — Загальна тривалість сеансу, а четвертий — Загальна тривалість.

#### Експорт історії до CSV

Щоб експортувати історію задачі, скористайтеся пунктом меню Файл Імпорт/Експорт Експортувати... , &ktimetracker; відкриє те саме діалогове вікно, що і показане вище. Виберіть варіант Журнал як CSV у групі Тип звіту.

Виберіть діапазон дат для журналу задач. Якщо потрібно, змініть типові параметри з діалогового вікна. Попередній результат виведення даних у форматі CSV буде показано у правій частині діалогового вікна. Натисніть кнопку Зберегти як..., і &ktimetracker; експортує загальний журнал задач до вказаного вами файла.

Щоб експортувати часові дані до буфера обміну даними, натисніть кнопку Копіювати до буфера

Ось приклад формату виведення:

    Історія задач
    З Вівторок 06 липня 2004 до Вівторок 13 липня 2004
    Надруковано: 2004-07-13 18:10
    2004-07-06,2004-07-07,2004-07-08,2004-07-09,2004-07-10,2004-07-11,2004-07-12,2004-07-13,
    ,,,,,,,,0.00,"kde"
    ,,1.77,3.23,1.73,,1.37,0.82,8.95,,"ktimetracker"
    ,,,,,,,,0.00,,,"3.2 feature plan"
    ,1.13,,,,,,,1.13,,,"bugs"
    ,,,,,,,,0.00,,,"checkin changes - translation strings"
    ,,,,,,,,0.00,,,"time card report"
    ,,,,,,,,0.00,,"kopete"
    ,,,,,,,,0.00,,"promo"
    ,,,,,,,,0.00,,"web stuff"

Перші три рядки вказують на те, коли було створено звіт, і для якого проміжку часу його було створено. У четвертому рядку буде показано список дат у діапазоні дат, у форматі ISO 8601 (РРРР-ММ-ДД). У наступних рядках списку буде показано час, відлічений для кожної з задач. У останньому стовпчику буде показано загальний підсумок для всіх днів. Назву задачі буде виведено за останнім стовпчиком з відступом, який позначатиме зв’язок задача-підзадача. Назви задач верхнього рівня буде показано у першому стовпчику після підсумків.

## Інтерфейс &ktimetracker;

Головне вікно &ktimetracker; складається з таких елементів: смужки меню, панелі інструментів, панелі пошуку, вікна задач і відліку часу і смужки стану.

Панель пошуку містить комбіноване поле. До того часу, доки ви не натиснете &Enter;, це поле діє як фільтр. Буде показано лише задачі, що відповідають введеній вами інформації. Коли ви натиснете &Enter;, введена вами інформація буде використана як назва нової задачі.

Позначте пункт Налаштування для КПК на сторінці Вигляд у діалоговому вікні параметрів програми, якщо у вашого комп’ютера сенсорний екран, тому слід використовувати поверхню екрана якомога повніше. Програмою буде приховано панель пошуку, кожне клацання відкриватиме контекстне меню.

Вікно &ktimetracker; Вікно &ktimetracker;

### Вікно «Задача/Час»

У цьому вікні буде показано різноманітні задачі разом з часом, який було відлічено для кожної з них протягом поточного сеансу і загалом. Задачі, для яких виконується відлік, буде позначено маленьким годинничком поряд з часом сеансу.

Для кожної з задач можна створювати підзадачі. Натискання значка з плюсом і мінусом перед записом головної задачі розгортатиме або згортатиме перегляд пов’язаних підзадач. До загального часу, відліченого для задачі, буде включено час, витрачений на кожну з підзадач, а також власний час задачі.

### Панель інструментів і смужка стану

На панелі інструментів (пеналі) буде показано піктограми для таких команд:

Результат дії цих команд повністю збігається з відповідними командами меню.

- Нова задача

- Нова підзадача

- Почати

- Зупинити

- Вилучити

- Змінити

- Відкрити

- Зберегти

Смужка стану повідомить вам про назву файла, у якому буде збережено дані.

## Подяки і ліцензія

&ktimetracker;

Авторські права на програму:

- &Sirtaj.Singh.Kang; &Sirtaj.Singh.Kang.mail;, 1997–2000

- Tomas Pospisek tpo_deb@sourcepole.ch, 2001–2002

- Mark Bucciarelli mark@hubcapconsulting.com, 2003–2004

- Thorsten Stärk dev@staerk.de, 2004–2011

- Alexander Potashev aspotashev@gmail.com, 2019

Учасники розробки (за абеткою)

- Alexander Potashev aspotashev@gmail.com

- Allen Winter winter@kde.org

- &David.Faure; &David.Faure.mail;

- &Espen.Sand; espen@kde.org

- Gioele Barabucci gioele@gioelebarabucci.com

- Jan Schaumann jschauma@netmeister.org

- &Jesper.Pedersen; blackie@ifad.dk

- Kalle Dalheimer &Matthias.Kalle.Dalheimer.mail;

- Klarälvdalens Datakonsult AB

- Mark Bucciarelli mark@hubcapconsulting.com

- Thorsten Stärk dev@staerk.de

- Tomas Pospisek tpo_deb@sourcepole.ch

- Willi Richert w.richert@cox.net

Ідею &ktimetracker; було запозичено з дуже корисної програми Harald Tveit Alvestrand з назвою titrax, єдиним недоліком якої було те, що її було засновано на наборі інструментів Xt.

Авторські права на документацію до програми належать &Jonathan.Singer; &Jonathan.Singer.mail; і &Sirtaj.Singh.Kang; &Sirtaj.Singh.Kang.mail;, ©2000–2004

Переклад українською: Юрій Чорноіван yurchor@ukr.net

&underFDL; &underGPL;

## Глосарій

## А

активна задача

Задача, для якої запущено таймер.

## D

&DBus;

Протокол взаємодії між процесами. Назва є скороченням від Desktop Bus (канал стільниці).

стільниця

У &GNU;/&Linux;, FreeBSD та інших системах, де працює сервер X.Org існує декілька стільниць. Типово, буде встановлено чотири різних стільниці. На кожній зі стільниць може бути показано власний набір програм і файлів. Після першого запуску Плазми &kde; ви побачите Стільницю 1. Якщо натиснути комбінацію клавіш &Ctrl;F2, ви побачите Стільницю 2. Натискання комбінації клавіш &Ctrl;F1 поверне вас на Стільницю 1.

## Ж

журнал

Якщо &ktimetracker; налаштовано на запис історії, програма запише кожну подію з запуску/зупинки таймера. Ця історія не спорожнюється під час скидання значень таймерів і залишається записаною у файлі до того часу, доки ви не вилучите задачу.

## С

сеанс

Визначена користувачем точка запуску таймерів сеансу. Розпочати новий сеанс можна розпочати за допомогою пункту меню Файл Запустити новий сеанс . Дані сеансу не зберігаються під час створення нового сеансу.

Тривалість сеансу

Час, витрачений на задачу з початку сеансу.

системний лоток

Системний лоток — це панель у Плазмі &kde;, яка (типово) розташовується в нижній частині екрана. У цьому системному лотку піктограма &ktimetracker; розташовується праворуч.

## З

задача найвищого рівня

Задача, у якої немає батьківських задач.

Загальна тривалість сеансу

Час, витрачений на задачу і всі її підзадачі з початку сеансу.

Час

Час, витрачений на задачу, з моменту останнього скидання показань таймерів.

Всього часу

Час, витрачений на задачу і всі її підзадачі, з моменту останнього скидання показань таймерів.

## Інтерфейс &DBus;

version

version

Повертає версію &ktimetracker;.

    QString version()

#### Опис

Функція `version()` — це виклик &DBus;, який повертає номер версії &ktimetracker;, наприклад 4.3.1. Номер версії повертається як рядок у типовому форматі &GNU;, основна.додаткова.виправлення.

quit

quit

Завершити роботу &ktimetracker;.

    QString quit()

#### Опис

`quit()` — це виклик &DBus;, за допомогою якого зовнішня програма може належним чином завершити роботу &ktimetracker;.

addTask

addTask

Додати нову задачу.

    QString addTask(QString taskname)

#### Параметри

`taskname`

- Назва нової задачі.

#### Опис

Функція `addTask(QString taskname)` — це виклик &DBus;, який додає нове завдання найвищого рівня до поточного списку. Функція поверне унікальний ідентифікатор (UID) створеної задачі.

&documentation.index;