Konsave lets use save your KDE Plasma customizatios and restore them very easily!

Overview

Konsave (Save Plasma Customization)

A CLI program that will let you save and apply your KDE Plasma customizations with just one command! Also, it has a "K" in the name :D


ezgif-7-e0c7257f0aef


Dependencies

There are no dependencies! Just make sure your python version is above 3.8.

Installation

  • Clone This repo
    git clone https://github.com/Prayag2/konsave ~/Downloads/konsave
  • Make it executable
    cd ~/Downloads/konsave chmod +x ./install.sh
  • Install
    ./install.sh

Usage

Get Help

konsave -h or konsave --help

Save current configuration as a profile

konsave -s or konsave --save

List all profiles

konsave -l or konsave --list

Remove a profile

konsave -r or konsave --remove

Apply a profile

konsave -a or konsave --apply You may need to log out and log in to see all the changes.

Export a profile as a ".knsv" file to share it with your friends!

konsave -e or konsave --export-profile

Import a ".knsv file

konsave -i or konsave --import-profile

Contribution

You can contribute by reporting issues or fixing bugs!

License

This project uses GNU General Public License 3.0

Comments
  • konsave command not found

    konsave command not found

    Describe the bug A clear and concise description of what the bug is.

    To Reproduce Steps to reproduce the behavior:

    1. Go to '...'
    2. Click on '....'
    3. Scroll down to '....'
    4. See error

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. iOS]
    • Browser [e.g. chrome, safari]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    The install did not work for me.

    Selection_001

    I noticed in your script that the utility is placed in the ~/.local/bin/ path. The reason that it didn't work for me is because my path is defined differently in my environment.

    PATH=/usr/share/Modules/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/home/ed/bin

    Maybe in your script you should either look at the user's PATH environment and place it in one of their defined paths or insert ./local/bin in the user's environment or something. In the meantime, I will be adding that path to my .bashrc.

    opened by t3kg33k 20
  • Add a config file and a force option to overwrite profiles

    Add a config file and a force option to overwrite profiles

    This will add a config file using yaml, as I found this to be the easiest human readable format.

    I have merged your folder_names and file_names variables into a single entries variable, as it removes some boilerplate code, in my opinion.

    The config file gets copied to the right position on the executing of the install.sh script.

    Note: This introduces a dependency: PyYaml, but I forgot to include a requirements.txt file, therefore I recommend to add one later.

    Also I added a force option to overwrite already saved profiles, which I found quite useful

    Furthermore I reformatted the file a bit, and turned the single triple quotes intro double triple quotes, as my IDE suggested this.

    Note: This is my first pull request, so please tell me if it is okay.

    opened by Gaareth 14
  • Original theme isnt completely restored

    Original theme isnt completely restored

    Describe the bug First of all, congratulations on your work ! Konsave seems like the perfect tool i was looking for. I'm having a little trouble using it. The original theme isn't completely restored by konsave for me.

    To reproduce

    • Save the original theme to konsave with konsave -s manjaro
    • Install the new theme (used https://github.com/vinceliuice/WhiteSur-kde)
    • Apply the new theme
    • Save the new desktop with konsave -s sur
    • Restore the original theme with konsave -a 1

    Expected behavior The original theme being completely restored.

    Screenshots Original theme manjaro1
    imagem qualquer

    The original theme restored manjaro2

    System information

    • Manjaro 21.1.1
    • Konsave installed from distro repository
    • Konsave version 2.0.2-1

    Additional context I would like to create a GUI for konsave, but before i start to work i would like to se it working properly.

    opened by ghost 11
  • Konsave export profile broken

    Konsave export profile broken

     ▲ nmiculinic@atlas ~ konsave -l   
    Konsave profiles:
    ID      NAME
    1       default
     ▲ nmiculinic@atlas ~ konsave -e 1
    Konsave: Exporting profile. it might take a minute or two...
    Konsave: 'cursorTheme'
    Try 'konsave -h' for more info!
    Konsave: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'
    Try 'konsave -h' for more info!
    
    konsave in ./.local/lib/python3.9/site-packages (1.1.5)
    
    opened by nmiculinic 10
  • konsave apply error

    konsave apply error

    Describe the bug A clear and concise description of what the bug is.

    To reproduce Steps to reproduce the behavior. [click this, type that, see error]

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    System information

    • OS or Linux distribution: [Ubuntu, Arch, ...]
    • How did you install Konsave? [from the distro's package manager, using pip, directly from git, ...]
    • What version of Konsave are you using? Did you try updating?

    Additional context Add any other context about the problem here.

    Applying an import from my desktop to my laptop I get this error message:

    Konsave: [Errno 2] No such file or directory: '/home/ed/.config/konsave/profilesedded/'

    Selection_001

    I'm using Fedora 33 on both machines. Both running Plasma 5.20.5.

    opened by t3kg33k 10
  • does not apply (at all) or save profile properly

    does not apply (at all) or save profile properly

    I use KDE Plasma 5.23.4 (on Arch Linux). Maybe this is the reason, idk. Technically, it saves the profile, but it prints this into terminal: Konsave: Saving profile... Konsave: 'NoneType' object is not iterable Please check the log at /home/crowbar/konsave_log.txt for more details.

    And this is from the log: Traceback (most recent call last): File "/home/crowbar/.local/lib/python3.9/site-packages/konsave/funcs.py", line 40, in inner_func function = func(*args, **kwargs) File "/home/crowbar/.local/lib/python3.9/site-packages/konsave/funcs.py", line 176, in save_profile for entry in konsave_config[section]["entries"]: TypeError: 'NoneType' object is not iterable

    I tried to apply the theme and it said that it was applied, but nothing changed even after restart.

    opened by x-crowbar-x 9
  • Export leads to error

    Export leads to error

    Describe the bug

    Exporting profile leads to error and despite of getting the message that "Konsave: Successfully exported to ..." the .knsv file is not created.

    To reproduce

    ❯  konsave --save "My_KDE_profile"
    
    Konsave: Saving profile...
    Konsave: Profile saved successfully!
    
    ❯  konsave --list
    
    Konsave profiles:
    ID      NAME
    1       My_KDE_profile
    
    ❯  konsave --save "My_KDE_profile"
    
    Konsave: Profile with this name already exists
    Try 'konsave -h' for more info!
    
    ❯  konsave --export-profile 1
    
    Konsave: Exporting profile. it might take a minute or two...
    Konsave: 'Mouse'
    Try 'konsave -h' for more info!
    Konsave: Exporting icon theme
    Konsave: [Errno 2] No such file or directory: '/usr/share/icons/breath2-dark/actions/16/view-financial-account-> asset.svg'
    Try 'konsave -h' for more info!
    Konsave: [Errno 2] No such file or directory: '/usr/share/icons/breath2-dark/actions/16@2x/view-financial-account-> asset.svg'
    Try 'konsave -h' for more info!
    Konsave: Exporting plasma files
    Konsave: Source path doesn't exist
    Try 'konsave -h' for more info!
    Konsave: Exporting config files
    Konsave: Creating archive
    Konsave: Successfully exported to /home/mehrad/my_kde_profile.knsv
    

    which cause ErrorCode: 130

    ❯  ls -al /home/mehrad/my_kde_profile.knsv
    
    ls: cannot access '/home/mehrad/my_kde_profile.knsv': No such file or directory
    
    ❯  konsave --version
    
    Konsave: 1.1.6
    

    Expected behavior

    No error, and having the .knsv output file.

    Screenshots

    -- Not Applicable. --

    System information

    • OS or Linux distribution:
      • ❯ inxi --width 80 --system --graphics
        
        System:
          Host: Chrstphr Kernel: 5.11.2-1-MANJARO x86_64 bits: 64
          Desktop: KDE Plasma 5.21.2 Distro: Manjaro Linux
        Graphics:
          Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics
          driver: i915 v: kernel
          Device-2: NVIDIA GP106 [GeForce GTX 1060 6GB] driver: nvidia v: 460.56
          Display: x11 server: X.Org 1.20.10 driver: loaded: modesetting,nvidia
          unloaded: nouveau resolution: 1: 1080x1920~60Hz 2: 1080x1920~60Hz
          3: 1920x1080~60Hz
          OpenGL: renderer: GeForce GTX 1060 6GB/PCIe/SSE2 v: 4.6.0 NVIDIA 460.56
        
    • How did you install Konsave? [from the distro's package manager, using pip, directly from git, ...]
      • ❯  pamac search konsave
        
        konsave                                                                  [Installed] 1.1.6-1  AUR
        Save and apply your KDE Plasma customizations with just one command!
        
    • What version of Konsave are you using? Did you try updating?
      • The 1.1.6 is the latest at this moment.
    opened by mmahmoudian 9
  • Make saving configuration easier

    Make saving configuration easier

    I love your tool. This is what I needed to save all plasma settings!

    To export it to a file first you have to save a configuruation with a name and then export it. However it exports it to ~/.knsv I want it to immediately export it to my current directory, for example my dotfiles.

    Can you make it easier to save the configuration for backup purposes for example to use konsave -e mybackup.knsv ? Which automatically makes a backup, zips and saves to a directory (or the current directory)

    Understood me? Thank you!

    opened by qx-775 8
  • I wrote a PKGBUILD and made a AUR package for Archlinux User

    I wrote a PKGBUILD and made a AUR package for Archlinux User

    Is your feature request related to a problem? Please describe.

    I installed it and try to use konsave -s and it raised error(either happended when I use pip or AUR package to install)

    Konsave: Saving profile...
    Konsave: No config file found! Using default config (/usr/lib/python3.9/site-packages/konsave/conf.yaml).
    Konsave: [Errno 2] No such file or directory: '/usr/lib/python3.9/site-packages/konsave/conf.yaml'
    Try 'konsave -h' for more info!
    

    it seems setup.py won‘t copy conf.yaml to /usr/lib/python3.9/site-packages/konsave/conf.yaml and this file don‘t exist image

    But, it seems work anyway, it can save profiles, generate ksnv file and apply a profile.

    I am not sure if there are other problems since I don't have many customizations of KDE, at least it works on my laptop and PC(both KDE version 5.21.2).

    Describe the solution you'd like I wrote a PKGBUILD for Archlinux User to install it from AUR

    And now Archlinux User can install it via

    yay -S konsave
    

    Additional context

    Python version: 3.9.2 konsave version: 1.0.5 (dowmloaded from the tar.gz release) OS: Archlinux x86_64 KDE version: 5.21.2

    I am a bit busy now, maybe later I will survey the issue with conf.yaml (seems the latest pr has fixed it but there is still some problems on my pc )

    opened by Archaeoraptor 8
  • Add workflow: Release

    Add workflow: Release

    Closes #5.

    Changes:

    • Add GitHub Actions workflow "Release". Runs on tag push, named v* (e.g. v1.0.5). This workflow creates a GitHub release and publishes the package to PyPI repository.
    • Change setup.py manual versioning to SCM versioning - the tag's version determines the package's version. This means that tag v1.0.5 results in package version 1.0.5 on PyPI. This also means that the package version won't be maintained via source code, but via Git tags.
    • Requires package maintainer to create PyPI API token and add it to the project's "secrets" as PYPI_API_TOKEN. See encrypted secrets page for details on how to do it.
    opened by majabojarska 7
  • Import doesn't seem to work in a fresh os install

    Import doesn't seem to work in a fresh os install

    I created and saved a profile in a previous installation. I had to reinstall whole OS again and I tried to import the profile I created before but it fails:

    konsave -i ~/.nextcloud/dotfiles/portatil/fedora-konsave.knsv 
    Konsave: Importing profile. it might take a minute or two...
    Konsave: [Errno 2] No such file or directory: '/home/user/.config/konsave/temp/fedora-konsave/conf.yaml'
    Please check the log at /home/user/konsave_log.txt for more details.
    Konsave: Source path doesn't exist
    Please check the log at /home/user/konsave_log.txt for more details.
    Konsave: [Errno 2] No such file or directory: '/home/user/.config/konsave/temp/fedora-konsave/conf.yaml'
    Please check the log at /home/user/konsave_log.txt for more details.
    

    Here's the log:

    konsave_log.txt

    opened by Neules 6
  • --apply removes Konsole status

    --apply removes Konsole status

    Describe the bug Plasma remembers Konsole status on startup (open windows and tabs, and tab customisations like title or colour). When I run konsave --apply and restart, I get Konsole windows restored, but everything else is lost (each window only has the default tab in the home directory).

    To reproduce

    1. Open two Konsole windows.
    2. Add some tabs and customise them (title, colour, working directory)
    3. Save a profile with konsave --save konsole-test
    4. Optionally verify you get the same Konsole windows if you restart.
    5. Restore the profile (konsave --apply konsole-test) and restart.
    6. You'll get two Konsole windows, but not the customised tabs.

    Expected behavior I get my Konsole windows back.

    System information

    • OS or Linux distribution:
      • Ubuntu 22.04 LTS with KDE backports
      • KDE Plasma 5.25.5
    • How did you install Konsave? python -m pip install konsave
    • What version of Konsave are you using? 2.1.2
    • Did you try updating? I understand I have latest release.
    opened by kAlvaro 0
  • Order of listed profiles

    Order of listed profiles

    Are profiles listed in any particular order?

    $ konsave -l
    Konsave profiles:
    ID      NAME
    1       alvaro-20221130_080810
    2       alvaro-20221125_080803
    3       alvaro-20221213_090958
    4       alvaro-20221128_090926
    5       alvaro-20221130_070734
    

    In this example, the latest profile is shown right in the middle (nr. 3).

    opened by kAlvaro 2
  • Export has scary overwrite behaviour.

    Export has scary overwrite behaviour.

    Describe the bug

    • Apparently -e always saves to the user home? So if you cd to a subdirectory hoping to contain everything, then it still writes to your top-level user home.
    • When the output file $HOME/<PROFILENAME>.knsv already exists, then Konsave just straight-up overwrites it.
    • When the seemingly unrelated path $HOME/<PROFILENAME>.zip exists, then Konsave also just straight-up overwrites (and then removes) that too.
    • Konsave does not give you the opportunity to specify output filename either.
    • So the default behaviour of konsave -e is apparently to immediately overwrite two seemingly unrelated filepaths that the user didn't specify, in a location that the user also didn't specify, which also happens to be the top-level user home.
    • When the output already exists and is a directory, Konsave creates the file <PROFILENAME>.zip inside it instead.
    • When the output already exists and <PROFILENAME>.zip also already exists in it, then Konsave finally fails instead of overwriting (but I think not deliberately?).
    • If the profile name includes capitals, the "Successfully exported" message printed at the end switches them to lower-case instead, meaning the path reported to the user is wrong.

    To reproduce Use the konsave -e feature.

    Expected behavior Tools should never overwrite user data unless explicitly instructed to do so.

    E.G.:

    • Do mktemp (Python: probably import tempfile) for the scratch file instead of putting it next to the output.
    • Write to os.getcwd() instead of user home.
    • Check for existing file before rename, and either fail or prompt (possibly depending on -f flag) instead of overwriting.
    • Possibly allow/require user to explicitly specify output filename/path.
    bug urgent 
    opened by will-ca 1
  • Print to STDOUT instead of saving?

    Print to STDOUT instead of saving?

    Is your feature request related to a problem? Please describe. Scriptable tools are useful. Treating "profiles" as opaque units, while possibly convenient for some uses, also hurts flexibility.

    Describe the solution you'd like Support for a simple option like --stdout, --save -, --save /dev/stdout, or --print <profile> would be great.

    If you want to take it further, accepting input from STDIN (E.G. --i -) could also be interesting. Then you could do stuff like nc -l -p 1234 | konsave -i - on one machine and konsave -s - | nc newLaptop.localLAN 1234 to instantly transfer or synchronize your configuration.

    Describe alternatives you've considered The alternative is the current system of opaque "profiles" and ".knsv" files, which can be both messy in workflow (I.E. requires mucking with files) and messy in its effect on the system (I.E. saves state in persistent files, ironically creating even more hidden configuration to worry about, plus filepath collisions and so on).

    Additional context Since it appears that profiles are file hierarchies and ".knsv"s are ZIP archives, it's not clear what exactly should be emitted. Personally I think either raw binary data or Base64 would be fine, as long as it's specified in the help text.

    opened by will-ca 6
  • Seems not to have backed-up/restored my desktop widgets.

    Seems not to have backed-up/restored my desktop widgets.

    Describe the bug

    Multiple Plasma Widgets on my Arch KDE desktops, saved to an export file, do not appear after importing into an Arch-derivative KDE VM. Source & Target DEs are Plasma 5.26.2.

    To reproduce Steps to reproduce the behaviour. [click this, type that, see error]:

    1. Created multiple Plasma Widgets on my Arch KDE desktops
    2. Installed konsave from AUR; v2.1.2.
    3. Inspected its conf.yaml, confirmed it already has entry for - wallpapers; i inserted - autostart at Line 68.
    4. Created backup via konsave -s {filename}.
    5. Created export file via konsave -e {filename}.
    6. In VM, imported via konsave -i {filename}.
    7. Logged out/in.
    8. Neither my Source wallpaper, nor any of its several desktop widgets, have appeared in the VM.

    Expected behaviour A clear and concise description of what you expected to happen:

    1. I'd hoped that my Source wallpaper, & all of its desktop widgets, would have appeared in the VM
    2. It took cumulatively more than a day to create & finesse all those widgets, so i'd really hoped i could protect my work via konsave, but also be able to easily copy all those widgets to other Plasmas.

    Screenshots If applicable, add screenshots to help explain your problem -- the RHS part of my Arch KDE [source] desktop:

    System information

    • OS or Linux distribution: [Ubuntu, Arch, ...] = ArchLinux KDE source, ArchLinux GUI-Installer VM target.
    • How did you install Konsave? [from the distro's package manager, using pip, directly from git, ...] = AUR [paru konsave]; source & target.
    • What version of Konsave are you using? Did you try updating? = v2.1.2 [ie, current/latest version]; source & target.

    Additional context Commands used, output seen:

    Source:

    guigirl@archlinuxTower[~] 05:00:05 Wed Nov 02 $> konsave -s RHS-Panel_LHS-Conky__20221102_Widgets_on_Activity1_rhs_Conkies_on_Activity1+2_lhs
    Konsave: Saving profile...
    Konsave: Profile saved successfully!
    guigirl@archlinuxTower[~] 05:01:11 Wed Nov 02 $> 
    
    guigirl@archlinuxTower[~] 05:21:50 Wed Nov 02 $> konsave -l
    Konsave profiles:
    ID      NAME
    1       RHS-Panel_LHS-Conky__20221102_Widgets_on_Activity1_rhs_Conkies_on_Activity1+2_lhs
    guigirl@archlinuxTower[~] 05:21:52 Wed Nov 02 $>
    
    guigirl@archlinuxTower[~] 05:24:22 Wed Nov 02 $> konsave -e RHS-Panel_LHS-Conky__20221102_Widgets_on_Activity1_rhs_Conkies_on_Activity1+2_lhs
    Konsave: Exporting profile. it might take a minute or two...
    Konsave: Exporting "configs"...
    Konsave: Exporting "app_layouts"...
    Konsave: Exporting "plasma"...
    Konsave: Exporting "kwin"...
    Konsave: Exporting "konsole"...
    Konsave: Exporting "fonts"...
    Konsave: Exporting "color-schemes"...
    Konsave: Exporting "aurorae"...
    Konsave: Exporting "icons"...
    Konsave: Exporting "wallpapers"...
    Konsave: Exporting ".fonts"...
    Konsave: Exporting ".themes"...
    Konsave: Exporting ".icons"...
    Konsave: Creating archive
    Konsave: Successfully exported to /home/guigirl/rhs-panel_lhs-conky__20221102_widgets_on_activity1_rhs_conkies_on_activity1+2_lhs.knsv
    guigirl@archlinuxTower[~] 05:25:15 Wed Nov 02 $>
    

    Target:

     [guigirl@algi hostfiles]$ konsave -i /home/guigirl/hostfiles/RHS-Panel_LHS-Conky__20221102_Widgets_on_Activity1_rhs_Conkies_on_Activity1+2_lhs.knsv
    Konsave: Importing profile. it might take a minute or two...
    Konsave: Importing "plasma"...
    Konsave: Importing "kwin"...
    Konsave: Importing "konsole"...
    Konsave: Importing "fonts"...
    Konsave: Importing "color-schemes"...
    Konsave: Importing "aurorae"...
    Konsave: Importing "icons"...
    Konsave: Importing "wallpapers"...
    Konsave: Importing ".fonts"...
    Konsave: Importing ".themes"...
    Konsave: Importing ".icons"...
    Konsave: Profile successfully imported!
    [guigirl@algi hostfiles]$
    
    [guigirl@algi hostfiles]$ cd /home/guigirl/.config/konsave/profiles
    [guigirl@algi profiles]$ ls -la
    total 20
    drwxr-xr-x 5 guigirl guigirl 4096 Nov  2 06:07 .
    drwxr-xr-x 4 guigirl guigirl 4096 Nov  2 05:54 ..
    drwxr-xr-x 4 guigirl guigirl 4096 Nov  2 04:12 My_ALG_20221102_0412
    drwxr-xr-x 4 guigirl guigirl 4096 Nov  2 04:26 My_ALG_20221102_0426
    drwxr-xr-x 4 guigirl guigirl 4096 Nov  2 06:07 RHS-Panel_LHS-Conky__20221102_Widgets_on_Activity1_rhs_Conkies_on_Activity1+2_lhs
    [guigirl@algi profiles]$
    
    [guigirl@algi profiles]$ konsave -a RHS-Panel_LHS-Conky__20221102_Widgets_on_Activity1_rhs_Conkies_on_Activity1+2_lhs
    Konsave: Copying files...
    Konsave: Profile applied successfully! please log-out and log-in to see the changes completely!
    [guigirl@algi profiles]$
    
    opened by guigirl42 2
  • Gitmodules

    Gitmodules

    Is your feature request related to a problem? Please describe. I would like to save kde theme without needing to install pip

    Describe the solution you'd like Gitmodules. https://github.com/anishathalye/dotbot/blob/master/.gitmodules I was hoping to use this repo the same way and i believe both projects are using the same lib. I think that it would remove the only requirement you have.

    Describe alternatives you've considered None. Its just a petty thing, granted.... Just love what you did, I've learned a lot. Still am...

    Additional context I tried opening a branch :package: image

    opened by nopunYntendeed 0
Releases(v2.1.2)
  • v2.1.2(Apr 20, 2022)

    Fixed

    • Empty entries in the config files will now be parsed as empty strings to prevent an exception. See #50
    • A small typo was fixed. See #51
    • Fixed incorrect PyYaml version in requirements.txt. See #56

    Added

    • Kate's (KDE's code editor) config files were added in the default KDE config file. See #58
    Source code(tar.gz)
    Source code(zip)
  • v2.1.1(Oct 24, 2021)

    Removed

    • Removed the prompt that asked you which desktop environment you use when you ran Konsave for the first time. See #45.
    • Removed unused import of the log function in __main__.py.

    Changed

    • Konsave will now automatically detect if you're using KDE plasma or not.
    • Fixed some Pylint errors.
    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(Sep 7, 2021)

    Added

    • The following placeholders for config.yaml were added:
      1. $SHARE_DIR: It points to $HOME/.local/share
      2. $BIN_DIR: It points to $HOME/.local/bin

    Changed

    • Now, there's no need to check for the ID of a profile if you already know its name. You can remove, apply and export a profile using its name. For example konsave --export myprofile. See #38
    • Replaced the words "variables and functions" with "placeholders".
    • Updated readme.

    Removed

    • You'll no longer be able to use IDs to remove, apply and export profiles. You have to use the name of the profile to do so.
    • The following placeholders were removed:
      • $KONSAVE_DIR
      • $CONFIG_DIR
    Source code(tar.gz)
    Source code(zip)
  • v2.0.2(Apr 13, 2021)

    Fixed

    • Fixed a bug with export. Previously, exporting a profile would export the current profile but now it will export the specified profile.
    • Fixed a typo in the readme

    Added

    • Added a line in the readme
    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Apr 11, 2021)

  • v2.0.0(Apr 11, 2021)

    Added

    • Possibility to define multiple backup targets via the configuration file.
    • Errors will be saved to konsave_log.txt in the home directory.
    • Ability to use a few variables and functions in the configuration file.
    • Ability to use Konsave on all desktop environments.

    Changed

    • Improved export and import feature. You'll be able change which files to export and import from the configuration file.
    • Changed yaml loader from yaml.FullLoader to yaml.SafeLoader
    • The version will now be dynamically printed.

    Break

    • The old configuration files and profiles won't work with this version of Konsave.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.9(Mar 18, 2021)

  • v1.1.8(Mar 16, 2021)

    General package maintenance

    Closes #20

    • Add missing new lines at end of .pylintrc and CONTRIBUTION.md.
    • Gitignore:
      • Common VS Code and JetBrains IDE user-specific stuff.
      • All __pycache__ dirs (**/__pycache__).
    • Delete and untrack all *.pyc files.
    • Reformat and improve some docstrings.
    • Remove some excessive comments, e.g. ## IMPORTS ## or # WIPE. The import section is clear and visible enough to not need such additional comment. Same with functions - docstrings do that job well.
    • Refactor and simplify CLI argument parsing.
    • Adapt setup.py to use pip requirement text files.
      • Create extra dev and corresponding requirements_dev.txt requirement text file. Can be installed via pip install -e .[dev] or from PyPI via pip install konsave[dev].
    • Remove "Dependencies" section from README.md - dependencies get installed automatically anyway.
    Source code(tar.gz)
    Source code(zip)
  • v1.1.7(Mar 13, 2021)

  • v1.1.6(Mar 12, 2021)

  • v1.1.5(Mar 8, 2021)

  • v1.1.4(Mar 7, 2021)

    Changes

    • Created a function called copy to replace shutil.copytree. This would add support for python versions <= 3.7.
    • Changed version in vars.py from 1.1.3 to 1.1.4

    Fixes

    • Previously, running konsave --export <id> would cause it to export the CURRENT icon and cursor theme. Now, it will export the icon and cursor theme of the profile being exported.
    • Some fixes in copy()
    Source code(tar.gz)
    Source code(zip)
  • v1.1.3(Mar 6, 2021)

  • v1.1.2(Mar 6, 2021)

  • v1.1.1(Mar 6, 2021)

  • v1.1.0(Mar 6, 2021)

  • v1.0.7(Mar 6, 2021)

  • v1.0.6(Mar 6, 2021)

    What's new: Changes made by @majabojarska

    • Add GitHub Actions workflow "Release". Runs on tag push, named v* (e.g. v1.0.5). This workflow creates a GitHub release and publishes the package to PyPI repository.
    • Change setup.py manual versioning to SCM versioning - the tag's version determines the package's version. This means that tag v1.0.5 results in package version 1.0.5 on PyPI. This also means that the package version won't be maintained via source code, but via Git tags.
    • Requires package maintainer to create PyPI API token and add it to the project's "secrets" as PYPI_API_TOKEN. See encrypted secrets page for details on how to do it.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.5(Mar 6, 2021)

  • v1.0.4(Mar 5, 2021)

    Whats new:

    • You can now use the --force or -f option to overwrite existing profiles!
    • A separate config file has been introduced for easier maintenance.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Mar 5, 2021)

  • v1.0.2(Mar 4, 2021)

  • v1.0.1(Mar 4, 2021)

    What's new:

    • Bug fixes
    • Better import and export
      • It will now export and import the installed themes, icons, cursors and plasmoids so there will be no need to install the themes manually on other machines.
    Source code(tar.gz)
    Source code(zip)
  • v1.0.0(Mar 2, 2021)

    What's new:

    • You can now export and import your favourite profiles as ".knsv" files and share them with your friends!
    • You can also import ".knsv" files as profiles!
    Source code(tar.gz)
    Source code(zip)
  • v0.1.0(Mar 2, 2021)

    What's new:

    • Added support for the following configs:
      • GTK 4
      • Latte Dock
      • breezerc (window decoration)
      • oxygenrc (window decoration)
      • Splash Screen
    • Using argparse instead of getopt
    • Removed unnecessary code
    • Improved error handling
    Source code(tar.gz)
    Source code(zip)
  • v0.0.3(Mar 1, 2021)

  • v0.0.2(Feb 28, 2021)

  • v0.0.1(Feb 28, 2021)

Owner
null
TerminalGV is a very simple client to display stats about your SNCF TGV/TER train in your terminal.

TerminalGV So I got bored in the train, TerminalGV is a very simple client to display stats about your SNCF TGV/TER train in your terminal. The "on-tr

Samuel 8 Dec 15, 2022
A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands

PIGIT A terminal tool for git. When we use git, do you feel very uncomfortable with too long commands. For example: git status --short, this project c

Zachary 1 Apr 9, 2022
git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's partial clone and sparse checkout features.

Partial Submodules for Git git-partial-submodule is a command-line script for setting up and working with submodules while enabling them to use git's

Nathan Reed 15 Sep 22, 2022
Todo list console based application. Todo's save to a seperate file.

Todo list console based application. Todo's save to a seperate file.

null 1 Dec 24, 2021
Unconventional ways to save an Image

Unexpected Image Saves Unconventional ways to save an image ?? Have you ever been bored by the same old .png, .jpg, .jpeg, .gif and all other image ex

Eric Mendes 15 Nov 6, 2022
Lets you view, edit and execute Jupyter Notebooks in the terminal.

Lets you view, edit and execute Jupyter Notebooks in the terminal.

David Brochart 684 Dec 28, 2022
Module for converting 2D Python lists to fancy ASCII tables. Table2Ascii lets you display pretty tables in the terminal and on Discord.

table2ascii Module for converting 2D Python lists to a fancy ASCII/Unicode tables table2ascii ?? Installation ??‍?? Usage Convert lists to ASCII table

Jonah Lawrence 40 Jan 3, 2023
TermPair lets developers securely share and control terminals in real time🔒

View and control terminals from your browser with end-to-end encryption ??

Chad Smith 1.5k Jan 5, 2023
💥 Share files easily over your local network from the terminal!

Fileshare ?? Share files easily over your local network from the terminal! ?? Installation # clone the repo $ git clone https://github.com/dopevog/fil

Dopevog 11 Sep 10, 2021
A new kind of Progress Bar, with real time throughput, eta and very cool animations!

A new kind of Progress Bar, with real time throughput, eta and very cool animations!

Rogério Sampaio de Almeida 4.1k Jan 8, 2023
Very nice SMS & Mail Bomber for Termux and Linux.

Very nice SMS & Mail Bomber for Termux and Linux. Coded with love)))

