bash-script-maker 1.6.1__tar.gz → 1.8.0__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 (49) hide show
  1. {bash-script-maker-1.6.1/bash_script_maker.egg-info → bash-script-maker-1.8.0}/PKG-INFO +1 -1
  2. bash-script-maker-1.8.0/VERSION +1 -0
  3. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/__version__.py +2 -2
  4. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash-script-maker.desktop +1 -1
  5. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0/bash_script_maker.egg-info}/PKG-INFO +1 -1
  6. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.py +190 -11
  7. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/install_desktop_integration.sh +17 -4
  8. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/pyproject.toml +1 -1
  9. bash-script-maker-1.6.1/VERSION +0 -1
  10. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/LICENSE +0 -0
  11. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/MANIFEST.in +0 -0
  12. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/README.md +0 -0
  13. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker-128.png +0 -0
  14. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker-16.png +0 -0
  15. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker-256.png +0 -0
  16. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker-32.png +0 -0
  17. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker-48.png +0 -0
  18. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker-64.png +0 -0
  19. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets/bash-script-maker.svg +0 -0
  20. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/assets.py +0 -0
  21. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.egg-info/SOURCES.txt +0 -0
  22. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.egg-info/dependency_links.txt +0 -0
  23. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.egg-info/entry_points.txt +0 -0
  24. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.egg-info/not-zip-safe +0 -0
  25. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.egg-info/requires.txt +0 -0
  26. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/bash_script_maker.egg-info/top_level.txt +0 -0
  27. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/beispiel_script.sh +0 -0
  28. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/compile_translations.py +0 -0
  29. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/create_release.sh +0 -0
  30. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/custom_dialogs.py +0 -0
  31. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/dev-requirements.txt +0 -0
  32. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/generate_icons.py +0 -0
  33. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/init_github.sh +0 -0
  34. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/install.sh +0 -0
  35. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/install_apt.sh +0 -0
  36. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/install_dnf.sh +0 -0
  37. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/locales/de/LC_MESSAGES/base.po +0 -0
  38. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/locales/en/LC_MESSAGES/base.po +0 -0
  39. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/localization.py +0 -0
  40. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/mein_script.sh +0 -0
  41. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/packages.txt +0 -0
  42. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/requirements.txt +0 -0
  43. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/setup.cfg +0 -0
  44. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/setup.py +0 -0
  45. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/setup_flatpak.py +0 -0
  46. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/start.sh +0 -0
  47. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/syntax_highlighter.py +0 -0
  48. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/test_installation.sh +0 -0
  49. {bash-script-maker-1.6.1 → bash-script-maker-1.8.0}/uninstall.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bash-script-maker
3
- Version: 1.6.1
3
+ Version: 1.8.0
4
4
  Summary: Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung
5
5
  Home-page: https://github.com/securebitsorg/bash-script-maker
6
6
  Author: Marcel Dellmann
@@ -0,0 +1 @@
1
+ 1.8.0
@@ -4,5 +4,5 @@
4
4
  Version information for Bash-Script-Maker
