gitonic 0.17.0__tar.gz → 0.18.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. {gitonic-0.17.0 → gitonic-0.18.1}/BACKLOG.md +31 -23
  2. {gitonic-0.17.0 → gitonic-0.18.1}/CHANGELOG.md +37 -1
  3. {gitonic-0.17.0 → gitonic-0.18.1}/LICENSE.md +1 -1
  4. {gitonic-0.17.0 → gitonic-0.18.1}/MANIFEST.in +3 -0
  5. {gitonic-0.17.0 → gitonic-0.18.1}/PKG-INFO +200 -115
  6. {gitonic-0.17.0 → gitonic-0.18.1}/README.md +128 -86
  7. gitonic-0.18.1/gitonic/__init__.py +7 -0
  8. gitonic-0.18.1/gitonic/__main__.py +6 -0
  9. gitonic-0.18.1/gitonic/core/__init__.py +11 -0
  10. gitonic-0.18.1/gitonic/core/conf.py +133 -0
  11. gitonic-0.18.1/gitonic/core/configs.py +26 -0
  12. gitonic-0.18.1/gitonic/core/const.py +56 -0
  13. gitonic-0.18.1/gitonic/core/dataflow.py +81 -0
  14. {gitonic-0.17.0/gitonic → gitonic-0.18.1/gitonic/core}/file.py +55 -29
  15. gitonic-0.18.1/gitonic/core/gitcmd.py +209 -0
  16. gitonic-0.18.1/gitonic/core/gitobj.py +169 -0
  17. gitonic-0.18.1/gitonic/core/giton.py +413 -0
  18. gitonic-0.18.1/gitonic/core/gitonapp.py +502 -0
  19. gitonic-0.18.1/gitonic/core/gitutil.py +447 -0
  20. gitonic-0.18.1/gitonic/core/logs.py +240 -0
  21. gitonic-0.18.1/gitonic/core/ncur.py +24 -0
  22. gitonic-0.18.1/gitonic/core/proc.py +165 -0
  23. gitonic-0.18.1/gitonic/core/runr.py +101 -0
  24. {gitonic-0.17.0/gitonic → gitonic-0.18.1/gitonic/core}/sysutil.py +8 -0
  25. gitonic-0.18.1/gitonic/core/task.py +237 -0
  26. gitonic-0.18.1/gitonic/gitonic.py +1194 -0
  27. gitonic-0.18.1/gitonic/gtcd.py +59 -0
  28. gitonic-0.18.1/gitonic/gtcommon.py +63 -0
  29. gitonic-0.18.1/gitonic/gtls.py +72 -0
  30. gitonic-0.18.1/gitonic/tkui/__init__.py +11 -0
  31. gitonic-0.18.1/gitonic/tkui/icons.py +72 -0
  32. gitonic-0.18.1/gitonic/tkui/material_fonts/LICENSE +202 -0
  33. gitonic-0.18.1/gitonic/tkui/material_fonts/MaterialSymbolsOutlined_5BFILL_GRAD_opsz_wght_5D.codepoints +4101 -0
  34. gitonic-0.18.1/gitonic/tkui/material_fonts/MaterialSymbolsOutlined_5BFILL_GRAD_opsz_wght_5D.ttf +0 -0
  35. gitonic-0.18.1/gitonic/tkui/material_fonts/MaterialSymbolsRounded_5BFILL_GRAD_opsz_wght_5D.codepoints +4101 -0
  36. gitonic-0.18.1/gitonic/tkui/material_fonts/MaterialSymbolsRounded_5BFILL_GRAD_opsz_wght_5D.ttf +0 -0
  37. gitonic-0.18.1/gitonic/tkui/material_fonts.py +63 -0
  38. gitonic-0.18.1/gitonic/tkui/otherdeps/LICENSE-gitonic +676 -0
  39. gitonic-0.18.1/gitonic/tkui/otherdeps/LICENSE-tktootip +21 -0
  40. {gitonic-0.17.0/gitonic → gitonic-0.18.1/gitonic/tkui}/singleinstance.py +52 -3
  41. gitonic-0.18.1/gitonic/tkui/tkuiapp.py +355 -0
  42. gitonic-0.18.1/gitonic/tkui/tkuicore.py +233 -0
  43. gitonic-0.18.1/gitonic/tkui/tkuiview.py +480 -0
  44. gitonic-0.18.1/gitonic/tkui/tkuiwidg.py +662 -0
  45. {gitonic-0.17.0 → gitonic-0.18.1}/gitonic.egg-info/PKG-INFO +200 -115
  46. gitonic-0.18.1/gitonic.egg-info/SOURCES.txt +56 -0
  47. gitonic-0.18.1/gitonic.egg-info/entry_points.txt +6 -0
  48. {gitonic-0.17.0 → gitonic-0.18.1}/gitonic.egg-info/requires.txt +1 -1
  49. {gitonic-0.17.0 → gitonic-0.18.1}/setup.cfg +0 -1
  50. {gitonic-0.17.0 → gitonic-0.18.1}/setup.py +3 -2
  51. gitonic-0.17.0/gitonic/__init__.py +0 -11
  52. gitonic-0.17.0/gitonic/__main__.py +0 -8
  53. gitonic-0.17.0/gitonic/const.py +0 -1
  54. gitonic-0.17.0/gitonic/gitutil.py +0 -315
  55. gitonic-0.17.0/gitonic/gui.py +0 -1364
  56. gitonic-0.17.0/gitonic/icons.py +0 -7
  57. gitonic-0.17.0/gitonic/main.py +0 -184
  58. gitonic-0.17.0/gitonic/pyjsoncfg.py +0 -301
  59. gitonic-0.17.0/gitonic/task.py +0 -137
  60. gitonic-0.17.0/gitonic/tile/__init__.py +0 -11
  61. gitonic-0.17.0/gitonic/tile/core.py +0 -1385
  62. gitonic-0.17.0/gitonic/tile/tkcmd.py +0 -81
  63. gitonic-0.17.0/gitonic.egg-info/SOURCES.txt +0 -33
  64. gitonic-0.17.0/gitonic.egg-info/entry_points.txt +0 -2
  65. {gitonic-0.17.0 → gitonic-0.18.1}/git-alt.svg +0 -0
  66. {gitonic-0.17.0 → gitonic-0.18.1}/git-black.svg +0 -0
  67. {gitonic-0.17.0 → gitonic-0.18.1}/git-red.svg +0 -0
  68. {gitonic-0.17.0 → gitonic-0.18.1}/git-white.svg +0 -0
  69. {gitonic-0.17.0 → gitonic-0.18.1}/gitonic.egg-info/dependency_links.txt +0 -0
  70. {gitonic-0.17.0 → gitonic-0.18.1}/gitonic.egg-info/top_level.txt +0 -0
  71. {gitonic-0.17.0 → gitonic-0.18.1}/pyproject.toml +0 -0
