summaryrefslogtreecommitdiff
path: root/src/vwm.c
AgeCommit message (Collapse)Author
2024-08-13charts: experimenting with a deferred maintenance modeVito Caputo
2024-08-13charts: first stab at factoring out Xlib from charts/vmonVito Caputo
2024-07-28*: switch to gplv2Vito Caputo
Part of the reason for adding headless support in vmon is to facilitate embedded use cases. These are often incompatible with anti-tivoization aspects of gplv3. I am the copyright holder of all this stuff so it's entirely fine to switch to gplv2. Phil Freeman contributed one trivial patch (4183fbd), regardless I checked if he had any objections to the gplv2 switch and he had none. So here we go, gplv2 all the things.
2021-01-02*: replace the "shelf" with "contexts"Vito Caputo
This is unfortunately a bit of a large commit, but it's at least pretty much all on-topic for the generalized "contexts" feature. Rather than waste time trying to split this further into smaller commits, I'm just landing it as-is, now that I've lived with the interaction model long enough to not completely hate it. I fully expect to revisit this in the future. One TODO item in particular I'd like to note is "sending" windows to contexts always creates a new virtual desktop for the sent window in the destination context. What should really happen is the destination context should be checked for an empty desktop, and a new desktop created only when there isn't an empty one to be reused for receiving the sent window. Note this only affects non-migrate sends, as migrates (modified by Shift) explicitly use the existing focused desktop at the destination context. See the README for more information on how contexts work and what's different about the interaction model. It's fairly minimal, most of what you already know how to do should keep working as-is. The only oddity would be Mos1-s no longer "shelves" windows, it's now a modifier to turn "migrates" into "sends", and by itself is a noop now. Colors used for contexts haven't been refined and are enumerated in src/context_colors.def.
2020-12-23desktop: drop unused desktop namesVito Caputo
At some point I wanted to support naming virtual desktops, but that never materialized and I don't find myself wishing it was there.
2018-10-23*: update copyright lines to include 2018Vito Caputo
2017-11-27vwm: include window XID in event tracesVito Caputo
2017-10-05*: handle FocusIn eventsVito Caputo
Some programs call XSetInputFocus(), so we should select FocusChangeEvent and handle FocusIn events, calling vwm_win_set_focus() when appropriate. It's rare, but SDL2 programs in particular seem to do this and vwm gets in a pretty annoying state when it does occur. This change should improve the situation.
2017-03-27*: update email address: s/gnugeneration/pengaru/Vito Caputo
2017-03-25*: add some missing includesVito Caputo
2017-03-25overlays: rename overlays.[ch]->charts.[ch]Vito Caputo
2017-03-25overlays: rename overlays->chartsVito Caputo
vmon introduces a non-overlay usage, monitors is correct but ambiguous, graphs is also amiguous, charts is short and distinctive. renaming of the files comes in a separate, future commit.
2017-03-21*: update copyrights for 2017Vito Caputo
2017-03-14*: trivial code formatting cleanupsVito Caputo
I'm no longer fond of combining one-line conditional statements on the same line as their conditional expression.
2017-03-14overlays: extricate overlays from vwm internalsVito Caputo
- Move vmon_proc_t under vwm_overlay_t. - Privatize vwm_overlay_t. - Update xwindow.c to dynamically create and destroy overlays. - Cease supplying vwm_t to vwm_overlays_create(), now just pass in the bare vwm_xserver_t. - Update all vwm_overlay_* functions to operate on vwm_overlays_t and vwm_overlay_t. Only vwm_overlays_create() receives the xserver, which it then embeds within the returned vwm_overlay_t. - Eliminate _xwin_ flavors of overlay functions, largely mechanical rename eliminating the _xwin_ from the names during the previous pass of switching from vwm_t & vwm_xwindow_t to vwm_overlays_t & vwm_overlay_t parameters. - Change vwm_overlay_compose() to store damage in supplied pointer, the caller is expected to make use of the damage information now because the overlay code doesn't know about the window its coordinate space.
2017-03-14overlays: encapsulate global overlays stateVito Caputo
Introduce vwm_overlays_t and create/destroy functions, use in vwm_startup() and vwm_shutdown(). Supply to methods operating on the global overlays state vwm_overlays_update(), vwm_overlays_rate_increase(), vwm_overlays_rate_decrease(). This is a fairly minimal adoption of these changes with vwm_t still being supplyed to the overlay functions. A future commit will further cleanup the interactions and cease all knowledge of vwm_t in overlays.c, but for now everything overlay-oriented still accesses the overlays_t instance via vwm_t. Instead of supplying the vwm_t to vwm_overlays_create() the bare vwm_xserver_t will be supplied, as this is the future shared component across vmon and vwm (in addition to overlays).
2017-03-14vwm: utilize vwm_xserver_t, minor refactorVito Caputo
2017-02-22vwm: use vwm.done to signal quitVito Caputo
This moves the console teardown back to vwm.c, trivial cleanup.
2016-09-09*: refactor all the thingsVito Caputo
Long overdue house cleaning. The addition of compositing/monitoring overlays in vwm3 pushed vwm well past what is a reasonable size for a simple thousand line file. This is a first step towards restoring sanity in the code, but no behavioral differences are intended, this is mostly just shuffling around and organizing code. I expect some performance regressions initially, follow-on commits will make more improvements to that end as the dust settles.
© All Rights Reserved