Giter Club home page Giter Club logo

qtile-examples's Introduction

Logo

A full-featured, hackable tiling window manager written and configured in Python

Website PyPI CI status Read the Docs License Codestyle Coverage

Features

  • Simple, small and extensible. It's easy to write your own layouts, widgets and commands.
  • Configured in Python.
  • Runs as an X11 WM or a Wayland compositor.
  • Command shell that allows all aspects of Qtile to be managed and inspected.
  • Complete remote scriptability - write scripts to set up workspaces, manipulate windows, update status bar widgets and more.
  • Qtile's remote scriptability makes it one of the most thoroughly unit-tested window managers around.

Community

Qtile is supported by a dedicated group of users. If you need any help, please don't hesitate to fire off an email to our mailing list or join us on IRC. You can also ask questions on the discussions board.

Mailing List:https://groups.google.com/group/qtile-dev
Q&A:https://github.com/qtile/qtile/discussions/categories/q-a
IRC:irc://irc.oftc.net:6667/qtile
Discord:https://discord.gg/ehh233wCrC (Bridged with IRC)

Example code

Check out the qtile-examples repo which contains examples of users' configurations, scripts and other useful links.

Contributing

Please report any suggestions, feature requests, bug reports, or annoyances to the GitHub issue tracker. There are also a few tips & tricks, and guidelines for contributing in the documentation.

Please also consider submitting useful scripts etc. to the qtile-examples repo (see above).

Maintainers

@tych0 GPG: 3CCA B226 289D E016 0C61 BDB4 18D1 8F1B C464 DCA3
@ramnes GPG: 99CC A84E 2C8C 74F3 2E12 AD53 8C17 0207 0803 487A
@m-col GPG: 35D9 2E7C C735 7A81 173E A1C9 74F9 FDD2 0984 FBEC
@flacjacket GPG: 58B5 F350 8339 BFE5 CA93 AC9F 439D 9701 E7EA C588
@elParaguayo GPG: A6BA A1E1 7D26 64AD B97B 2C6F 58A9 AA7C 8672 7DF7
@jwijenbergh GPG: B1C8 1CF3 063B 5836 4946 3687 4827 061B D417 C233

qtile-examples's People

Contributors

a13xmt avatar ani1001 avatar azd325 avatar beanbrainbb avatar bogdan-the-great avatar cjbarnes18 avatar deewakar avatar dmpayton avatar ei-grad avatar elparaguayo avatar emanuelep57 avatar flacjacket avatar g-wizzy avatar hallyn avatar industrial avatar jrwrigh avatar m-col avatar mort65 avatar mrtnvgr avatar oboingo avatar osimplex avatar ramnes avatar roger avatar spyrosroum avatar sweenu avatar tych0 avatar vfedyk avatar vladdoster avatar yobleck avatar yurilxc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

qtile-examples's Issues

Missing scripts

source "/home/zordsdavini/.screenlayout/${SCREENS_COUNT}screens.sh"

I'm curious what's in those ${SCREENS_COUNT}screens.sh scripts. @zordsdavini Would you mind sharing them?

Either way I'm looking for way to setup qtile based on attached monitors. Most multiscreen setups depends on the hostname which doesn't work for me. Did I miss that in the docs?

Systems with Dual - Triple batteries

Hi,

Is there a way to merge the percentage of two or three batteries and report as one into the battery widget ?

I have 5 Lenovo ThinkPad laptops and most of them have two batteries (internal + standard removable battery).

I have two battery widgets in the bar (one for BAT0 & and one for BAT1), that takes additional space into the bar and is kind of counter intuitive.
It would be great to have a feature/option/widget to report % for all available batteries into one icon/widget/percentage.

That would free up space for another widget (especially for laptops) and report as it should be (like Desktop Environments do, their menu bar battery percentage icon shows total percentage on how much battery you have from all of the batteries).

Current implementation:

Screenshot: Link
Config: Link

No screenshots

I mean shouldn't examples have screenshots? How are people suppose to know how nice something looks if they can't see it.

Where are the xinitrc examples ?

Hello,
While trying to configure Qtile for my first use of it, I found that the documentation recommends running it in a secondary X session in order to test it.

When using the provided script ( qtile/scripts/xephyr), I get this error :
image
Kinda weird.

So I thought maybe I should try using startx.
Further reading the documentation, I've been led to this repository by a link saying it would contain examples of xinitrc files fitting my needs... but it doesn't ?