@@ -1,11 +1,11 @@
1
1
 
2
- # BACKLOG
2
+ # BACKLOG
3
3
 
4
4
  - documentation
5
5
  - testcases?
6
- - revert changes / git checkout support
7
- - undo support for unstaged files
8
- - git restore <file>
6
+ - ~~revert changes / git checkout support~~
7
+ - ~~undo support for unstaged files~~
8
+ - ~~git restore <file~~
9
9
  - ~~git fetch / merge support~~
10
10
  - ~~currently gitonic supports only pull~~
11
11
  - git branch support
@@ -23,47 +23,55 @@
23
23
  - support also git commit --amend
24
24
  - git tag support
25
25
  - git stash support (list, show, push, pop/apply, drop, clear)
26
- - support verbose output in expert mode
27
- - support flags -v and -vv where applicable
26
+ - ~~support verbose output in expert mode~~
27
+ - ~~support flags -v and -vv where applicable~~
28
28
  - settings tabs
29
29
  - check for installed git
30
30
  - ~~git exe configuration in settings~~
31
31
  - check for latest version of gitonic
32
32
  -
33
33
  - ~~config file for last known config~~
34
- - diff-tool blocks main screen (see next)
34
+ - ~~diff-tool blocks main screen (see next)~~
35
35
  - gui rework
