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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef75068b39e4da1d31846c7402694e09f447e3e7be9f4aeabc5cbc6d6d3e110c |
|
MD5 | 234e4265bb25c782593ae8b2d9a4d2d7 |
|
BLAKE2b-256 | 11e4286377be41feebde116245519c41ca11983a5f62ed0d90b9b334ec2ecbad |
File details
Details for the file qtile_profiles-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: qtile_profiles-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.26.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc486ce9ba3759ca8a48f74d19583274f07ea1a9e4677b904ef84543f7daa535 |
|
MD5 | a0c9b76a190aeb6c5efd34e5b15bd7d1 |
|
BLAKE2b-256 | 157fc61d3fa2b62a91dd99e233b88e1ec9b98107cbf8a0fab82609091f8cdae9 |