5
5
  """
6
6
 
7
- __version__ = "1.6.1"
8
- __version_info__ = (1, 6, 1)
7
+ __version__ = "1.8.0"
8
+ __version_info__ = (1, 8, 0)
@@ -2,7 +2,7 @@
2
2
  Name=Bash-Script-Maker
3
3
  Comment=Ein GUI-Programm zur Erstellung von Bash-Scripts
4
4
  Exec=bash-script-maker
5
- Icon=bash-script-maker.svg
5
+ Icon=bash-script-maker
6
6
  Terminal=false
7
7
  Type=Application
8
8
  Categories=Development;Utility;TextEditor;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: bash-script-maker
3
- Version: 1.6.1
3
+ Version: 1.8.0
4
4
  Summary: Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung
5
5
  Home-page: https://github.com/securebitsorg/bash-script-maker
6
6
  Author: Marcel Dellmann
@@ -125,18 +125,26 @@ class AboutDialog(ttk.Toplevel):
125
125
  def __init__(self, parent):
126
126
  super().__init__(parent)
127
127
  self.title(_("Über Bash-Script-Maker"))
128
- self.geometry("450x350")
128
+ self.geometry("500x450")
129
+ self.resizable(False, False)
129
130
 
130
131
  container = ttk.Frame(self, padding=20)
131
132
  container.pack(fill=tk.BOTH, expand=True)
132
133
 
134
+ # Logo und Titel-Bereich
135
+ header_frame = ttk.Frame(container)
136
+ header_frame.pack(fill=tk.X, pady=(0, 20))
137
+
138
+ # Logo hinzufügen
139
+ self.add_logo_to_header(header_frame)
140
+
133
141
  title_label = ttk.Label(
134
- container,
142
+ header_frame,
135
143
  text="Bash-Script-Maker",
136
- font=("", 18, "bold"),
144
+ font=("Arial", 20, "bold"),
137
145
  bootstyle="primary",
138
146
  )
139
- title_label.pack(pady=(0, 10))
147
+ title_label.pack(pady=(10, 0))
140
148
 
141
149
  desc_text = _("Ein GUI-Programm zur einfachen Erstellung von Bash-Scripts.")
142
150
  desc_label = ttk.Label(container, text=desc_text, wraplength=400)
@@ -182,6 +190,55 @@ class AboutDialog(ttk.Toplevel):
182
190
  )
183
191
  version_label.pack(pady=(15, 0))
184
192
 
193
+ # Schließen-Button
194
+ close_btn = ttk.Button(
195
+ container,
196
+ text=_("Schließen"),
197
+ command=self.destroy,
198
+ bootstyle="primary"
199
+ )
200
+ close_btn.pack(pady=(20, 0))
201
+
202
+ def add_logo_to_header(self, header_frame):
203
+ """Fügt das Logo zum About-Dialog-Header hinzu"""
204
+ try:
205
+ script_dir = os.path.dirname(os.path.abspath(__file__))
206
+ logo_path = os.path.join(script_dir, "assets", "bash-script-maker-64.png")
207
+
208
+ if os.path.exists(logo_path):
209
+ try:
210
+ from PIL import Image, ImageTk
211
+
212
+ # Logo für About-Dialog (64x64)
213
+ img = Image.open(logo_path)
214
+ logo_photo = ImageTk.PhotoImage(img)
215
+
216
+ logo_label = ttk.Label(header_frame, image=logo_photo)
217
+ logo_label.image = logo_photo # Referenz behalten
218
+ logo_label.pack(anchor=tk.CENTER)
219
+
220
+ except ImportError:
221
+ # Fallback: Großes Emoji
222
+ logo_label = ttk.Label(
223
+ header_frame,
224
+ text="🖥️",
225
+ font=("Arial", 48)
226
+ )
227
+ logo_label.pack(anchor=tk.CENTER)
228
+ else:
229
+ # Fallback: Emoji
230
+ logo_label = ttk.Label(
231
+ header_frame,
232
+ text="🖥️",
233
+ font=("Arial", 48)
234
+ )
235
+ logo_label.pack(anchor=tk.CENTER)
236
+
237
+ except Exception as e:
238
+ print(f"Fehler beim Hinzufügen des Logos zum About-Dialog: {e}")
239
+ # Minimaler Fallback
240
+ pass
241
+
185
242
 
186
243
  class ScriptInfoDialog(ttk.Toplevel):
187
244
  def __init__(self, parent, script_name, content):
@@ -329,6 +386,118 @@ class BashScriptMaker:
329
386
  except Exception as e:
330
387
  print(f"Fehler beim Setzen des Icons: {e}")
331
388
 
389
+ def add_logo_to_toolbar(self, toolbar):
390
+ """Fügt das Logo und den App-Namen zur Toolbar hinzu"""
391
+ try:
392
+ # Logo-Container für bessere Anordnung
393
+ logo_container = ttk.Frame(toolbar)
394
+ logo_container.pack(side=tk.LEFT, padx=(0, 20), pady=15)
395
+
396
+ # Pfad zum Icon ermitteln
397
+ script_dir = os.path.dirname(os.path.abspath(__file__))
398
+ logo_path = os.path.join(script_dir, "assets", "bash-script-maker-48.png")
399
+
400
+ if os.path.exists(logo_path):
401
+ try:
402
+ from PIL import Image, ImageTk
403
+
404
+ # Logo laden - größer für bessere Sichtbarkeit
405
+ img = Image.open(logo_path)
406
+ # Optimale Größe für Toolbar (36x36)
407
+ img = img.resize((36, 36), Image.Resampling.LANCZOS)
408
+ logo_photo = ImageTk.PhotoImage(img)
409
+
410
+ # Logo-Label erstellen
411
+ logo_label = ttk.Label(logo_container, image=logo_photo)
412
+ logo_label.image = logo_photo # Referenz behalten
413
+ logo_label.pack(side=tk.LEFT, padx=(0, 8))
414
+
415
+ # App-Name-Label hinzufügen
416
+ name_label = ttk.Label(
417
+ logo_container,
418
+ text="Bash-Script-Maker",
419
+ font=("Arial", 12, "bold"),
420
+ foreground="#2c3e50" # Dunkle Farbe für bessere Lesbarkeit
421
+ )
422
+ name_label.pack(side=tk.LEFT, anchor=tk.CENTER)
423
+
424
+ # Version-Label (kleiner) hinzufügen
425
+ version_label = ttk.Label(
426
+ logo_container,
427
+ text=f"v{__version__}",
428
+ font=("Arial", 9),
429
+ foreground="#7f8c8d" # Grau für subtile Version
430
+ )
431
+ version_label.pack(side=tk.LEFT, padx=(5, 0), anchor=tk.CENTER)
432
+
433
+ # Tooltips hinzufügen
434
+ ToolTip(logo_label, text=f"Bash-Script-Maker v{__version__}")
435
+ ToolTip(name_label, text=f"Bash-Script-Maker v{__version__}")
436
+ ToolTip(version_label, text=f"Version {__version__}")
437
+
438
+ print("Logo und App-Name zur Toolbar hinzugefügt")
439
+
440
+ except ImportError:
441
+ # Fallback ohne PIL - verwende Text-Logo mit Name
442
+ logo_label = ttk.Label(
443
+ logo_container,
444
+ text="🖥️",
445
+ font=("Arial", 24)
446
+ )
447
+ logo_label.pack(side=tk.LEFT, padx=(0, 8))
448
+
449
+ # App-Name auch im Fallback
450
+ name_label = ttk.Label(
451
+ logo_container,
452
+ text="Bash-Script-Maker",
453
+ font=("Arial", 12, "bold")
454
+ )
455
+ name_label.pack(side=tk.LEFT, anchor=tk.CENTER)
456
+
457
+ version_label = ttk.Label(
458
+ logo_container,
459
+ text=f"v{__version__}",
460
+ font=("Arial", 9)
461
+ )
462
+ version_label.pack(side=tk.LEFT, padx=(5, 0), anchor=tk.CENTER)
463
+
464
+ # Tooltips
465
+ ToolTip(logo_label, text=f"Bash-Script-Maker v{__version__}")
466
+ ToolTip(name_label, text=f"Bash-Script-Maker v{__version__}")
467
+ ToolTip(version_label, text=f"Version {__version__}")
468
+
469
+ print("Text-Logo und App-Name zur Toolbar hinzugefügt")
470
+
471
+ else:
472
+ # Nur Text-Branding wenn kein Icon gefunden
473
+ name_label = ttk.Label(
474
+ logo_container,
475
+ text="🖥️ Bash-Script-Maker",
476
+ font=("Arial", 12, "bold")
477
+ )
478
+ name_label.pack(side=tk.LEFT)
479
+
480
+ version_label = ttk.Label(
481
+ logo_container,
482
+ text=f"v{__version__}",
483
+ font=("Arial", 9)
484
+ )
485
+ version_label.pack(side=tk.LEFT, padx=(5, 0), anchor=tk.CENTER)
486
+
487
+ ToolTip(name_label, text=f"Bash-Script-Maker v{__version__}")
488
+ ToolTip(version_label, text=f"Version {__version__}")
489
+
490
+ print(f"Logo-Datei nicht gefunden: {logo_path}, verwende Text-Branding")
491
+
492
+ except Exception as e:
493
+ print(f"Fehler beim Hinzufügen des Logos: {e}")
494
+ # Minimaler Fallback
495
+ try:
496
+ fallback_label = ttk.Label(toolbar, text="Bash-Script-Maker", font=("Arial", 10, "bold"))
497
+ fallback_label.pack(side=tk.LEFT, padx=(0, 15), pady=20)
498
+ except:
499
+ pass
500
+
332
501
  def create_menu(self):
333
502
  """Erstellt das Menü der Anwendung"""
334
503
  menubar = tk.Menu(self.root)
@@ -453,6 +622,9 @@ class BashScriptMaker:
453
622
  toolbar = ttk.Frame(self.root)
454
623
  toolbar.pack(side=tk.TOP, fill=tk.X, padx=5, pady=(5, 0))
455
624
 
625
+ # Logo hinzufügen (links)
626
+ self.add_logo_to_toolbar(toolbar)
627
+
456
628
  # Toolbar-Inhalte - LINKS
457
629
  btn_new = ttk.Button(
458
630
  toolbar, text=_("Neu"), command=self.new_script, bootstyle="primary"
@@ -839,13 +1011,20 @@ class BashScriptMaker:
839
1011
  ScriptInfoDialog(self.root, self.script_name, content)
840
1012
 
841
1013
  def show_about(self):
842
- """Zeigt About-Dialog"""
843
- about_text = _(
844
- "Bash-Script-Maker ist ein GUI-Programm zur einfachen Erstellung von Bash-Scripts.\n\n"
845
- "Erstellt mit Python und Tkinter"
846
- )
847
-
848
- messagebox.showinfo(_("Über Bash-Script-Maker"), about_text)
1014
+ """Zeigt About-Dialog mit Logo"""
1015
+ try:
1016
+ about_dialog = AboutDialog(self.root)
1017
+ about_dialog.grab_set() # Modal dialog
1018
+ about_dialog.wait_window() # Warten bis Dialog geschlossen wird
1019
+ except Exception as e:
1020
+ # Fallback auf einfachen Dialog
1021
+ about_text = _(
1022
+ f"Bash-Script-Maker v{__version__}\n\n"
1023
+ "Ein GUI-Programm zur einfachen Erstellung von Bash-Scripts.\n\n"
1024
+ "Erstellt mit Python und Tkinter\n"
1025
+ "© 2024 SecureBits"
1026
+ )
1027
+ messagebox.showinfo(_("Über Bash-Script-Maker"), about_text)
849
1028
 
850
1029
  def open_documentation(self):
851
1030
  """Öffnet die README.md Datei im Standard-Browser."""
@@ -64,15 +64,28 @@ else
64
64
  exit 1
65
65
  fi
66
66
 
67
- # Kopiere Icon
68
- print_status "Installiere Icon..."
67
+ # Kopiere Icons
68
+ print_status "Installiere Icons..."
69
+
70
+ # SVG Icon
69
71
  if cp assets/bash-script-maker.svg ~/.local/share/icons/hicolor/scalable/apps/; then
70
- print_success "Icon installiert: ~/.local/share/icons/hicolor/scalable/apps/bash-script-maker.svg"
72
+ print_success "SVG-Icon installiert: ~/.local/share/icons/hicolor/scalable/apps/bash-script-maker.svg"
71
73
  else
72
- print_error "Fehler beim Kopieren des Icons!"
74
+ print_error "Fehler beim Kopieren des SVG-Icons!"
73
75
  exit 1
74
76
  fi
75
77
 
78
+ # PNG Icons in verschiedenen Größen
79
+ mkdir -p ~/.local/share/icons/hicolor/48x48/apps
80
+ mkdir -p ~/.local/share/icons/hicolor/64x64/apps
81
+ mkdir -p ~/.local/share/icons/hicolor/128x128/apps
82
+
83
+ cp assets/bash-script-maker-48.png ~/.local/share/icons/hicolor/48x48/apps/bash-script-maker.png
84
+ cp assets/bash-script-maker-64.png ~/.local/share/icons/hicolor/64x64/apps/bash-script-maker.png
85
+ cp assets/bash-script-maker-128.png ~/.local/share/icons/hicolor/128x128/apps/bash-script-maker.png
86
+
87
+ print_success "PNG-Icons installiert in verschiedenen Größen"
88
+
76
89
  # Desktop-Datenbank aktualisieren
77
90
  print_status "Aktualisiere Desktop-Datenbank..."
78
91
  if command -v update-desktop-database &> /dev/null; then
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "bash-script-maker"
7
- version = "1.6.1"
7
+ version = "1.8.0"
8
8
  description = "Ein GUI-Programm zur Erstellung von Bash-Scripts mit visueller Unterstützung"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -1 +0,0 @@
1
- 1.6.1