36
36
  - theme support
37
- - resize behavior -> expand
37
+ - ~~resize behavior -> expand~~
38
38
  - ~~icons~~
39
- - grid layout / less floating
40
- - freezing ui -> see background tasks
39
+ - ~~grid layout / less floating ~~
40
+ - ~~freezing ui -> see background tasks~~
41
41
  -
42
- - background task and event loop -> freezing gui when running git utils
43
- - use TkCmd also for Cmd runners
42
+ - background task and event loop ~~-> freezing gui when running git utils~~
43
+ - ~~use TkCmd also for Cmd runners~~
44
44
  - status bar with running background tasks overview?
45
- -
45
+ - esc esc handler and shut down
46
+ - currently it terminates all running background tasks
47
+ - option to show extra popup to inform the user regarding running tasks
46
48
  - refact for integration in other tools
47
- - filter git on 'changes' tab
49
+ - ~~filter git on 'changes' tab~~
48
50
  - rework logging
49
51
  - ~~remove print statements in main~~
50
- - remove print statements in tile.core
52
+ - ~~remove print statements in tile.core~~
53
+ - remove print statements
51
54
  - automation / external jobs
52
55
  - ~~black PEP8 support~~
53
- - desktop integration
54
- - open shell at repo path
55
- - open file management too at repo path
56
+ - ~~desktop integration~~
57
+ - ~~open shell at repo path~~
58
+ - ~~open file management too at repo path~~
56
59
  - ~~history of commit texts~~
57
60
  - ~~in combo box~~
58
61
  - git log / show integration?
59
62
  - git error handling
60
- - switch to log tab after pull
61
- - logging, use python logger for expert mode output
63
+ - switch to log tab after pull???
64
+ - ~~logging, use python logger for expert mode output~~
62
65
  - support for .gitignore
63
66
  - adding single files
64
- - open .gitignore for editing
65
- - execute git operations in parallel where possible
66
- - make expert mode debugging out better (use python logging)
67
+ - ~~open .gitignore for editing~~
68
+ - ~~execute git operations in parallel where possible~~
69
+ - ~~make expert mode debugging out better (use python logging)~~
70
+ - context menu
71
+ - less sensitive (disappears to quickly)
72
+ - multiple row feature
73
+ - splash screen
74
+ - new version notification
67
75
  -
68
76
 
69
77
 
@@ -1,5 +1,41 @@
1
1
 
