freedominit

package module
v0.0.0-...-72135b5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2026 License: MIT Imports: 7 Imported by: 0

README

freedom-init

freedom-init is een professionele, cross-platform Go-module voor de volledige initialisatie van desktopapplicaties. De module automatiseert het opzetten van de mappenstructuur, het kopiëren van iconen en het genereren van systeem-snelkoppelingen voor zowel Linux als Windows [1, 2].

🚀 Kernfunctionaliteiten

  • Pad-detectie: Bepaalt het absolute pad naar de actieve executable of het hoofdscript [2, 3].
  • Mappenstructuur: Creëert de noodzakelijke datamappen conform de officiële systeempaden (bijv. ~/.local/share op Linux of AppData/Local op Windows) [2, 4, 5].
  • Asset Management: Kopieert het applicatie-icoon (.png) automatisch van de bronlocatie naar de juiste systeemmappen [2, 6].
  • Systeemintegratie:
    • Linux: Genereert een .desktop bestand in het applicatiemenu en markeert dit als vertrouwd via gio [2, 7].
    • Windows: Maakt een snelkoppeling (.lnk) in het Startmenu aan via PowerShell-automatisering [2, 8].
  • Beveiliging: Bevat strikte foutafhandeling en controleert via een fysiek testbestand (.write_test) of de doelmap daadwerkelijk beschrijfbaar is [6, 9].

📦 Installatie

Voeg de module toe aan je Go-project:

go get codeberg.org/Go_modules/freedom-init

Beschikbare categorien voor freedominit.

AudioVideo  Category = "AudioVideo"
Education   Category = "Education"
Development Category = "Development"
Game        Category = "Game"
Graphics    Category = "Graphics"
Network     Category = "Network"
Office      Category = "Office"
Science     Category = "Sience"
Settings    Category = "Settings"
System      Category = "System"
Utility     Category = "Utility"

🛠 Gebruik

Importeer de module en roep de Start-functie aan bij het opstarten van je applicatie.

package main

import ( "fmt" "log" "codeberg.org/Go_modules/freedom-init" )

func main() { // Initialiseer de applicatie // "MijnApp" = de naam van de applicatie // freedominit.Office = de categorie voor het Linux menu err := freedominit.Start("MijnApp", freedominit.Office) if err != nil { log.Fatalf("Initialisatiefout: %v", err) }

// GEBRUIK: SystemPath is nu gevuld en overal in je code bruikbaar
fmt.Println("De applicatie gebruikt dit pad voor data:", freedominit.SystemPath)

}

🌍 Globaal Gebruik van SystemPath

Zodra Start() succesvol is aangeroepen, wordt het resulterende pad opgeslagen in de variabele SystemPath. Dit pad is de standaardlocatie voor het opslaan van databases en configuratiebestanden, wat garandeert dat applicatiedata altijd op de officieel voorgeschreven plek van het besturingssysteem staat.

📂 Systeempadenoverzicht

Onderdeel

Linux Locatie

Windows Locatie SystemPath

~/.local/share/{appName}

AppData\Local{appName} Menu Snelkoppeling

~/.local/share/applications/{appName}.desktop

Start Menu\Programs{appName}{appName}.lnk Icoon

~/.local/share/icons/{appName}.png

Gekoppeld aan .lnk Opmerking: Mac OS wordt op dit moment niet ondersteund en geeft een duidelijke foutmelding.

🧹 De-installatie

De module bevat een ingebouwde opschoonfunctie om alle aangemaakte bestanden en mappen volledig te verwijderen.

err := freedominit.Uninstall("MijnApp")

Documentation

Index

Constants

This section is empty.

Variables

View Source
var SystemPath string

SystemPAth is het path voor de dataopslag locatie en is overal beschikbaar.

Functions

func Start

func Start(appName string, category Category) error

Start functie is de init van de module Argumenten:

appName: de naam van de applicatie
category: de categorie voor het Linux Menu

func Uninstall

func Uninstall(appName string) error

Uninstall functie verwijderd de aangemaakte bestanden en links

Types

type Category

type Category string

Category is een custom type om enkel toegestane Linux categorien te aanvaarden.

const (
	AudioVideo  Category = "AudioVideo"
	Education   Category = "Education"
	Development Category = "Development"
	Game        Category = "Game"
	Graphics    Category = "Graphics"
	Network     Category = "Network"
	Office      Category = "Office"
	Science     Category = "Sience"
	Settings    Category = "Settings"
	System      Category = "System"
	Utility     Category = "Utility"
)

Toegestane categorien

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL