Commit graph

1121 commits

Author SHA1 Message Date
Daniel Eklöf
588e6150d2
bar/wayland: do *not* set backend->scale in xdg_output_handle_done()
This is done by update_size(). Setting it in xdg_output_handle_done()
causes update_size() to do an early exit, and thus we end up never
actually configuring the surface.

We also never instantiate a pixman image, which led to a hard crash at
startup when the user had configured a specific output to use.
2020-07-20 17:30:20 +02:00
Daniel Eklöf
aa1b3457a1
bar/wayland: make sure we don't strcmp() a NULL pointer 2020-07-20 17:29:56 +02:00
Daniel Eklöf
e38f593acd
bar/wayland: don't try to set cursor surface if serial is 0 2020-07-11 07:39:02 +02:00
Daniel Eklöf
74933c40ee
bar/wayland: log error message when failing to load cursor (image) 2020-07-11 07:37:01 +02:00
Daniel Eklöf
84ba1c231a
bar/wayland: update cursor on pointer enter event 2020-07-10 18:38:00 +02:00
Daniel Eklöf
c03564513d
bar/wayland: seat: handle failure to create pointer surface 2020-07-10 18:37:39 +02:00
Daniel Eklöf
0a0ef8852a
bar/wayland: move seat.pointer.pointer -> seat.wl_pointer 2020-07-10 18:20:29 +02:00
Daniel Eklöf
f426155e0b
bar/wayland: explicitly refresh on scale changes
Just calling update_size() isn't enough, as that in itself doesn't
trigger a redraw.
2020-07-10 11:43:34 +02:00
Daniel Eklöf
6bf077240c
bar/wayland: update_size: release old buffer when reloading buffers 2020-07-10 11:43:12 +02:00
Daniel Eklöf
dd74b7f747
bar/wayland: don't initialize backend->scale = 1
This causes the first call to update_size() to exit early, and thus we
never configure the initial state.
2020-07-10 11:42:26 +02:00
Daniel Eklöf
31a4cddde3
bar/wayland: guess scale when no 'output' has been configured 2020-07-10 10:48:17 +02:00
Daniel Eklöf
d80fbd4084
bar/wayland: remove commented out code 2020-07-10 10:48:07 +02:00
Daniel Eklöf
d929c12ecb
bar/wayland: reload cursor theme: remember current pointer name
This allows us to avoid reloading the same pointer image again and
again.
2020-07-09 19:52:10 +02:00
Daniel Eklöf
f04b1e806c
bar: let backend check if xcursor should be updated or not
This allows the backend to support multi-seat "properly", by checking
against the correct seat. Before this, when we used a single, global
xcursor value, a seat whose pointer needed to be updated would not be
updated.
2020-07-09 19:02:02 +02:00
Daniel Eklöf
5884e665a4
bar/wayland: set-cursor: don't skip out if "old" xcursor is same as "new"
We might be setting on a different seat than before.
2020-07-09 18:55:04 +02:00
Daniel Eklöf
13c2b8296d
bar/wayland: resize surface+buffers on dynamic scale changes 2020-07-09 18:51:44 +02:00
Daniel Eklöf
40d47f8273
bar/wayland: handle seat removal 2020-07-07 20:52:25 +02:00
Daniel Eklöf
b658f577de
bar/wayland: don't roundtrip when adding globals
Instead, roundtrip once all globals have been handled. This means all
listeners have been registered.

When we detect a specific monitor to map to, and it has a non-default
scale, update the cursor theme (since it depends on the scale).
2020-07-07 20:44:17 +02:00
Daniel Eklöf
b73e3acd0a
bar/wayland: remove debug output 2020-07-07 16:42:57 +02:00
Daniel Eklöf
6f22edaba6
bar/wayland: multi-seat support
We only care about the mouse. We now track per-seat cursor positions
and cursor themes.

Any enter/leave/motion/button event will call the bar on_mouse()
method using the coordinates from the "current" seat.

Since the bar framework doesn't deal with multi-seats at all, we
internally, in the backend, track the currently active seat. This is
the seat which we last saw any kind of events from.

This is used in e.g. set_cursor(), which is called from the bar.
2020-07-07 14:09:25 +02:00
Daniel Eklöf
6433373f93
module/i3-common: fix compilation warning with asan 2020-07-07 14:06:29 +02:00
Daniel Eklöf
a7af3764f0
wlr-protocols: bump 2020-07-07 14:05:51 +02:00
Daniel Eklöf
cc8a54a0de
Merge branch 'battery-charge-current'
Closes #6
2020-06-22 10:58:34 +02:00
Daniel Eklöf
3e0ca67a47
Merge branch 'sd-card' 2020-06-21 20:45:44 +02:00
Daniel Eklöf
19d91dbb44
module/battery: estimate remaining time from charge+current
Time remaining is now taken from 'time_to_empty_now' if available. If
not, use 'energy' + 'power' if available, and if those does not exist,
use 'charge' + 'current'.