nordbearbot.dev 5 Nov 6, 2022
A very simple and lightweight ToDo app using python that can be used from the command line

A very simple and lightweight ToDo app using python that can be used from the command line

Nilesh Sengupta 2 Jul 20, 2022
A very simple python script to encode and decode PowerShell one-liners.

PowerShell Encoder A very simple python script to encode and decode PowerShell one-liners. I used Raikia's PowerShell encoder ALOT, but one day it wen

John Tear 5 Jul 29, 2022
Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.

Easily turn single threaded command line applications into a fast, multi-threaded application with CIDR and glob support.

Michael Skelton 1k Jan 7, 2023
A cd command that learns - easily navigate directories from the command line

NAME autojump - a faster way to navigate your filesystem DESCRIPTION autojump is a faster way to navigate your filesystem. It works by maintaining a d

William Ting 14.5k Jan 3, 2023
Command Line (CLI) Application to automate creation of tasks in Redmine, issues on Github and the sync process of them.

Task Manager Automation Tool (TMAT) CLI Command Line (CLI) Application to automate creation of tasks in Redmine, issues on Github and the sync process

Tiamat 5 Apr 12, 2022
👻 Ghoul is an easy to use information service, allowing you to get/add information on someone or something directly from your terminal.

?? Ghoul is an easy to use information service, allowing you to get/add information on someone or something directly from your terminal. It c

Billy 11 Nov 10, 2021
Easy-to-use terminal program that can compile your code.

Description Easy-to-use terminal program that can compile your code. Installition 1. Cloning repository $ git clone https://github.com/DarkJoij/Compil

DarkJoij 1 Oct 21, 2021