Підручник з KTimetracker

# Підручник з KTimetracker

Jonathan Singer `<jsinger@leeta.net>`

Mark Bucciarelli `<mark@hubcapconsulting.com>`

Sirtaj Singh Kang `<taj@kde.org>`

Рецензент: Lauri Watts
Переклад українською: Юрій Чорноіван
версія 5.0 (19 листопада 2019 року)

Авторське право © 2000-2004 Jonathan Singer

Авторське право © 2004-2005 Mark Bucciarelli

Правова примітка

KTimetracker — інструмент для слідкування за часом, витраченим на різноманітні задачі.

Список прикладів

2.1. Скрипт Bash, який виводить версію KTimetracker
2.2. Показує список інтерфейсів D-Bus KTimetracker у консолі

Розділ 1. Вступ
Вступ

# Розділ 1. Вступ

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

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

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

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

Розділ 2. Користування KTimetracker
Користування KTimetracker

# Розділ 2. Користування KTimetracker

## Як запустити KTimetracker

Введіть команду ktimetracker у командному рядку або оберіть пункт Персональний лічильник часу з групи Інструменти → Утиліти у меню запуску програм Плазми. Можна скористатися загальними параметрами командного рядка Qt™ та KDE Frameworks 5 (див. сторінки підручника щодо qt5options та kf5options).

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

Задачі
Задачі

## Задачі

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

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

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

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

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

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

KTimetracker може імпортувати і експортувати задачі, що полегшить вам життя. Див. «Інші системи».

Таймери
Таймери

## Таймери

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

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

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

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

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

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

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

Час

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

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

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

Всього часу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### KOrganizer

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

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

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

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

### D-Bus

У KTimetracker передбачено підтримку декількох методів, якими можна скористатися за допомогою D-Bus.

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

Приклад 2.1. Скрипт Bash, який виводить версію KTimetracker

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

У поточній версії KTimetracker інтерфейс D-Bus використовується в основному з метою автоматизації перевірки, він є дуже обмеженим. Повний опис інтерфейсу можна знайти у розділі Додаток A, Інтерфейс D-Bus.

Щоб ознайомитися з повним переліком інтерфейсів D-Bus, які надає у ваше розпорядження версія KTimetracker, встановлена у вашій системі, виконайте такий скрипт Bash:

Приклад 2.2. Показує список інтерфейсів D-Bus KTimetracker у консолі

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

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

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

Виберіть варіант Час як 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 (РРРР-ММ-ДД). У наступних рядках списку буде показано час, відлічений для кожної з задач. У останньому стовпчику буде показано загальний підсумок для всіх днів. Назву задачі буде виведено за останнім стовпчиком з відступом, який позначатиме зв’язок задача-підзадача. Назви задач верхнього рівня буде показано у першому стовпчику після підсумків.

Розділ 3. Інтерфейс KTimetracker
Інтерфейс KTimetracker

# Розділ 3. Інтерфейс KTimetracker

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

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

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

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

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

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

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

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

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

### Примітка

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

- Нова задача

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

- Почати

- Зупинити

- Вилучити

- Змінити

- Відкрити

- Зберегти

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

Розділ 4. Подяки і ліцензія
Подяки і ліцензія

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

KTimetracker

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

- Sirtaj Singh Kang `(taj AT kde.org)`, 1997–2000

- Tomas Pospisek `(tpo_deb AT sourcepole.ch)`, 2001–2002

- Mark Bucciarelli `(mark AT hubcapconsulting.com)`, 2003–2004

- Thorsten Stärk `(dev AT staerk.de)`, 2004–2011

- Alexander Potashev `(aspotashev AT gmail.com)`, 2019

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

- Alexander Potashev `(aspotashev AT gmail.com)`

- Allen Winter `(winter AT kde.org)`

- David Faure `(faure AT kde.org)`

- Espen Sand `(espen AT kde.org)`

- Gioele Barabucci `(gioele AT gioelebarabucci.com)`

- Jan Schaumann `(jschauma AT netmeister.org)`

- Jesper Pedersen `(blackie AT ifad.dk)`

- Kalle Dalheimer `(kalle AT kde.org)`

- Klarälvdalens Datakonsult AB

- Mark Bucciarelli `(mark AT hubcapconsulting.com)`

- Thorsten Stärk `(dev AT staerk.de)`

- Tomas Pospisek `(tpo_deb AT sourcepole.ch)`

- Willi Richert `(w.richert AT cox.net)`

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

Авторські права на документацію до програми належать Jonathan Singer `(jsinger AT leeta.net)` і Sirtaj Singh Kang `(taj AT kde.org)`, ©2000–2004

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

Цей документ поширюється за умов дотримання GNU Free Documentation License.

Ця програма поширюється за умов дотримання GNU General Public License.

Глосарій
Глосарій

# Глосарій

### А

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

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

### D

D-Bus

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

стільниця

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

### Ж

журнал

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

### С

сеанс

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

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

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

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

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

### З

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

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

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

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

Час

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

Всього часу

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

Додаток A. Інтерфейс D-Bus
Інтерфейс D-Bus

# Додаток A. Інтерфейс D-Bus

version
version

## Назва

version — Повертає версію KTimetracker.

## Короткий огляд

    QString version()

## Опис

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

quit
quit

## Назва

quit — Завершити роботу KTimetracker.

## Короткий огляд

    QString quit()

## Опис

`quit()` — це виклик D-Bus, за допомогою якого зовнішня програма може належним чином завершити роботу KTimetracker.

addTask
addTask

## Назва

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

## Короткий огляд

    QString addTask(QString taskname)

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

`taskname`

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

## Опис

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