If neither exists, hardcode to 99:00.
2020-06-21 20:44:34 +02:00
Daniel Eklöf
c28c970be6
doc: yambar-modules: document the new 'ignore' property of 'removables' 2020-06-21 10:25:56 +02:00
Daniel Eklöf
87a8054ae2
module/removable: 'ignore' is now applied to partitions too
This means you can now do either

  ignore: [/dev/sda]

to ignore all partitions on /dev/sda, or

  ignore: [/dev/sda1]

to ignore only the first partition on /dev/sda.
2020-06-21 10:24:52 +02:00
Daniel Eklöf
5d17f1eb57
module/removables: add 'ignore' configuration option
This is a list of devnames (e.g. /dev/sr0). Devices listed here will
be ignored.
2020-06-20 21:46:03 +02:00
Daniel Eklöf
b0e9c02876
config-verify: add conf_verify_list() 2020-06-20 21:45:43 +02:00
Daniel Eklöf
205801625f
Merge branch 'master' into sd-card 2020-06-20 11:26:30 +02:00
Daniel Eklöf
ae871853ca
module/battery: don't crash if 'sysname' in udev event is NULL 2020-06-20 11:21:44 +02:00
Daniel Eklöf
86e6aea152
module/battery: poll-interval = 0 now disables polling 2020-06-20 11:02:57 +02:00
Daniel Eklöf
ddd5911410 module/removables: check for removable or SD card in add_device() 2020-06-18 20:17:55 +02:00
Daniel Eklöf
0fc2a29296 module/removables: initial support for detecting SD cards at startup
SD cards aren't removable
2020-06-18 20:09:57 +02:00
Daniel Eklöf
bdc5dea428 module/alsa: set unmuted=false if we device doesn't have the muted property 2020-06-18 20:08:47 +02:00
Daniel Eklöf
efb71cb5c5
Merge branch 'battery' 2020-06-05 13:47:00 +02:00
Daniel Eklöf
0b1333aa03
module/battery: add support for 'charge_full' and 'charge_full_design' 2020-06-05 13:44:59 +02:00
Daniel Eklöf
1864d68961
module/battery: don't need 'energy' unless we're estimating time left 2020-06-05 13:44:38 +02:00
Daniel Eklöf
50b4bf3783
module/battery: use time_to_empty_now if available 2020-06-05 13:36:10 +02:00
Daniel Eklöf
70b528b088
xcb: extern declare cached XCB atoms in header file 2020-06-05 13:30:08 +02:00
Daniel Eklöf
cc9c5109e9
module/battery: handle 'manufacturer' and 'model_name' not being present 2020-06-05 13:29:38 +02:00
Daniel Eklöf
d108cce689
PKGBUILD: works on aarch64 too 2020-06-05 12:05:43 +02:00
Daniel Eklöf
fb4db1f856
meson: fcft: only major version changes break ABI/API 2020-05-09 11:20:16 +02:00
Daniel Eklöf
0e3bded42d
module/mpd: thrd_success isn't necessarily 0 2020-05-03 14:25:17 +02:00
Daniel Eklöf
bc392d8b0b
meson: use 'status()' instead of 'message()' 2020-05-01 12:28:48 +02:00
Daniel Eklöf
44fb0b83ba
main: call setlocale() *after* loading fonts
This ensures the fonts are instantiated while LC_NUMERICAL is "C",
which required to handle FontConfig strings like "size=12.5".
2020-04-29 18:58:43 +02:00
Daniel Eklöf
0678015eb1
bar/wayland: shutdown when compositor "closed" our layer surface 2020-04-28 18:58:27 +02:00
Daniel Eklöf
860ec01791
bar/wayland: log globals 2020-04-28 18:58:18 +02:00
Daniel Eklöf
c707b00a2a
bar/wayland: don't destroy pointer unnecessarily
We only need to create/destroy the pointer when the POINTER capability
changes.
2020-04-28 18:57:32 +02:00
Daniel Eklöf
c3b3d6a637
module/i3: workaround 'workspace init' event being sent twice
Sway 1.4 sends two identical 'workspace init' events when a display is
plugged in.
2020-04-28 18:56:39 +02:00