2
- # Changelog
2
+ # CHANGELOG
3
+
4
+
5
+ ## version v0.19.0 - ????????
6
+ -
7
+
8
+
9
+ ## version v0.18.1 - 20251109
10
+ - patch entry point
11
+ -
12
+
13
+
14
+ ## version v0.18.0 - 20251109
15
+ - redesign multi tasking / tk eventloop
16
+ - user interface is now non-blocking
17
+ - multi tasking tested with python 3.12
18
+ - **not yet tested** with python 3.13 / 3.14
19
+ - `gitonic` is released for python3.12 (fixed version)
20
+ - current implementation uses threads to fork `git` processes in the background
21
+ - the main tk eventloop receives the thread results and process this in callbacks
22
+ - read here for detailed information [`tk eventloop`](https://tkdocs.com/tutorial/eventloop.html))
23
+ - ui redesign
24
+ - resizeable main window
25
+ - dropped external font-awesome pip package
26
+ - material design icons included
27
+ - IMPORTANT: new right-mouse context handler `~/.gitonic/contextmenu.json`
28
+ - INCOMPATIBLE to `~/.gitonic/context.json`
29
+ - old context `~/.gitonic/context.json` is NOT supported anymore
30
+ - improved logging
31
+ - filter log for each repo
32
+ - codebase refactored
33
+ - new commandline tools (UNDER CONTSRUCTION - not yet final - dont expect anything!!! - this might be dropped in the future)
34
+ - `gtcd.py`
35
+ - opens a new terminal for a git repo quickly
36
+ - `gtls.py`
37
+ - list all changes for all tracked git repo
38
+ -
3
39
 
4
40
 
5
41
  ## version v0.17.0 - 20250715
@@ -1,6 +1,6 @@
1
1
  ---
2
2
 
3
- Copyright (c) 2022 k. goger - https://github.com/kr-g
3
+ Copyright (c) 2022-2025 k. goger - https://github.com/kr-g
4
4
 
5
5
  ---
6
6
 
@@ -3,5 +3,8 @@ include README.md
3
3
  include CHANGELOG.md
4
4
  include BACKLOG.md
5
5
 
6
+ include gitonic/tkui/material_fonts/*
7
+ include gitonic/tkui/otherdeps/*
8
+
6
9
  include git-*.svg
7
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gitonic
3
- Version: 0.17.0
3
+ Version: 0.18.1
4
4
  Summary: manage a multi git workspace
5
5
  Home-page: https://github.com/kr-g/gitonic
6
6
  Author: k. goger
@@ -15,11 +15,10 @@ Classifier: Topic :: Utilities
15
15
  Classifier: Topic :: Desktop Environment
16
16
  Classifier: Topic :: Software Development :: Version Control :: Git
17
17
  Classifier: Programming Language :: Python :: 3
18
- Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
19
- Requires-Python: >=3.12
18
+ Requires-Python: >=3.12,<3.13
20
19
  Description-Content-Type: text/markdown
21
20
  License-File: LICENSE.md
22
- Requires-Dist: pytkfaicons
21
+ Requires-Dist: pillow
23
22
  Requires-Dist: tkinter-tooltip
24
23
  Provides-Extra: pep08
25
24
  Requires-Dist: pycodestyle; extra == "pep08"
@@ -52,7 +51,20 @@ Dynamic: requires-python
52
51
  [![PEP-08](https://img.shields.io/badge/code%20style-PEP08-green.svg)](https://www.python.org/dev/peps/pep-0008/)
53
52
 
54
53
 
55
- you are reading VERSION = v0.17.0
54
+ you are reading VERSION = v0.18.1
55
+
56
+ version v0.18.1 will come with some bigger changes.
57
+
58
+ read latest news here:
59
+
60
+ [`CHANGELOG`](https://github.com/kr-g/gitonic/blob/main/CHANGELOG.md)
61
+
62
+
63
+ older versions:
64
+
65
+ [`OLD VERSIONS`](https://github.com/kr-g/gitonic/tags)
66
+
67
+
56
68
 
57
69
 
58
70
  # gitonic
@@ -321,40 +333,47 @@ to open the system file manager tool (file explorer)
321
333
  at the base git repo path or at the changed file path.
322
334
 
323
335
  in addition it is possible to add own custom context menu entries here.
324
- configuration is done with `~/.gitonic/context.json` file.
336
+ configuration is done with `~/.gitonic/contextmenu.json` file.
325
337
 
326
338
  the general structure is:
327
339
 
328
340
  {
329
- "a-context-name-ctx": {
341
+ "acontext-name": {
330
342
  "expr": "*",
331
- "workdir": ".",
332
- "menu": [
333
- [
334
- "some text $GIT",
335
- [
343
+ "changes-all|file|repo": [
344
+ {
345
+ "name": "a text $_GIT",
346
+ "para": [
336
347
  "cmd-path",
337
348
  "whatever_param=$GIT"
338
349
  ]
339
- ],
340
- [
341
- "some other text $PATH",
342
- [
350
+ },
351
+ {
352
+ "name": "some other text $_PATH",
353
+ "para": [
343
354
  "cmd-path2",
344
355
  "whatever_param=$PATH"
345
356
  ]
346
- ]
357
+ },
358
+ ...
347
359
  ]
348
360
  },
349
361
  ...
350
362
  }
351
363
 
364
+ where `changes-all|file|repo` is the section where the context menu should appear.
365
+ - `changes-file` is the right section where all files are listed
366
+ - `changes-repo` is the left section where all repos are listed
367
+ - `changes-all` will appear in both (left and right section)
352
368
 
353
369
  here the variables `$GIT`, `$FILE`, `$PATH`, `$NAME`, or `$PYTHON`
354
370
  are replaced by the corrosponding path before execution.
355
371
  where `$PYTHON` expands to `sys.executable` from `gitonic` runtime.
356
372
  and `$NAME` is a placeholder for `os.path.basedir`,
357
- and `$PATH` for `os.path.dirname`
373
+ and `$PATH` for `os.path.dirname`.
374
+
375
+ the variables `$_GIT`, `$_FILE`, `$_PATH`, or `$_NAME` are the shorten
376
+ path specifiers with `~` replacing the users home folder.
358
377
 
359
378
  the `expr` key contains a single file pattern, or a list of
360
379
  file patterns - when to enable the context menu.
@@ -363,96 +382,96 @@ the file pattern is following Unix filename pattern matching.
363
382
  the `workdir` key will change the current working directory before running
364
383
  the command.
365
384
 
366
- the `menu` array contains the text to display in the menu,
367
- and the command params as embedded array.
385
+ the `name` contains the text to display in the menu,
386
+ and `para` the command-binary plus params as array.
368
387
 
369
388
  the context name as such can have any value
370
389
  (as long it is unique in the structure).
371
390
 
372
391
 
373
- below a sample `~/.gitonic/context.json` file
392
+ below a sample `~/.gitonic/contextmenu.json` file
374
393
  for running on linux with xfce.
375
394
 
376
395
  {
377
396
  "term-ctx": {
378
397
  "expr": "*",
379
- "menu": [
380
- [
381
- "Open Terminal at $GIT",
382
- [
398
+ "changes-all": [
399
+ {
400
+ "name": "Open Terminal at $_GIT",
401
+ "para": [
383
402
  "xfce4-terminal",
384
- "--working-directory=$GIT"
403
+ "--default-working-directory=$GIT"
385
404
  ]
386
- ],
387
- [
388
- "Open Terminal at $PATH",
389
- [
405
+ },
406
+ {
407
+ "name": "Open Terminal at $_PATH",
408
+ "para": [
390
409
  "xfce4-terminal",
391
- "--working-directory=$PATH"
410
+ "--default-working-directory=$PATH"
392
411
  ]
393
- ],
394
- [
395
- "Edit .gitignore at $GIT",
396
- [
412
+ },
413
+ {
414
+ "name": "Edit .gitignore at $_GIT",
415
+ "para": [
397
416
  "xed",
398
417
  "$GIT/.gitignore"
399
418
  ]
400
- ]
419
+ }
401
420
  ]
402
421
  },
403
422
  "basic-ctx": {
404
423
  "expr": "*",
405
- "menu": [
406
- [
407
- "less $NAME at $PATH",
408
- [
424
+ "changes-file": [
425
+ {
426
+ "name": "less $NAME at $_PATH",
427
+ "para": [
409
428
  "xfce4-terminal",
410
429
  "-x",
411
430
  "less",
412
431
  "$FILE"
413
432
  ]
414
- ],
415
- [
416
- "edit $NAME at $PATH",
417
- [
433
+ },
434
+ {
435
+ "name": "edit $NAME at $_PATH",
436
+ "para": [
418
437
  "xed",
419
438
  "$FILE"
420
439
  ]
421
- ],
422
- [
423
- "vi $NAME at $PATH",
424
- [
440
+ },
441
+ {
442
+ "name": "vi $NAME at $_PATH",
443
+ "para": [
425
444
  "xfce4-terminal",
426
445
  "-x",
427
446
  "vi",
428
447
  "$FILE"
429
448
  ]
430
- ]
449
+ }
431
450
  ]
432
451
  },
433
452
  "spyder-ctx": {
434
453
  "expr": "*.py",
435
- "menu": [
436
- [
437
- "spyder python $FILE",
438
- [
454
+ "changes-file": [
455
+ {
456
+ "name": "spyder python $_FILE",
457
+ "para": [
439
458
  "~/spyder/.venv/bin/spyder",
440
459
  "$FILE"
441
460
  ]
442
- ]
461
+ }
443
462
  ]
444
463
  },
445
464
  "autopep8-ctx": {
446
465
  "expr": "*.py",
447
- "menu": [
448
- [
449
- "autopep8 python $FILE",
450
- [
451
- "autopep8",
466
+ "changes-file": [
467
+ {
468
+ "name": "autopep8 python $_FILE",
469
+ "para": [
470
+ "~/repo/gitonic/.venv/bin/autopep8",
452
471
  "-i",
453
472
  "$FILE"
454
473
  ]
455
- ]
474
+ }
456
475
  ]
457
476
  },
458
477
  "geany-path": {
@@ -461,14 +480,14 @@ for running on linux with xfce.
461
480
  "*.cpp",
462
481
  "*.h"
463
482
  ],
464
- "menu": [
465
- [
466
- "geany c $FILE",
467
- [
483
+ "changes-file": [
484
+ {
485
+ "name": "geany c $_FILE",
486
+ "para": [
468
487
  "geany",
469
488
  "$FILE"
470
489
  ]
471
- ]
490
+ }
472
491
  ]
473
492
  },
474
493
  "uncrustify-path": {
@@ -477,10 +496,10 @@ for running on linux with xfce.
477
496
  "*.cpp",
478
497
  "*.h"
479
498
  ],
480
- "menu": [
481
- [
482
- "uncrustify c $FILE",
483
- [
499
+ "changes-file": [
500
+ {
501
+ "name": "uncrustify c $_FILE",
502
+ "para": [
484
503
  "uncrustify",
485
504
  "-c",
486
505
  "~/.gitonic/uncrustify.cfg",
@@ -489,28 +508,28 @@ for running on linux with xfce.
489
508
  "--no-backup",
490
509
  "--if-changed"
491
510
  ]
492
- ]
511
+ }
493
512
  ]
494
513
  },
495
514
  "git-base-tools": {
496
515
  "expr": [
497
516
  "*"
498
517
  ],
499
- "workdir" : "$GIT",
500
- "menu": [
501
- [
502
- "gitk $GIT",
503
- [
504
- "gitk"
518
+ "workdir": "$GIT",
519
+ "changes-all": [
520
+ {
521
+ "name": "gitk $_GIT",
522
+ "para": [
523
+ "gitk"
505
524
  ]
506
- ],
507
- [
508
- "git gui $GIT",
509
- [
525
+ },
526
+ {
527
+ "name": "git gui $_GIT",
528
+ "para": [
510
529
  "git",
511
- "gui"
530
+ "gui"
512
531
  ]
513
- ]
532
+ }
514
533
  ]
515
534
  }
516
535
  }
@@ -533,15 +552,22 @@ at the present time the context menu only works on the underlying file (row) in
533
552
  there is **no** support for multiple files (selection) as of now.
534
553
 
535
554
 
555
+ # related
556
+
557
+ plugin for thonny ide
558
+ [`thonny-gitonic`](https://github.com/kr-g/thonny-gitonic)
559
+
536
560
 
537
561
  # platform
538
562
 
539
563
  tested on python3, and linux
540
564
 
541
565
 
542
- # development status
566
+ # contribution
543
567
 
544
- alpha state, use on your own risk!!!
568
+ any contribution is welcome !
569
+
570
+ please create one issue for each proposal, or merge request.
545
571
 
546
572
 
547
573
  # installation
@@ -550,14 +576,21 @@ it is recommented to install gitonic into a
550
576
  [virtual environment](https://docs.python.org/3/library/venv.html).
551
577
  the following script will install gitonic in your home directory (linux).
552
578
 
579
+
580
+ #!/bin/bash
581
+
553
582
  # create virtual environment
583
+
554
584
  cd ~
555
585
  python3 -m venv gitonic
556
-
557
- # install gitonic with recommended extras
558
- ~/gitonic/bin/pip install gitonic[PEP08,MELD]
559
- or
560
- ~/gitonic/bin/pip install gitonic[DEFAULT]
586
+
587
+ cd gitonic
588
+
589
+ source ./bin/activate
590
+
591
+ # install gitonic with all pep08 and meld
592
+
593
+ pip3 install gitonic[PEP08,MELD]
561
594
 
562
595
 
563
596
  this script can be found here
@@ -679,7 +712,7 @@ following files are used:
679
712
  |---|---|
680
713
  |~/.gitonic/commit.json|the last commit messages show in the combo box|
681
714
  |~/.gitonic/config.json|configuration settings|
682
- |~/.gitonic/context.json|configuration for context menu on changes tab|
715
+ |~/.gitonic/contextmenu.json|configuration for context menu on changes tab|
683
716
  |~/.gitonic/formatter.json|configuration for external formatter tools|
684
717
  |~/.gitonic/tracked.json|tracked git repositories|
685
718
  |~/.gitonic/socket|internal use|
@@ -698,9 +731,53 @@ gitonic is released under the following
698
731
  git logos from [git-scm](https://git-scm.com/downloads/logos)
699
732
 
700
733
 
734
+ # support and donations
735
+
736
+ support the further development of `gitonic` with a donation of your choice.
737
+
738
+ [support and donnations](https://github.com/kr-g/gitonic/wiki/Support)
739
+
740
+ thank you !!!
741
+
701
742
 
702
743
 
703
- # Changelog
744
+ # CHANGELOG
745
+
746
+
747
+ ## version v0.19.0 - ????????
748
+ -
749
+
750
+
751
+ ## version v0.18.1 - 20251109
752
+ - patch entry point
753
+ -
754
+
755
+
756
+ ## version v0.18.0 - 20251109
757
+ - redesign multi tasking / tk eventloop
758
+ - user interface is now non-blocking
759
+ - multi tasking tested with python 3.12
760
+ - **not yet tested** with python 3.13 / 3.14
761
+ - `gitonic` is released for python3.12 (fixed version)
762
+ - current implementation uses threads to fork `git` processes in the background
763
+ - the main tk eventloop receives the thread results and process this in callbacks
764
+ - read here for detailed information [`tk eventloop`](https://tkdocs.com/tutorial/eventloop.html))
765
+ - ui redesign
766
+ - resizeable main window
767
+ - dropped external font-awesome pip package
768
+ - material design icons included
769
+ - IMPORTANT: new right-mouse context handler `~/.gitonic/contextmenu.json`
770
+ - INCOMPATIBLE to `~/.gitonic/context.json`
771
+ - old context `~/.gitonic/context.json` is NOT supported anymore
772
+ - improved logging
773
+ - filter log for each repo
774
+ - codebase refactored
775
+ - new commandline tools (UNDER CONTSRUCTION - not yet final - dont expect anything!!! - this might be dropped in the future)
776
+ - `gtcd.py`
777
+ - opens a new terminal for a git repo quickly
778
+ - `gtls.py`
779
+ - list all changes for all tracked git repo
780
+ -
704
781
 
705
782
 
706
783
  ## version v0.17.0 - 20250715
@@ -869,13 +946,13 @@ git logos from [git-scm](https://git-scm.com/downloads/logos)
869
946
  -
870
947
 
871
948
 
872
- # BACKLOG
949
+ # BACKLOG
873
950
 
874
951
  - documentation
875
952
  - testcases?
876
- - revert changes / git checkout support
877
- - undo support for unstaged files
878
- - git restore <file>
953
+ - ~~revert changes / git checkout support~~
954
+ - ~~undo support for unstaged files~~
955
+ - ~~git restore <file~~
879
956
  - ~~git fetch / merge support~~
880
957
  - ~~currently gitonic supports only pull~~
881
958
  - git branch support
@@ -893,47 +970,55 @@ git logos from [git-scm](https://git-scm.com/downloads/logos)
893
970
  - support also git commit --amend
894
971
  - git tag support
895
972
  - git stash support (list, show, push, pop/apply, drop, clear)
896
- - support verbose output in expert mode
897
- - support flags -v and -vv where applicable
973
+ - ~~support verbose output in expert mode~~
974
+ - ~~support flags -v and -vv where applicable~~
898
975
  - settings tabs
899
976
  - check for installed git
900
977
  - ~~git exe configuration in settings~~
901
978
  - check for latest version of gitonic
902
979
  -
903
980
  - ~~config file for last known config~~
904
- - diff-tool blocks main screen (see next)
981
+ - ~~diff-tool blocks main screen (see next)~~
905
982
  - gui rework
906
983
  - theme support
907
- - resize behavior -> expand
984
+ - ~~resize behavior -> expand~~
908
985
  - ~~icons~~
909
- - grid layout / less floating
910
- - freezing ui -> see background tasks
986
+ - ~~grid layout / less floating ~~
987
+ - ~~freezing ui -> see background tasks~~
911
988
  -
912
- - background task and event loop -> freezing gui when running git utils
913
- - use TkCmd also for Cmd runners
989
+ - background task and event loop ~~-> freezing gui when running git utils~~
990
+ - ~~use TkCmd also for Cmd runners~~
914
991
  - status bar with running background tasks overview?
915
- -
992
+ - esc esc handler and shut down
993
+ - currently it terminates all running background tasks
994
+ - option to show extra popup to inform the user regarding running tasks
916
995
  - refact for integration in other tools
917
- - filter git on 'changes' tab
996
+ - ~~filter git on 'changes' tab~~
918
997
  - rework logging
919
998
  - ~~remove print statements in main~~
920
- - remove print statements in tile.core
999
+ - ~~remove print statements in tile.core~~
1000
+ - remove print statements
921
1001
  - automation / external jobs
922
1002
  - ~~black PEP8 support~~
923
- - desktop integration
924
- - open shell at repo path
925
- - open file management too at repo path
1003
+ - ~~desktop integration~~
1004
+ - ~~open shell at repo path~~
1005
+ - ~~open file management too at repo path~~
926
1006
  - ~~history of commit texts~~
927
1007
  - ~~in combo box~~
928
1008
  - git log / show integration?
929
1009
  - git error handling
930
- - switch to log tab after pull
931
- - logging, use python logger for expert mode output
1010
+ - switch to log tab after pull???
1011
+ - ~~logging, use python logger for expert mode output~~
932
1012
  - support for .gitignore
933
1013
  - adding single files
934
- - open .gitignore for editing
935
- - execute git operations in parallel where possible
936
- - make expert mode debugging out better (use python logging)
1014
+ - ~~open .gitignore for editing~~
1015
+ - ~~execute git operations in parallel where possible~~
1016
+ - ~~make expert mode debugging out better (use python logging)~~
1017
+ - context menu
1018
+ - less sensitive (disappears to quickly)
1019
+ - multiple row feature
1020
+ - splash screen
1021
+ - new version notification
937
1022
  -
938
1023
 
939
1024
 
@@ -964,7 +1049,7 @@ this must be done by checking the log tab manually where all cmdline output goes
964
1049
 
965
1050
  ---
966
1051
 
967
- Copyright (c) 2022 k. goger - https://github.com/kr-g
1052
+ Copyright (c) 2022-2025 k. goger - https://github.com/kr-g
968
1053
 
969
1054
  ---
970
1055