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)

Gitfetch is a simple tool to get github user details

Gitfetch Just a (cli?) tool to get github user details 🙂 Installation 📂 Install Gitfetch via pypi pip install gitfetch or pip install git+https://g

I'm Not A Bot #Left_TG 7 Jan 23, 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
Gamestonk Terminal is an awesome stock and crypto market terminal

Gamestonk Terminal is an awesome stock and crypto market terminal. A FOSS alternative to Bloomberg Terminal.

Gamestonk Terminal 18.6k Jan 03, 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
Trans is a dependency-free CLI for Google Translate

Trans is a dependency-free CLI for Google Translate

11 Jan 04, 2022
A powerful, colorful, beautiful command-line-interface for pypi.org

pypi-command-line pypi-command-line is a colorful, powerful, and beautiful command line interface for pypi.org that is actively maintained Detailed Do

Wasi Master 32 Jun 23, 2022
A Python module and command-line utility for converting .ANS format ANSI art to HTML

ansipants A Python module and command-line utility for converting .ANS format ANSI art to HTML. Installation pip install ansipants Command-line usage

4 Oct 16, 2022
Analyzing the most strategic words to guess on Wordle, based on letter frequency distributions

wordle-analysis Evaluating different heuristics to determine the most effective solving strategy and building an AI-powered assistant tool to help you

Sejal Dua 9 Feb 27, 2022
🖍️This is a feature-complete clone of the awesome Chalk (JavaScript) library.

Terminal string styling done right This is a feature-complete clone of the awesome Chalk (JavaScript) library. All credits go to Sindre Sorhus. Highli

Fabian Keller 132 Dec 27, 2022
Stream comments, submissions from subreddits and users across reddit right in your terminal

reddit_from_terminal stream comments, submissions from subreddits and users across reddit right in your terminal Alert! : Can't watch media contents(p

Pritam Dhara 2 Dec 30, 2021
A command line tool that creates a super timeline from SentinelOne's Deep Visibility data

S1SuperTimeline A command line tool that creates a super timeline from SentinelOne's Deep Visibility data What does it do? The script accepts a S1QL q

Juan Ortega 2 Feb 08, 2022
Create animated ASCII-art for the command line almost instantly!

clippy Create and play colored 🟥 🟩 🟦 or colorless ⬛️ ⬜️ animated, or static, ASCII-art in the command line! clippy can help if you are wanting to;

Connor 10 Jun 26, 2022
CLI/library to control FNIRSI DC Power Supply (DC-6006L, etc)

dc6006l - CLI/library to control FNIRSI DC Power Supply (DC-6006L, etc) What is this? FNIRSI DC6006L is a programmable DC power supply that is quite c

Taisuke Yamada 7 Sep 25, 2022
Kattis shell for getting examples, testing and submitting.

Kattis shell for getting examples, testing and submitting.

Simon Green Kristensen 15 Sep 30, 2022
This is my fetch, with ascii arts from neofetch and internet

deadfetch This is my fetch, with ascii arts from neofetch and internet Installation First what you need its python Fedora sudo dnf install python3 sud

DedSec 8 Jan 20, 2022
A CLI tool that scans through a directory and organizes all loose files into folders by file type.

Organizer CLI Organizer CLI is a python command line tool that goes through a given directory and organizes all un-folder bound files into folders by

Mulaza Jacinto 6 Dec 14, 2022
slipit is a command line utility for creating archives with path traversal elements.

slipit is a command line utility for creating archives with path traversal elements. It is basically a successor of the famous evilarc utility with an extended feature set and improved base functiona

usd AG 35 Dec 23, 2022
A Neat Application To Manage Your To-Do Lists.

WTD - What To Do? A Neat Application To Manage Your To-Do Lists. One folder can only have one to-do file. Running wth without any subcommands executes

Adam Vajda 1 Oct 24, 2021
An question and answer shell environment based on xonsh using ansible for setup

An question and answer shell environment based on xonsh using ansible for setup

Steven Hollingsworth 2 Jan 11, 2022
🌍 Harness the power of whatsmydns from the command-line.

chkdns Harness the power of whatsmydns from the command-line. Installing with pip pip install chkdns Run chkdns --host github.com Alternatively you ca

Craig Gumbley 3 Oct 29, 2022