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

    [email protected] ~ konsave -l   
    Konsave profiles:
    ID      NAME
    1       default
     ▲ [email protected] ~ 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/[email protected]/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:

    [email protected][~] 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!
    [email protected][~] 05:01:11 Wed Nov 02 $> 
    
    [email protected][~] 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
    [email protected][~] 05:21:52 Wed Nov 02 $>
    
    [email protected][~] 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
    [email protected][~] 05:25:15 Wed Nov 02 $>
    

    Target:

     [[email protected] 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!
    [[email protected] hostfiles]$
    
    [[email protected] hostfiles]$ cd /home/guigirl/.config/konsave/profiles
    [[email protected] 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
    [[email protected] profiles]$
    
    [[email protected] 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!
    [[email protected] 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)

A python-based terminal application that displays current cryptocurrency prices

CryptoAssetPrices A python-based terminal application that displays current cryptocurrency prices. Covered Cryptocurrencies Bitcoin (BTC) Ethereum (ET

3 Apr 21, 2022
Cli tool to browse and play anime

browse and watch anime (scrape from gogoanime) (wip) basically ani-cli but in python cuz python good demo dependencies mpv installation from pypi pip

sheep padowo 2 Apr 20, 2022
GoSearch for anything from your terminal

GoSearch for anything from your terminal Requirements pip install beautifulsoup4

Malik Mouhiidine 1 Oct 02, 2021
Ntfy - 🖥️📱🔔 A utility for sending notifications, on demand and when commands finish.

About ntfy ntfy brings notification to your shell. It can automatically provide desktop notifications when long running commands finish or it can send

Daniel Schep 4.5k Jan 01, 2023
A collection of command-line interface games written in python

Command Line Interface Python Games Collection of some starter python game projects for beginners How to play these games Clone this repository git cl

Paras Gupta 7 Jun 06, 2022
pyGinit is a command line tools that help you to initialize your current project a local git repo and remote repo

pyGinit pyGinit is a command line tools that help you to initialize your current project a local git repo and remote repo Requirements Requirements be

AlphaBeta 15 Feb 26, 2022
Simple command line tool for text to image generation using OpenAI's CLIP and Siren (Implicit neural representation network)

Simple command line tool for text to image generation using OpenAI's CLIP and Siren (Implicit neural representation network)

Phil Wang 4.4k Jan 09, 2023
OneDriveExplorer - A command line and GUI based application for reconstructing the folder structure of OneDrive from the UserCid.dat file

OneDriveExplorer - A command line and GUI based application for reconstructing the folder structure of OneDrive from the UserCid.dat file

Brian Maloney 100 Dec 13, 2022
CmdTube is a Python CLI library for searching, downloading, and watching YouTube tutorials

CmdTube is a Python CLI library for searching, downloading, and watching YouTube tutorials. This library was made with programmers in mind and it's dedicated to every programmer who watches YouTube v

Samuel Ayomide Ogunleke 2 Aug 22, 2022
split-manga-pages: a command line utility written in Python that converts your double-page layout manga to single-page layout.

split-manga-pages split-manga-pages is a command line utility written in Python that converts your double-page layout manga (or any images in double p

Christoffer Aakre 3 May 24, 2022
doq (python docstring generator) extension for coc.nvim

coc-pydocstring doq (python docstring generator) extension for coc.nvim Install CocInstall: :CocInstall coc-pydocstring vim-plug: Plug 'yaegassy/coc-p

yaegassy 27 Jan 04, 2023
A command-line utility that creates projects from cookiecutters (project templates), e.g. Python package projects, VueJS projects.

Cookiecutter A command-line utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python

18.6k Dec 30, 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
A simple weather tool. I made this as a way for me to learn Python, API, and PyPi packaging.

A simple weather tool. I made this as a way for me to learn Python, API, and PyPi packaging.

Clint E. 105 Dec 31, 2022
A Simple Python CLI Lockpicking Tool

Cryptex a simple CLI lockpicking tool What can it do: Encode / Decode Hex Encode / Decode Base64 Break Randomly :D Requirements: Python3 Linux as your

Alex Kollar 23 Jul 04, 2022
A Bot Which Send Automatically Commands To Karuta Hub to Gain it's Currency

A Bot Which Send Automatically Commands To Karuta Hub to Gain it's Currency

HarshalWaykole 1 Feb 09, 2022
Proman is a simple tool for managing projects through cli.

proman proman is a project manager. It helps you manage your projects from a terminal. The features are listed below. Installation Step 1: Download or

Arjun Somvanshi 2 Dec 06, 2021
A python program to detect your emotion and suggest a playlist.

mood_music A python program to detect your emotion and suggest a playlist. This program is written in python using opencv,FER() and tensorflow This pr

Aditya_Sai 1 Jan 02, 2022
Autosub - Command-line utility for auto-generating subtitles for any video file

Auto-generated subtitles for any video Autosub is a utility for automatic speech recognition and subtitle generation. It takes a video or an a

Anastasis Germanidis 3.9k Jan 05, 2023
ctree - command line christmas tree

ctree ctree - command line christmas tree It is small python script that prints a christmas tree in terminal. It is colourful and always gives you a d

15 Aug 15, 2022