Skip to content

Commit

Permalink
updt
Browse files Browse the repository at this point in the history
  • Loading branch information
hfmrow committed Apr 26, 2021
1 parent dc0a6d9 commit 0d02da1
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 55 deletions.
97 changes: 42 additions & 55 deletions README-matrix.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,46 @@
# [PROG_NAME] vXX.X
# 7z-folder v1.6

#### Last update 202x-xx-xx
#### Last update 2021-04-26

---

##### This program is designed for . . .

###### Why ?
Compressing folder and files to 7z format. Some options are available. The 7za used command store filesystem permissions (such as UNIX owner/group permissions or NTFS ACLs). Not designed for large backup/archival purposes. On Ubuntu, use 'sudo apt-get install p7zip-full' to install required command.

> . . .
###### What for:

Quick backup of the local repository in case of problem with the new modifications (for example).

---

###### Requirements:

- **libgtksourceview-4-0** is required to work (most Linux distributions include it natively)
- **p7zip-full** is required to work.

```bash
$ sudo apt install libgtksourceview-4-0
$ # On Ubuntu, use:
$ sudo apt-get install p7zip-full
```

---

- If you just want **to use it**, simply **download** the **compiled version** ( .deb) under the [Releases](https://github.com/hfmrow/%5BPROG_NAME%5D/releases) tab.
- If you just want **to use it**, simply **download** the **compiled version** ( .deb) under the [Releases](https://github.com/hfmrow/7z-folder/releases) tab.

- Otherwise, if you plan to play inside the source code, see below **How to compile** section.

- All suggestions, contributions and ideas to improve software usability will be greatly appreciated.

**[PROG_NAME]** Debian package installation:
**7z-folder** Debian package installation:

> ```bash
> $ sudo dpkg -i [PROG_NAME]-x.x-amd64.deb
> $ sudo dpkg -i 7z-folder-1.6-amd64.deb
> ```
>
> Uninstall:
>
> ```bash
> $ sudo dpkg -P [PROG_NAME]
> $ sudo dpkg -P 7z-folder
> ```
---
Expand All @@ -46,21 +49,18 @@ $ sudo apt install libgtksourceview-4-0
- Programmed with go language: [golang](https://golang.org/doc/)
- GUI provided by [Gotk3](https://github.com/gotk3/gotk3), GUI library for Go (minimum required gtk3.16).
- Text editor use [GtkSourceView](https://github.com/hfmrow/gotk3_gtksource) component.
- Version check (for update checks), [go-curl](https://github.com/andelf/go-curl), to connect and retrieve file from endpoint **https**. In my opinion, this is a better way (less memory consuming) rather than using the native Go **http** package for this kind of operation...
**Note**: only *get* https method is used (to get file that contain latest version information).
- I use home-made software: "Gotk3ObjHandler" to embed images/icons, UI-information and manage/generate gtk3 objects code from [glade ui designer](https://glade.gnome.org/). and "Gotk3ObjTranslate" to generate the language files and the assignment of a tool-tip on the gtk3 objects (both are not published at the moment, in fact, they need documentations and, I have not had the time to do them).
### Functionalities
- 1
- 2
- 3
- ...
- Auto increment filename [00], [01], [02]...
- Parametrable compression lvl and dictionary size.
- Append, Upate, New archive options.
- D&D capable.
### Some pictures
![whole.jpg](assets/readme/)
![whole.jpg](assets/readme/main.jpg)
### How to compile
Expand All @@ -72,40 +72,27 @@ $ sudo apt install libgtksourceview-4-0
```bash
$ cd "your-local-workspace"
$ git clone "https://github.com/hfmrow/[PROG_NAME]" "[PROG_NAME]"
$ cd [PROG_NAME]
$ go build . && ./[PROG_NAME]
$ git clone "https://github.com/hfmrow/7z-folder" "7z-folder"
$ cd 7z-folder
$ go build . && ./7z-folder
```
2. **golang method (this one put retrieved package to $GOPATH/pkg/pkgName):**

```bash
$ go get -d "github.com/hfmrow/[PROG_NAME]"
$ cd ${GOPATH}/pkg/mod/github.com/hfmrow/[PROG_NAME]*
$ go build . && ./[PROG_NAME]
```

3. Ensure that you Have [libcurl](https://curl.se/libcurl/) (`C` headers) correctly installed.

```bash
$ # For Ubuntu:
$ sudo apt install libcurl4-gnutls-dev
$ go get -d "github.com/hfmrow/7z-folder"
$ cd ${GOPATH}/pkg/mod/github.com/hfmrow/7z-folder*
$ go build . && ./7z-folder
```

##### If you have gomodules enabled, all of the following procedure will be done automatically you can skip these.

- Install https://github.com/andelf/go-curl. Assuming you have already done the previous 'step 3'.
##### If you have gomodules enabled, all of the following step will be done automatically you can skip it.

- Install [Go bindings for GTK3](https://github.com/gotk3/gotk3) and follow [Installation instructions](https://github.com/gotk3/gotk3/wiki#installation).

- Install [GtkSourceView](https://github.com/hfmrow/gotk3_gtksource) library and follow instructions to install it with his `libgtksourceview-X-dev` (`C`headers) package.

---

### Playing with code

- Open terminal window and at command prompt, type: `go get github.com/hfmrow/[PROG_NAME]`

- **Since** [Golang version >= 1.16](https://golang.org/dl/), native `embed` library is used instead of previous one and the following restriction (striked) is out of date. ~~To change gtk3 interface you need to set `devMode` flag at `true`.~~ A home made software, (not published actually) have been used to generate some parts of source code / assets embedding. ~~So, you cannot (at this time) change interface for production mode.~~

- To change language file quickly, you need to use another home made software, (not published actually). You can still do it manually, all data has been stored in a '.json' file in the `assets/lang` directory.
Expand Down Expand Up @@ -133,30 +120,30 @@ This operation indicates that the internal behavior of the software will be modi
<details>
<summary>Built using</summary>
| Name | Version / Info / Name |
| ---------------------------------------------------------- | ------------------------------------------- |
| GOLANG | V1.16.3 -> GO111MODULE="on", GOPROXY="auto" |
| DISTRIB | LinuxMint Xfce |
| VERSION | 20.1 |
| CODENAME | ulyana |
| RELEASE | #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020 |
| UBUNTU_CODENAME | focal |
| KERNEL | 5.8.0-50-generic |
| HDWPLATFORM | x86_64 |
| GTK+ 3 | 3.24.20 |
| GLIB 2 | 2.64.3 |
| CAIRO | 1.16.0 |
| [GtkSourceView](https://github.com/hfmrow/gotk3_gtksource) | 4.6.0 |
| [LiteIDE](https://github.com/visualfc/liteide) | 37.4 qt5.x |
| Qt5 | 5.12.8 in /usr/lib/x86_64-linux-gnu |
| Name | Version / Info / Name |
| ---------------------------------------------------------- | --------------------------------------------------- |
| GOLANG | V1.16.3 -> GO111MODULE="on", GOPROXY="auto" |
| DISTRIB | LinuxMint Xfce |
| VERSION | 20.1 |
| CODENAME | ulyssa |
| RELEASE | #56~20.04.1-Ubuntu SMP Mon Apr 12 21:46:35 UTC 2021 |
| UBUNTU_CODENAME | focal |
| KERNEL | 5.8.0-50-generic |
| HDWPLATFORM | x86_64 |
| GTK+ 3 | 3.24.20 |
| GLIB 2 | 2.64.6 |
| CAIRO | 1.16.0 |
| [GtkSourceView](https://github.com/hfmrow/gotk3_gtksource) | 4.6.0 |
| [LiteIDE](https://github.com/visualfc/liteide) | 37.4 qt5.x |
| Qt5 | 5.12.8 in /usr/lib/x86_64-linux-gnu |
</details>
- The compilation have not been tested under Windows or Mac OS.
### You got an issue ?
- Go to this page: [Issues](https://github.com/hfmrow/[PROG_NAME]/issues) and start a new problem report.
- Go to this page: [Issues](https://github.com/hfmrow/7z-folder/issues) and start a new problem report.
- Give the information (as above), concerning your working environment as well as the version of the operating system used.
- Provide a method to reproduce the problem.
Expand Down
Binary file added assets/readme/main.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0d02da1

Please sign in to comment.