I never used startx before, only login managers.
And this is my first time using qtile so I don't know what sequence of action is recommended to start it from console/script.

Any help would be appreciated.
Thanks.

[Noob] Fixing groups to display and prevent them from switching

HI,
First of all sorry if this is not the place to ask for help,
I did tried the irc channel but there is only 2 people connected.
I've read the documentation but my issue is not explained there (or at least I didn't understood it).

I have 2 screens : one from my laptop, the seconde one a big ultrawide.
My idea is to work on the ultrawide screen and have only VIrtualbox or Social app on the laptop screen.
When I switch between groups, there is always (in the bar) a blue selected Group (which is i believe the main group I'm looking through the big monitor and a grey selected group which I believe is the Laptop screen.

When I switch on my main screen from a "Blue" Group to a "Grey" group, both groups are inverted between big monitor and laptop monitor. I Don"t want this to happen.

Furthermore, I want to limit my laptop screen to only and only one group "VBOX" in my instance.
here some of my config :

groups = [ 
    Group("MAIN"),
    Group("WWW"),
    Group("CHAT"),
    Group("VBOX"),
]

keys.extend([
    Key([mod], "q", lazy.group["MAIN"].toscreen()), 
    Key([mod, "shift"], "q", lazy.window.togroup("MAIN", switch_group=True)), 

    Key([mod], "s", lazy.group["WWW"].toscreen()),
    Key([mod, "shift"], "s", lazy.window.togroup("WWW", switch_group=True)),

    Key([mod], "d", lazy.group["CHAT"].toscreen()),
    Key([mod, "shift"], "d", lazy.window.togroup("CHAT", switch_group=True)),

    Key([mod], "f", lazy.group["VBOX"].toscreen()),
    Key([mod, "shift"], "f", lazy.window.togroup("VBOX", switch_group=True)),


def init_widget_big():
    res = [
        widget.CurrentLayout(),
        widget.GroupBox(visible_groups=["MAIN","WWW","CHAT"]),
        widget.Prompt(),
        widget.WindowName(),
        widget.Chord(
            chords_colors={
                'launch': ("#ff0000", "#ffffff"),
            },
            name_transform=lambda name: name.upper(),
        ),
        widget.TextBox("default config", name="default"),
        widget.TextBox("Press <M-r> to spawn", foreground="#d75f5f"),
        widget.Systray(),
        widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
        widget.QuickExit(),
    ]
    return res

def init_widget_small():
    res = [
        widget.CurrentLayout(),
        widget.GroupBox(visible_groups=["VBOX"]),
        widget.WindowName(),
        widget.Chord(
            chords_colors={
                'launch': ("#ff0000", "#ffffff"),
            },
            name_transform=lambda name: name.upper(),
        ),
        widget.TextBox("Press <M-r> to spawn", foreground="#d75f5f"),
        widget.Systray(),
        widget.Clock(format='%Y-%m-%d %a %I:%M %p'),
        widget.QuickExit(),
    ]
    return res

screens = [
    # écran principal, 24 = taille de la bar
    Screen(top=bar.Bar(init_widget_small(),24)),
    # écran secondaire (WQHD)
    Screen(top=bar.Bar(init_widget_big(),24))

Summarize content of each config

The examples could be a lot more useful to newcomers if there was the slightest bit of text describing the general features of the config files. The text does not need to be very in depth just something that would make the odds of finding something relevant to me better than 1 in N. For Example:

  • carmen.py
    Optimized for netbook / small screen
  • willis.py
    Heavily modified keyboard commands and multiple widgets
  • nanette.py
    xrandr for multiple monitors, custom arrangement and multimedia friendly (now playing, mpd control, etc)
  • leigh.py
    Imitates xmonad
  • vanessa.py
    Application specific layouts
  • karina.py
    Two monitors with task specific layouts
  • buford.py
    Laptop and external monitor

I realize that it might be difficult to go back and fill in the details but at the very least have a contribution requirement that any PRs must be accompanied with a short blurb about the config to be added.

time logger do not work

I have tried to use timelogger.py in @oboingo but nothing happen
I have made the log txt file in same location fixed missing . before config and imported the file to my config and still nothing happen

The docs website is down

I tried to access docs.qtile.org but no response with message Server not found, I tried VPN and proxy sites but still no response with error message curl could not resolve host docs.qtile.org, So I thing the problem is not on my side.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.