Skip to main content

A profile manger for qtile

Project description

qtile-profiles

Im using my laptop for work and private stuff and wanted to use some kind of profiles.

Installation

You can install the package using pip

pip install qtile-profiles

Usage

from qtile_profiles import Profile, ProfileManager

def set_browser(browser: str):
    subprocess.run(
            f"xdg-mime default {browser} x-scheme-handler/http",
            shell=True,
        )
    subprocess.run(
            f"xdg-mime default {browser} x-scheme-handler/https",
            shell=True,
        )


work = Profile(
        programs={ # define some aliases for shorter commands later
            "firefox": "firefox",
            "thunderbird": "flatpak run org.mozilla.Thunderbird", # see 6 lines down
            "teams": "chromium --app=https://teams.office.com",
            },
        init=[ # spawn these program when calling initialize
            ("web", ["firefox"]),
            ("chat", ["mattermost-desktop", "teams"]),
            ("mail", ["tunderbird"]), # here we can use thunderbird insead of calling flatpak
            ("kp", ["keepassxc"]),
            ],
        on_load=lambda qtile: set_browser("firefox.desktop") # callback, call when profile is selected
        )
privat = Profile(
        programs={
            "firefox": "firefox -P privat",
            "thunderbird": "thunderbird",
            "discord": "discord",
            },
        init=[
            ("web", ["firefox"]),
            ("chat", ["signal-desktop", "discord"]),
            ("mail", ["thunderbird"]),
            ("kp", ["keepassxc"]),
            ],
        on_load=lambda qtile: set_browser("firefox-privat.desktop")
        )

profiles = ProfileManager([work, privat])

keys.extend([
    Key([super], "p", lazy.function(profiles.next_profile)),
    Key([super], "f", lazy.function(profiles.spawn, "firefox")),
    Key([super], "i", lazy.function(profiles.current_profile.spawn_init)),
    ])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qtile-profiles-0.1.2.tar.gz (13.9 kB view details)

Uploaded Source

Built Distribution

qtile_profiles-0.1.2-py2.py3-none-any.whl (14.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file qtile-profiles-0.1.2.tar.gz.

File metadata

  • Download URL: qtile-profiles-0.1.2.tar.gz
  • Upload date:
  • Size: 13.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.26.0

File hashes

Hashes for qtile-profiles-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ef75068b39e4da1d31846c7402694e09f447e3e7be9f4aeabc5cbc6d6d3e110c
MD5 234e4265bb25c782593ae8b2d9a4d2d7
BLAKE2b-256 11e4286377be41feebde116245519c41ca11983a5f62ed0d90b9b334ec2ecbad

See more details on using hashes here.

File details

Details for the file qtile_profiles-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for qtile_profiles-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dc486ce9ba3759ca8a48f74d19583274f07ea1a9e4677b904ef84543f7daa535
MD5 a0c9b76a190aeb6c5efd34e5b15bd7d1
BLAKE2b-256 157fc61d3fa2b62a91dd99e233b88e1ec9b98107cbf8a0fab82609091f8cdae9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page