Ole Martin Handeland
4229e9b2ca
Implemented format-{state} for cpu/disk/memory
2020-10-12 02:05:26 +02:00
Alex
d6381eeaff
Merge branch 'master' into taskbar/remove-trim
2020-10-11 23:06:32 +02:00
Alex
45f7f9b07a
Merge branch 'master' into config-reloading
2020-10-11 23:00:25 +02:00
Christoffer Noerbjerg
e9b2d275c8
added module group selectors for styling
2020-10-11 22:36:30 +02:00
Alex
f270d317bb
Merge pull request #869 from lrhel/master
...
Add format-icons for workspace's name entry in sway/workspaces module
2020-10-11 14:39:39 +02:00
nikto_b
cc3acf8102
feature: created sway language submodule; added styles & config part for a sway language submodule
2020-10-10 19:09:18 +03:00
Joseph Benden
21fdcf41c3
mpd: revamped to event-driven, single-threaded
...
Fix MPD connection issues by converting/rewriting module into a
state-machine driven system. It is fully single-threaded and uses
events for transitioning between states. It supports all features
and functionality of the previous MPD module.
Signed-off-by: Joseph Benden <joe@benden.us>
2020-10-08 16:43:22 -07:00
Érico Rolim
22e46ea6cc
sndio: Add reconnection support.
2020-10-04 14:59:20 -03:00
Érico Rolim
e4427cb017
sndio: Add module.
...
- can control sndio: change volume, toggle mute
- appearance is somewhat dynamic: takes muted status into account
- uses polling inside sleeper thread to update values
- uses sioctl_* functions, requires sndio>=1.7.0.
2020-10-04 02:54:57 -03:00
Minijackson
e9b5be9adb
fix: add global /etc/xdg/waybar back. fixes #714
2020-09-29 22:28:39 +02:00
lrhel
83d679bf72
Add format-icons for workspace's name entry
2020-09-26 23:06:12 +00:00
Daniel De Graaf
7ba14c2097
Fix "on-click-backward" when "on-click-forward" is not present
2020-09-26 15:55:06 -04:00
Thorben Günther
12016d35bb
disk module: add state for percentage_used
2020-09-23 14:01:25 +02:00
Alex
063c5a5ace
Merge branch 'master' into fix-network
2020-09-21 12:09:54 +02:00
Alex
95f505a457
revert: restore eventfd
2020-09-21 10:56:40 +02:00
Alex
577dc1fa00
Merge branch 'master' into poll-h
2020-09-21 10:40:46 +02:00
koffeinfriedhof
c651670222
Added song position and queue length.
2020-09-13 18:49:47 +02:00
Alex
459df4e0c9
Merge pull request #851 from tamirzb/exec-on-event
...
Add an "exec-on-event" config for the custom module
2020-09-08 09:18:32 +02:00
Tamir Zahavi-Brunner
9e3e4368c7
custom: Add "exec-on-event" config
...
This config allows disabling the default behavior of re-executing the
script whenever an event that has a command set is triggered.
Fixes #841
2020-09-06 22:49:18 +03:00
Luca Weiss
98b6d7f283
Fix non-standard usage of <sys/poll.h>
...
Fixes the following build warning with musl libc:
In file included from ../src/util/rfkill.cpp:24:
/usr/include/sys/poll.h:1:2: warning: #warning redirecting incorrect #include <sys/poll.h> to <poll.h> [-Wcpp]
1 | #warning redirecting incorrect #include <sys/poll.h> to <poll.h>
| ^~~~~~~
2020-09-06 21:48:42 +02:00
MusiKid
225a0eccdd
Add support for memory tooltip
2020-09-02 14:35:39 +02:00
Alex
44119db436
Merge pull request #840 from tamirzb/fix-restart-interval
...
Fix "restart-interval" in the custom module
2020-08-28 15:38:41 +02:00
Renee D'Netto
943b6bc51b
Implement support for reloading of config files.
...
Fixes #759 .
2020-08-28 22:34:24 +10:00
Alex
4a22057138
Merge pull request #814 from danieldg/markup-fixes
...
Allow enabing pango markup in the taskbar string
2020-08-28 09:01:32 +02:00
Tamir Zahavi-Brunner
ba78199dd1
custom: Fix "restart-interval"
...
This commit fixes the issue where the process would restart immediately
and the thread would sleep after the process has restarted, and not
before.
Fixes #621
2020-08-28 01:43:19 +03:00
Marek Černoch
9b51094743
Merge branch 'master' into battery-custom-tooltip
2020-08-20 13:52:25 +02:00
Daniel De Graaf
ea722615c4
Allow enabing pango markup in the taskbar string
...
The fix for taskbar tooltips in 6a2d214b55
was incomplete: it causes the label
to contain escaped titles. Use set_markup so that GTK decodes markup again,
but only if requested by the user (disabling markup is needed if using format
strings like "{title:.15}" to avoid terminating the string in the middle of an
XML entity).
2020-08-19 22:26:11 -04:00
Pedro Côrte-Real
6f7d7e645a
Prevent line breaks in ellipsized labels
...
If a label is being ellipsized it doesn't make sense to allow it to use
line breaks to have multiple lines.
Fixes #827
2020-08-19 23:38:59 +01:00
Marek Černoch
8fb54f47ea
battery: allow custom tooltip format
2020-08-19 23:13:03 +02:00
Marek Černoch
d263607b27
network: fix typo - update tooltip only when it changes
2020-08-18 23:09:35 +02:00
dmitry
b54fb24745
Remove trim usage in format
...
Some clang-tidy fixes
2020-08-16 15:54:21 +03:00
Alex
0cf3b25d50
Merge pull request #824 from alebastr/gls-resize
...
Fix resizing of the bar with gtk-layer-shell
2020-08-15 10:59:12 +02:00
Alex
033f0b01b7
Fix rfkill condition
2020-08-15 10:36:15 +02:00
Aleksei Bavshin
3663b9193d
refactor(bar): separate GTK event handlers for gtk-layer-shell
...
Cleanly separate resizing logic for gtk-layer-shell and manually managed
layer surface code.
2020-08-14 22:47:57 -07:00
Alex
591eb2ea38
Merge pull request #821 from danieldg/new-clock-features
...
New clock features
2020-08-14 22:12:48 +02:00
wjoe
4d775008df
only return a bluetooth module from factory if the rfkill feature is enabled.
2020-08-14 20:59:30 +02:00
wjoe
4565f7f8b9
only compile rfkill into the network module if the feature is enabled.
2020-08-14 20:58:48 +02:00
Daniel De Graaf
62082bdb01
clock: scroll through multiple timezones
2020-08-13 18:53:18 -04:00
Daniel De Graaf
8cd6e13308
clock: allow custom formatting for today in calendar
2020-08-13 18:53:18 -04:00
Pedro Côrte-Real
29fa74f621
Add IDs to sway workspace buttons for CSS styling
...
In case you want to style a specific workspace add IDs to the workspace
buttons. Styling is done by matching button#sway-workspace-${name}.
2020-08-13 11:36:19 +01:00
Pedro Côrte-Real
8f10c9056c
Add option for no workspace switch on click
...
In sway/workspaces, just like disable-scroll turns on/off the ability to
change workspaces by scrolling the mouse add disable-click that turns
on/off the ability to change workspaces by clicking.
2020-08-12 11:38:48 +01:00
dmitry
22409d27c5
Fix docs typos
...
Add removing buttons
Adjust handling multiple outputs.
2020-08-11 00:28:56 +03:00
dmitry
42b6c089f3
Add docs and adjust sorting
2020-08-08 00:09:35 +03:00
dmitry
0ad29a5960
Finish base implementation
2020-08-07 23:46:47 +03:00
Alex
5ebd3594e4
Merge pull request #778 from excellentname/handle-sigchld
...
Handle SIGCHLD for exec/forkExec
2020-08-07 13:33:27 +02:00
dmitry
4c251578e9
Add formatting and states handling
2020-08-07 02:45:08 +03:00
Alex
a446cd692d
Fix MPD, add missing while loop
2020-08-06 21:57:02 +02:00
NotAFile
9ebfc54eb5
switch workspace on mouse-down to match swaybar
...
fixes #686
2020-08-06 16:04:30 +02:00
Daniel De Graaf
4cd31cf3c3
Fix wlr/taskbar all-outputs config string
2020-08-05 20:39:12 -04:00
Daniel De Graaf
6a2d214b55
Fix titles containing & and other HTML entities
2020-08-05 20:39:12 -04:00
dmitry
7638f5c595
Add base name representation
2020-08-06 01:42:57 +03:00
dmitry
edd4d8ee11
Finish implement wlr
2020-08-05 23:10:08 +03:00
dmitry
2b11b7ef8c
Base wlr impl (Manager, Group)
2020-08-05 02:17:38 +03:00
Eivind Uggedal
fb8cda9d90
network: make missing nl80211 non-fatal
...
This will enable the networking module to be used for ethernet
interfaces on kernels without nl80211 support.
It should be reasonable to allow desktop systems without
wireless interfaces to run custom kenrel configs
without nl80211 compiled in.
2020-07-31 08:15:16 +02:00
Michael Rodler
006850ea5e
Changed helper function for workspace->num assignment to a static method of Workspaces class
...
and adapted comments/method name to be consistent with the rest
2020-07-27 10:56:49 +02:00
excellentname
c3359dec1b
Replace signal handler with signal handling thread
2020-07-25 21:02:59 +10:00
Michael Rodler
15fe73a252
duplicate the logic to assign numbers to workspaces from sway into waybar to handle perisstent workspaces
2020-07-22 16:13:24 +02:00
excellentname
246f7bf555
Handle SIGCHLD for exec/forkExec
...
When forkExec is called it begins to ignore all SIGCHLD signals for
the rest of the progam's execution so that they are automatically
reaped. However, this means that subsequent waitpid calls in the exec
function will always fail. So instead handle SIGCHLD by reaping any
processes created by forkExec and ignoring all others so that they can be
handled directly by the exec function.
2020-07-21 12:36:48 +10:00
Alex
759602af64
Update mpd.cpp
2020-07-18 10:23:04 +02:00
Alex
e3fdd6d94a
fix: don't a warning for a width/height of 0
2020-07-12 11:57:47 +02:00
Till Smejkal
bc112eaae1
Convert icon-theme option to array|string
...
Use the config support of using arrays in its options instead of the
complicated and error-prone parsing of the string.
2020-07-07 11:22:08 +02:00
Till Smejkal
70e368a1c6
Refactor the lower_app_id logic
...
Move the lower_app_id lookup logic completely in the image_load_icon
method and use it also when looking up the icon from the desktop files
as well as icon themes.
2020-07-07 10:39:28 +02:00
Till Smejkal
7d9f6096fe
Respect XDG_DATA_DIRS when looking for icons.
...
Use the base folders as defined in $XDG_DATA_DIRS and only fall back to
/usr/share and /usr/local/share if the environment variable does not
exist.
2020-07-05 13:16:41 +02:00
Till Smejkal
06ad35c42b
Add support for multiple icon themes in the config
...
If there are multiple icon themes defined in the config option
'icon-theme' the module will try from left to right to find an icon.
The system default will always be added to this list.
2020-07-05 13:16:38 +02:00
Till Smejkal
b7e8275d90
Properly trim when splitting up the format string
...
Previously only single spaces would be trimmed and not multiple ones.
Now use a proper trim implementation for strings.
2020-07-05 13:13:34 +02:00
dmitry
8a13ed59bc
Fix lower
2020-07-01 03:05:17 +03:00
dmitry
43500a9983
Move lower to load_icon phase
2020-07-01 02:56:44 +03:00
dmitry
8e6cbc1021
Change find icon priority and to_lower app_id
2020-07-01 02:10:22 +03:00
Till Smejkal
b7a8e8e544
Fix format option for the taskbar module
...
When using additional format options in addition to {icon} the format is
separated into text before and text after the icon. Each of the texts is
displayed in a separate label one before and one after the image for the
icon.
The code updating the labels on changes used the wrong format strings
when updating the label after the icon.
2020-06-24 09:47:34 +02:00
Till Smejkal
7429d1f9cc
Fix click events for the taskbar module
...
When only the option 'on-click-right' was set and no other 'on-click'
option than the taskbar module wouldn't register for click events and
hence those events were handled by the generic AModule::on-click code.
This code would try to start a shell with the specified command, which
wouldn't make any sense in this circumstances.
The taskbar code falsely checked for the 'on-click-left' option instead
for the 'on-click-right' when deciding to register for click events.
2020-06-24 09:36:28 +02:00
Jannusch Bigge
401ea05dd8
add check that all batteries from type battery
2020-06-16 12:30:21 +02:00
Isaac Freund
343a8bef22
river/tags: add module
2020-06-12 15:19:46 +02:00
Tudor Brindus
0080feb9af
sway/workspaces: make clicking on workspaces idempotent
...
Previously, clicking on the same workspace you were on would throw you
to another workspace if `workspace_auto_back_and_forth yes` was
specified in your sway config. This also fixes workspace output moving
misbehaving and doing the same.
2020-06-09 20:43:43 -04:00
Till Smejkal
adaf843048
foreign-toplevel-manager based taskbar module ( #692 )
...
Co-authored-by: Alex <alexisr245@gmail.com>
2020-05-30 12:07:38 +02:00
Alex
e96a0bf799
refactor(custom): tooltip markup
2020-05-30 11:59:22 +02:00
Alex
6e7f22ac3a
fix: cancel thread and fix window close
2020-05-27 09:10:38 +02:00
Jan Beich
94a4d41a65
disk: make used calculation match df(1) output
...
Substract space only available to superuser as well.
2020-05-26 07:47:08 +00:00
Alex
3b16946c25
fix(custom): avoid hide outside update
2020-05-25 09:21:04 +02:00
Alex
e72b153f87
fix: ignore gtk unknown options
2020-05-24 22:03:41 +02:00
Alex
7b4ded306b
fix: restart-interval
2020-05-24 21:33:38 +02:00
Alex
2ffc96d0b2
fix: hide box by default
2020-05-24 19:02:52 +02:00
Alex
9a123052a0
refactor: check conn
2020-05-24 18:47:50 +02:00
Alex
9b9d13ab0d
feat: execNoRead
2020-05-24 18:27:21 +02:00
Alex
6ca4e14b29
Feat icons vector ( #716 )
2020-05-22 21:23:04 +02:00
Alex
6b32aca094
feat: debug cmd
2020-05-22 20:57:41 +02:00
Alex
b251c51936
fix: spdlog
2020-05-22 20:02:09 +02:00
Alex
60bad8279e
feat: add comment
2020-05-22 19:09:50 +02:00
Alex
a871dcaebe
fix: type
2020-05-22 18:56:32 +02:00
Alex
cef5b27b48
fix: prefer default fmt date formatting unless timezone specified
2020-05-22 18:52:26 +02:00
Jan Beich
1885ecc958
bluetooth: limit to Linux due to missing /dev/rfkill
...
../src/modules/bluetooth.cpp:3:10: fatal error: 'linux/rfkill.h' file not found
#include <linux/rfkill.h>
^~~~~~~~~~~~~~~~
2020-05-19 10:44:31 +00:00
Jan Beich
71b7b4e0f4
disk: properly calculate free/total size
...
On most Unix systems `f_blocks`, `f_bfree`, and `f_bavail` are
reported in units of `f_frsize`.
2020-05-19 10:43:45 +00:00
Jan Beich
4e567d0483
cpu: port parseCpuinfo to BSDs
2020-05-19 10:43:42 +00:00
Jan Beich
c4f7cdeec4
memory: port parseMeminfo to BSDs
2020-05-19 10:42:21 +00:00
Jan Beich
c844d7ac2e
tray: drop std::filesystem dependency
2020-05-19 10:37:27 +00:00
Jan Beich
496e782544
battery: limit to Linux due to /sys/class/power_supply
...
../include/modules/battery.hpp:9:10: fatal error: 'sys/inotify.h' file not found
#include <sys/inotify.h>
^~~~~~~~~~~~~~~
2020-05-19 10:37:27 +00:00
Jan Beich
d5df185ac6
cpu: make getCpuLoad more portable
...
../include/modules/cpu.hpp:4:10: fatal error: 'sys/sysinfo.h' file not found
#include <sys/sysinfo.h>
^~~~~~~~~~~~~~~
2020-05-19 10:37:27 +00:00
Jan Beich
c94ef092ff
build: drop -Dout in favor of --prefix
...
$ meson --prefix=/tmp/foo _build
$ ninja install -C _build
[49/50] Installing files.
Installing waybar to /tmp/foo/bin
Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/mesonbuild/mesonmain.py", line 127, in run
return options.run_func(options)
File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 514, in run
installer.do_install(datafilename)
File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 346, in do_install
self.install_data(d)
File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 375, in install_data
d.dirmaker.makedirs(outdir, exist_ok=True)
File "/usr/lib/python3.6/site-packages/mesonbuild/minstall.py", line 55, in makedirs
os.makedirs(path, exist_ok=exist_ok)
File "/usr/lib/python3.6/os.py", line 210, in makedirs
makedirs(head, mode, exist_ok)
File "/usr/lib/python3.6/os.py", line 220, in makedirs
mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/etc/xdg'
FAILED: meson-install
2020-05-19 10:37:27 +00:00
Alex
45deb2472c
fix: use strcmp
2020-05-19 12:14:59 +02:00
Alex
8fbaf06cbe
refactor(mpd): prefer debug over warn
2020-05-16 09:29:37 +02:00
Alex
08dce576bd
refactor(mpd): prefer debug over info
2020-05-16 09:28:30 +02:00
Michael Rodler
6fe764540c
sway/workspaces: sort by the "num" property provided by sway, configurable whether numeric workspace names come first
...
Sway provides the workspace "num" property which is an integer number of
the workspace, i.e., workspace "3" -> 3 and also "3dev" -> "3". This
commit uses this property to sort the workspaces, which makes sense when
persistent workspaces or all-output is specified. This commit also adds
a new configuration option, whether the numeric workspaces come in front
or after workspaces that have non-numeric name.
2020-05-05 09:15:20 +02:00
Michael Rodler
c602d38c8e
sway/workspaces added current_output CSS class to buttons.
...
All workspace buttons that are visible on the same output as the current waybar can be styled with the `current_output` css class.
This is really only useful in combination with the `"all-outputs":
true`. Then the workspaces that are on the current output can be styled
differently than the workspace on other outputs, while all are visible
in the waybar.
2020-05-04 16:16:09 +02:00
Alex
44ed61b2c3
Merge pull request #680 from akobel/master
...
Fix round to 0 or 1 in capacity computation with given full-at
2020-04-27 08:47:22 +02:00
phosit
6e946bf872
Add kelvin-scale
2020-04-25 18:44:48 +02:00
Alex
e01a081f2f
fix(brightness): amd brightness
2020-04-21 09:11:56 +02:00
Alexander Kobel
df0d34dbd4
Fix round to 0 or 1 in capacity computation with given full-at
2020-04-21 00:58:17 +02:00
Alex
774d8ffdba
Merge branch 'master' into output-exclusion
2020-04-17 23:42:58 +02:00
Alex
4a80874da9
Update client.cpp
2020-04-17 23:41:32 +02:00
Marc Radau
2d02ae5e97
Merge branch 'master' into master
2020-04-16 14:43:10 +02:00
Alex
d1c4897f31
feat: update man
2020-04-12 18:38:51 +02:00
Alex
4a7dd400fe
Merge branch 'master' into on-update
2020-04-12 18:32:19 +02:00
Alex
687c50dc13
refactor: remove old stuff
2020-04-12 18:31:07 +02:00
Alex
b40cdcb5bd
refactor: call parent update
2020-04-12 18:30:21 +02:00
Alex
7c4ea39774
fix: add missing comma
2020-04-06 12:49:41 +02:00
Alex
27fbea2b5a
refactor(workspaces): default value unstripped, fix man
2020-04-06 12:42:29 +02:00
Marc Radau
f34163a065
Merge pull request #9 from Alexays/master
...
Changes
2020-04-06 12:20:31 +02:00
JohnHolmesII
5c5031fd69
pulse: do not die when a server hasn't been started. wait first.
2020-04-05 11:42:27 -07:00
Alex
8e0f3c7ddf
feat: full-at ( #649 )
...
* feat: full-at
* fix(man): typo
2020-04-05 16:56:51 +02:00
Marc Radau
8a5c3af949
Merge pull request #8 from Alexays/master
...
Merge Alexays:master into marcplustwo:master
2020-04-05 16:13:56 +02:00
Alex
bb2c16386b
feat: format-icon for persistent workspaces
2020-04-04 21:13:25 +02:00
Alex
10b152ac3e
fix: process last line, restart-interval
2020-03-26 09:18:47 +01:00
Alex
9acf5587fa
refactor(pulseaudio): fallback to default muted format
2020-03-25 22:53:09 +01:00
Alex
ff36154c4b
fix: typo
2020-03-25 22:31:04 +01:00
Alex
d12ad1128e
fix: man
2020-03-25 22:30:22 +01:00
Alex
cb2f5c154c
feat(custon): restart_interval for continuous script
2020-03-25 22:25:30 +01:00
Alex
c3cdd516ef
Merge pull request #629 from Xyene/pre-3.4-meminfo
...
fix(memory): provide better free memory approximation on old kernels
2020-03-24 20:57:23 +01:00
Tudor Brindus
19743f3085
fix(memory): provide better free memory approximation on old kernels
...
The approximation should include SReclaimable, and subtract Shmem. To
prevent the parsing code from ballooning in size, this commit also
refactors the parsing into a map.
2020-03-20 17:37:22 -04:00
BoostCookie
d405f28622
Indent now uses spaces.
2020-03-13 16:42:05 +01:00
BoostCookie
2f975f870a
Added support for absolute device paths for the temperature module.
2020-03-12 22:04:00 +01:00
Aleksei Bavshin
dd0144c3cd
fix(bar): set exclusive zone early for gtk-layer-shell
...
If the bar is using initial size from the config (i.e both width and
height are set and resize is not required), GtkWindow configure event
is is not emitted. Initialize exclusive zone earlier for that case.
Fixes #609
2020-03-04 06:56:25 -08:00
Vesim
4eb462426d
Merge branch 'master' into output-exclusion
2020-02-28 07:53:20 +01:00
Vesim
1209022492
Return true when outputs are not specified
2020-02-28 07:54:00 +01:00
Vesim
bb88038c17
Dont exclude outputs in arrays
2020-02-27 21:49:09 +01:00
Guillaume Maudoux
190b2dd922
pulseaudio: track only the default sink and source
...
When you have multiple sinks (resp. sources), the module used to display
the state of the most recently changed one. This changes remembers the
default sink name, and only records changes to that one.
2020-02-24 11:30:35 +01:00
Marc
dd7d78cd60
changes requested
2020-02-23 23:09:05 +01:00
Marc Radau
9abe1e2790
Merge branch 'master' into master
2020-02-23 23:00:09 +01:00
Vesim
7bebfebe5f
Merge branch 'master' into output-exclusion
2020-02-20 22:17:13 +01:00
Alex
2d8dc83480
Merge pull request #598 from layus/sni-watcher
...
Use the same StatusNotifierWatcher for all trays
2020-02-19 14:22:51 +01:00
Guillaume Maudoux
9a5f5114c4
pulse: track default source/sink changes
2020-02-19 12:28:36 +01:00
Guillaume Maudoux
047c2929c1
Use the same StatusNotifierWatcher for all trays
2020-02-19 12:06:35 +01:00
Vesim
9525663014
Update src/client.cpp
...
Co-Authored-By: Alex <alexisr245@gmail.com>
2020-02-18 22:40:21 +01:00
Vesim
4fcf06a164
Add a way to exclude specific output
2020-02-18 22:24:59 +01:00
Alex
543589a97b
Update pulseaudio.cpp
2020-02-16 21:48:22 +00:00
Jordan Leppert
4f8a396692
Fix for 'Network label text not updated properly when formats contain Unicode characters' ( #588 )
2020-02-15 16:51:18 +00:00
Aleksei Bavshin
e70f8d8730
fix(clock): lower precision of zoned_time to avoid fractional seconds in output
2020-02-06 10:04:22 -08:00
Alex
e1215a6d17
Merge pull request #578 from alebastr/ipc-use-after-free
...
fix(sway): resolve destruction dependency between Ipc and SleeperThread
2020-02-06 17:36:11 +00:00
Skirmantas Kligys
d1f427618f
Cache calendar per clock instance, weekdays properly handle locales.
2020-02-05 11:07:47 -08:00
Aleksei Bavshin
ae6ca36fa7
fix(sway): resolve destruction dependency between Ipc and SleeperThread
...
Ipc destructor closes socket and thus wakes up SleeperThread which was
waiting for socket data in Ipc::handleEvent.
Ipc::handleEvent then proceeds with sending signal to already destroyed
object, causing heap-use-after-free Address Sanitizer error.
2020-02-04 23:22:43 -08:00
Skirmantas Kligys
cd2db19267
Detect presence, call nl_langinfo() to get first day of week.
2020-02-03 17:18:34 -08:00
Skirmantas Kligys
4c40f9c635
Stop using a mutex for guarding CachedCalendar.
2020-02-03 17:18:34 -08:00
Skirmantas Kligys
218bb3bc2b
Simpify calendar generation, single loop handles both first week and subsequent weeks.
2020-02-02 16:06:27 -08:00
Skirmantas Kligys
f6b2005687
Cache calendar tooltip text to reduce computations.
2020-02-02 15:59:24 -08:00
Skirmantas Kligys
ea9591baea
Switch from utfcpp to Glib::ustring for UTF-8 string mangling.
2020-02-02 15:59:24 -08:00
Skirmantas Kligys
af2528952b
Merge branch 'master' of github.com:skligys/Waybar into temp
2020-02-02 15:58:40 -08:00
Andreas Stührk
527fa982d2
pulseaudio: adapt icon names to form factors
2020-01-31 22:47:26 +01:00
Skirmantas Kligys
8e05aab4d9
Current month calendar in clock tooltip.
2020-01-31 10:36:40 -08:00
Marc
6ae9f436a9
add copyright notice for rfkill util
2020-01-30 00:25:37 +01:00
Marc
58eb8ad11f
Merge branch 'master' of github.com:marcplustwo/Waybar
2020-01-26 05:35:34 +01:00
Marc
c045288ce4
add man page for bluetooth, fix bluetooth race-condition
2020-01-26 05:34:31 +01:00
Marc Radau
f9618d30f3
Merge pull request #7 from Alexays/master
...
Merge latest changes from upstream
2020-01-23 17:30:33 +01:00
Marc
e3bf6b968c
bluetooth module handles rfkill events instantly
2020-01-23 17:17:29 +01:00
Guillaume Maudoux
84b671f6b2
Attempt at supporting locale and timezones ( #1 )
2020-01-23 08:27:10 -05:00
Michael Cordover
6e30b7af3c
Remove duplicate dependency, use current locale
2020-01-23 08:27:00 -05:00
Michael Cordover
3130a57622
Add timezone support to clock module ( closes #223 )
2020-01-23 08:26:49 -05:00
Marc Radau
d85f0e1060
Merge pull request #3 from marcplustwo/addbluetoothmodule
...
Add bluetooth module
2020-01-22 11:44:25 +01:00
Marc
89cb9673d4
bluetooth module working
2020-01-22 11:37:47 +01:00
Marc
f0dbd8b78d
properly structure rfkill util
2020-01-21 17:48:45 +01:00
Marc
626af1ddc1
add rudimentary bluetooth module functionality
2020-01-21 17:04:54 +01:00
Marc
2c4369a653
add basis for bluetooth module implementation
2020-01-21 15:46:08 +01:00
Marc Radau
b8aeda794c
Merge pull request #2 from marcplustwo/airplane_mode
...
distinguish between wifi disabled and disconnected
2020-01-20 10:46:59 +01:00
Marc
2dc4ae78fc
distinguish between wifi disabled and disconnected
2020-01-20 00:35:37 +01:00
Alex
d5875c468f
Merge pull request #550 from PlusMinus0/use_form_factor
...
Use PA_PROP_DEVICE_FORM_FACTOR for device icon.
2020-01-15 10:05:34 +00:00
Aleksei Bavshin
f80270519b
refactor(client): use std::list<waybar_output> to store outputs
...
std::unique_ptr is not required here as the only benefit it gives is
stability of address on vector resize and it's easy to invalidate it
accidentaly. std::list provides the same guarantee of stable addresses
of the elements and correct destruction while avoiding smart pointer
overhead.
Also fixes #554 , caused by incorrect usage of std::remove_if.
2020-01-14 07:27:08 -08:00
PlusMinus0
8fb3211594
Use PA_PROP_DEVICE_FORM_FACTOR for device icon.
2020-01-13 11:34:33 +01:00
Louis des Landes
569f40de9b
Keep aspect ratio when scaling tray icons.
2020-01-09 17:27:10 +10:30
Luca Weiss
129713fe1b
fix(network): add missing include
...
Fixes:
../src/modules/network.cpp:68:3: error: 'assert' was not declared in this scope
68 | assert(starts_with(read, category));
| ^~~~~~
../src/modules/network.cpp:6:1: note: 'assert' is defined in header '<cassert>'; did you forget to '#include <cassert>'?
5 | #include "util/format.hpp"
+++ |+#include <cassert>
6 |
2020-01-07 20:27:31 +01:00
Cole Helbling
75c6e2e7d5
mpd: add paused format string
2020-01-07 09:15:54 -08:00
Moritz Jordan
1145788ab3
fix(network): display of IPv6 address
2020-01-06 13:15:28 +01:00
Alex
c8821a5e7f
fix(Battery): replace spaces w/ dashes
2019-12-30 13:56:34 +01:00
Alex
d40cc6f23a
fix(Battery): replace spaces w/ underscores
2019-12-30 13:55:49 +01:00
Alex
c885be369e
feat(Network): hide on empty format
2019-12-30 13:46:12 +01:00
Aleksei Bavshin
dde700f2c9
feat: use gtk-layer-shell library for correct positioning of popups
...
To enable: use sway >= 1.2, compile waybar with `-Dgtk-layer-shell=enabled` meson option.
Original behavior could be restored at runtime by setting `"gtk-layer-shell": false` in waybar config.
2019-12-27 16:42:14 -08:00
Aleksei Bavshin
d1637d34cf
refactor: fetch outputs from Gtk::Display instead of wl_registry.
...
gtk-layer-shell wants Gdk::Monitor instead of wl_output;
change code to deal with Gdk objects and slightly simplify it.
Requires gtkmm 3.22.0+ (first release with Gdk::Monitor support).
2019-12-27 16:42:12 -08:00
Jordi Pakey-Rodriguez
0f0765e517
feat(modules): call user on-update if configured
2019-12-05 14:42:36 -08:00
HardDie
eb4c76f5e4
Toggle opacity
2019-11-28 20:28:28 +03:00
Niv Sardi
6d5b502bbb
pulseaudio: export desc as a format
...
Signed-off-by: Niv Sardi <xaiki@evilgiggle.com>
2019-11-25 05:16:58 -03:00
Alex
7f7ebb5367
fix(workspaces): add int comparison
2019-10-19 16:19:35 +01:00
Thomas Venriès
358426cb1c
fix: No need to format string with unused 'arg' named argument ( #484 )
...
The fmt::format() function looks for the "{arg}" named argument
in the given "format" string which does not exist. It will fail
if the string contains any {...} curled-brace substring.
Consequently, any "on-click*" option's command line containing for
instance substring like "${var}" or "awk '{...}'" will crash the program.
Signed-off-by: Thomas Venriès <thomas.venries@gmail.com>
2019-10-16 22:39:45 +02:00
Guillaume Maudoux
1e82982dbd
Detect timezone changes
...
Fixes #479 , because upstream does not intend to.
It may be less expensive to do that only once in a while, or to inotify-watch on /etc/timezone, but this is good enough.
2019-10-04 23:25:09 +02:00
Alex
048d8d328e
refactor(Battery): ouput 'Plugged' instead of 'Charging' in the fallback
2019-10-03 09:37:37 +01:00
Hetian Huo
3d1fd4f5ea
change audio scroll bound
...
Change default behavior from 0% - 99% to 0% - 100%.
2019-09-28 18:05:31 -05:00
Guillaume Maudoux
f4d2ca2736
custom formatter for numbers in 'pow' units format
2019-09-25 12:53:06 +02:00
Alex
211b1c2785
fix: no need to wait on start
2019-09-25 09:32:22 +01:00
Guillaume Maudoux
1d39ef5c8e
Add a disk module
2019-09-25 08:47:33 +02:00
Alex
bae83ee4e3
fix: static_cast clamp
2019-09-19 22:07:38 +01:00
Alex
52db1e8e68
Merge pull request #467 from jspngh/bugfix/mpd_module
...
Add more locking in mpd module
2019-09-19 22:03:23 +01:00
Alex
334bc1e52a
fix(Network): clamp signal strength
2019-09-19 21:59:28 +01:00
Jonas Spanoghe
e6599d8ed5
modules/mpd: take lock in waitForEvent to prevent SIGABORT
...
+ replaced deprecated MPD_IDLE_PLAYLIST with MPD_IDLE_QUEUE
+ add mutex for periodic_updater
2019-09-19 21:43:12 +02:00
Benjamin Cheng
a63bc84918
Add configurable time display for battery module
...
Adds a `format-time` configuration for the battery module so that users
can configure how they want their remaining time to be displayed.
The default format remains the same as before, i.e. `{H} h {M} min`,
but users can choose something like `{H}:{M:02d}` to give an output
like `4:29` if wanted.
2019-09-04 14:43:52 -04:00
Aleksei Bavshin
529daedcec
fix: correct handling of margins on anchored axis
2019-09-01 01:08:15 -07:00
Aleksei Bavshin
089d1299c4
fix: correct calculation of exclusive zone
2019-09-01 01:08:07 -07:00
Alex
36fc8365ee
Merge pull request #446 from bschacht/fix-typo-persistant
...
Fix typo: persistant -> persistent
2019-08-31 21:13:31 +02:00
Birger Schacht
2646390e28
Fix typo: persistant -> persistent
2019-08-31 19:57:44 +02:00
Birger Schacht
66f2cbed51
Fix typo
...
ouput -> output
2019-08-31 17:50:56 +00:00
Alex
f592e3d38b
Merge branch 'master' into fmt
2019-08-29 11:29:48 +02:00
Alex
ceedc689ec
Merge branch 'master' into master
2019-08-29 11:05:55 +02:00
Alex
a257126685
Merge branch 'master' into asan-fixes
2019-08-29 11:04:24 +02:00
Jan Beich
712424f9a8
Unbreak build with fmtlib 6.0.0
...
In file included from ../src/factory.cpp:1:
In file included from ../include/factory.hpp:4:
../include/modules/clock.hpp:5:10: fatal error: 'fmt/time.h' file not found
#include "fmt/time.h"
^~~~~~~~~~~~
In file included from ../src/bar.cpp:4:
In file included from ../include/factory.hpp:4:
In file included from ../include/modules/clock.hpp:3:
In file included from /usr/include/fmt/chrono.h:12:
/usr/include/fmt/locale.h:19:35: error: parameter type 'fmt::v5::internal::buffer' (aka 'basic_buffer<char>') is an abstract class
const std::locale& loc, buffer<Char>& buf,
^
/usr/include/spdlog/fmt/bundled/core.h:238:16: note: unimplemented pure virtual method 'grow' in 'basic_buffer'
virtual void grow(std::size_t capacity) = 0;
^
In file included from ../src/modules/sni/host.cpp:3:
/usr/include/fmt/ostream.h:22:9: error: expected member name or ';' after declaration specifiers
buffer<Char>& buffer_;
~~~~~~^
/usr/include/fmt/ostream.h:25:19: error: expected ')'
formatbuf(buffer<Char>& buf) : buffer_(buf) {}
^
/usr/include/fmt/ostream.h:25:12: note: to match this '('
formatbuf(buffer<Char>& buf) : buffer_(buf) {}
^
/usr/include/fmt/ostream.h:25:42: error: use of undeclared identifier 'buf'; did you mean 'prettify_handler::buf'?
formatbuf(buffer<Char>& buf) : buffer_(buf) {}
^~~
prettify_handler::buf
/usr/include/spdlog/fmt/bundled/format-inl.h:551:11: note: 'prettify_handler::buf' declared here
buffer &buf;
^
2019-08-29 01:38:54 +00:00
xPMo
e38df047fd
sway/mode: enable pango markup on supported modes
...
IPC reports {"mode": "mode_string", "pango_markup": bool}.
Use this to conditionally enable pango markup.
2019-08-28 19:48:33 -05:00
Aleksei Bavshin
01ad3d96d8
fix(tray): pre-create dbusmenu for tray items
...
It seems that dbusmenu is not ready to display menu immediately and
needs some time to sync data via DBus.
Fixes LIBDBUSMENU-GLIB-CRITICAL: dbusmenu_menuitem_send_about_to_show:
assertion 'DBUSMENU_IS_MENUITEM(mi)' failed.
Also fixes initial render of the menu with layer shell popups support patch.
2019-08-27 00:34:00 -07:00
Aleksei Bavshin
642fd48af1
fix(tray): restore Activate support for compliant SNI implementation
...
Set ItemIsMenu to true by default because libappindicator supports
neither ItemIsMenu nor Activate method and compiant SNI implementations
are expected to reset the flag during initial property fetch.
To be revisited if anyone finds the implementation that has Activate
but does not set ItemIsMenu.
2019-08-27 00:33:59 -07:00
Aleksei Bavshin
8f9e6c132d
fix(network): stack-use-after-return found by address sanitizer
...
Fixes compilation with clang.
2019-08-27 00:11:40 -07:00
tufteddeer
d8b1b0d0af
add support for muted bluetooth audio, fix #420
2019-08-18 16:15:21 +02:00
Joel Nordström
21a89ac46d
Typo
2019-07-15 12:21:31 +02:00
Alex
bb99e6cf5b
fix: check before destroy
2019-07-15 10:06:01 +02:00
crwxrws
617b370104
fix(pulseaudio): connect scroll event handler
...
Reconnect the event handler that was removed in commit 527144a
.
Fixes Alexays#400
2019-07-06 15:51:00 +02:00
sheenobu
a6c0bc5a52
Fix deadlock on workspace scrolling
...
Make the mutex guard lifecycle finish before the send ipc command
by adding scope around the code.
Fixes #395 .
2019-07-05 20:47:44 -07:00
James Edwards-Jones
ae88d6bc3c
feat(bar): individual bars can be named for CSS
...
Allows CSS to select individual waybars when multiple are configured
2019-07-04 02:15:56 +01:00
James Edwards-Jones
4f3c38c542
feat(bar): add CSS class for window position
2019-07-04 02:15:50 +01:00
Alex
a6980fca7f
feat: ellipsize modules
2019-06-28 14:16:09 +02:00
Alex
bd5146fdcf
fix(Label): ELLIPSIZE all label modules
2019-06-28 13:49:04 +02:00
Alex
c916fe258e
fix(network): no need to check family here
2019-06-25 07:55:55 +02:00
Alex
c621afb0c4
Merge branch 'master' into clean
2019-06-22 18:15:34 +02:00
Alex
bcf4725349
Cleanup on clean branch ( #391 )
...
Cleanup on clean branch
2019-06-18 09:43:34 +02:00
Patrick Hilhorst
12b30ca25f
AModule::getScrollDir: convert reset if-else into switch
2019-06-17 20:42:19 +02:00
Patrick Hilhorst
86d6668ed4
AModule::getScrollDir: convert if-else chain into switch statement
2019-06-17 20:40:13 +02:00
Patrick Hilhorst
7c85aec8e0
AModule::getScrollDir: get deltas in a more C++ way
2019-06-17 20:29:37 +02:00
Patrick Hilhorst
2c038d1977
AModule::getScrollDir: move dir
inside the only scope it is relevant
2019-06-17 20:09:53 +02:00
Alex
ff9d598c16
fix: add proper mutex
2019-06-17 11:39:45 +02:00
Alex
71a9a75aad
refactor: remove fix workaround
2019-06-16 15:14:31 +02:00
Alex
05f796158b
fix: typo
2019-06-16 15:13:40 +02:00
Alex
527144a440
refactor(pulseaudio): proper scroll override
2019-06-16 15:08:08 +02:00
Patrick Hilhorst
7f13478396
AModule: handle X axis scrolling
2019-06-16 13:17:34 +02:00
Alex
90a9c0e25f
refactor: get rid of some mutex
2019-06-15 15:01:03 +02:00
Alex
340ec7be91
refactor: AModule
2019-06-15 14:57:52 +02:00
Nenad Stojanovikj
1b7068e61d
Expose total memory to the formatting directive
2019-06-14 22:48:16 +02:00
Alex
dabe2bebbb
feat(sway/window): handle floating nodes
2019-06-14 11:27:40 +02:00
Alex
486b5a5d38
fix(sway/window): check output recursively
2019-06-14 10:57:22 +02:00
Alex
11bbc3b24d
Fix twitchy scrolling on touchpads ( #381 )
...
Fix twitchy scrolling on touchpads
2019-06-14 10:38:25 +02:00
Alex
028b184f7b
fix(workspaces): persistant class with empty outputs
2019-06-12 09:50:33 +02:00
Patrick Hilhorst
396f7d4525
Workspaces: implement horizontal continuous scrolling
2019-06-11 18:44:54 +02:00
Alex
3c9b533997
fix(window): avoid hexpand
2019-06-11 17:57:17 +02:00
Patrick Hilhorst
ae397c8fa2
ALabel: add smooth-scrolling-threshold
2019-06-11 17:56:10 +02:00
Alex
ec75be0bc3
fix(Tray): click behaviour
2019-06-11 17:53:16 +02:00
Patrick Hilhorst
ed4521d113
Workspaces: fix twitchy scrolling on touchpads
...
Previously, any and all scroll events were interpreted as reason to switch
workspaces. This resulted in twitchy behaviour, where the scrolling was
practically unusable.
Now, we pool all scroll values, and only scroll if the value is larger than the
new config option "smooth-scrolling-threshold". If this option is not set, the
behaviour is unchanged.
2019-06-11 17:22:24 +02:00
Alex
c2e9ed6091
feat(workspaces): add class to persistant workspaces
2019-06-11 14:08:48 +02:00
Alex
a37b4687ff
Revert "refactor(window): we don't need to subscribe workspace events"
...
This reverts commit 648eecdd83
.
2019-06-11 14:06:31 +02:00
razic
46e5dd93d4
adds the wl output name as a css class
...
now you can have a custom styling for each bar
2019-06-08 11:04:34 -07:00
Alex
648eecdd83
refactor(window): we don't need to subscribe workspace events
2019-06-07 15:08:33 +02:00
Alex
1962caf144
refactor(window): gtk stuff in update method
2019-06-04 17:34:00 +02:00
Alex
9dbf057f58
fix(custom): hide on empty format
2019-06-03 09:50:35 +02:00
Alex
0b01b35c76
refactor(pulseaudio): only watch changes
2019-05-31 16:21:01 +02:00
Alex
fcf2d18a01
refactor: destroy threads first
2019-05-29 17:53:22 +02:00
Alex
b05d4cd413
fix(network): retry around all getExternalInterface
2019-05-29 16:17:40 +02:00
Alex
9b89fc6470
refactor: disable bar scroll by default
2019-05-28 16:11:33 +02:00
Alex
c06725aa69
fix(network): better disconnect handler
2019-05-28 11:21:59 +02:00
Alex
5ae5821929
refactor(network): re-add MAX_RETRY in order to detect external interface
2019-05-28 11:08:48 +02:00
Alex
74e40432e5
fix(network): linked state
2019-05-28 09:58:48 +02:00
Alex
6e69af8967
refactor(custon): avoid useless logic
2019-05-27 00:08:16 +02:00
Alex
be2fa743eb
refactor(custon): hide on empty text
2019-05-27 00:05:29 +02:00
Alex
6e73c6db61
refactor(network): remove last_ext_iface_
2019-05-26 23:16:09 +02:00
Alex
253366baf4
refactor(network): remove useless assignment
2019-05-26 22:40:29 +02:00
Alex
ecec02c8be
refactor(network): better events handler
2019-05-26 22:36:26 +02:00
Alex
070619fa34
revert: restore idle fix
2019-05-26 20:09:05 +02:00
Alex
d4ace4b4d8
fix(network): subscribe only wanted family
2019-05-26 20:06:27 +02:00
Alex
5fd92b3c28
fix(network): don't check IFF_UP
2019-05-26 19:53:10 +02:00
Alex
c0a39f34cd
refactor(network): don't clear ipaddr
2019-05-25 18:02:36 +02:00
Alex
2a9fa1a4b9
refactor(bar): onRealize, onMap
2019-05-25 17:50:45 +02:00
Alex
07147878a9
refactor(network): code cleaning
2019-05-24 09:49:56 +02:00
Alex
ffadd5c1a7
refactor: avoid useless class vars
2019-05-24 09:49:09 +02:00
Alex
2b34f3a30f
refactor: parse args before app creation
2019-05-23 10:13:49 +02:00
Alex
85d60f95c4
refactor(network): const methods
2019-05-22 22:20:50 +02:00
Alex
755d38d4d6
fix(custom): bad alloc
2019-05-22 19:46:56 +02:00
Alex
b673279a43
style: remove non wanted comment
2019-05-22 12:22:56 +02:00
Alex
9e1200ae32
refactor: also pass id to custom modules
2019-05-22 12:20:13 +02:00
Alex
e999cca7a6
style: don't specify included namespaces
2019-05-22 12:15:59 +02:00
Alex
d24d85bebf
refactor: move label name and id to label contructor
2019-05-22 12:06:24 +02:00
Alex
97bd637f5d
refactor(clock): avoid usless time_point_cast
2019-05-22 11:51:33 +02:00
Alex
23d4a811db
refactor(clock): avoid usless duration_cast
2019-05-22 11:48:02 +02:00
Alex
14ace24a26
style(battery): format
2019-05-22 10:09:05 +02:00
Alex
2fa581c7ea
fix(battery): multiple paths
2019-05-22 10:06:54 +02:00
Max Reppen
cf3cb4c61f
feat(Battery) Format argument for time to full|empty
2019-05-21 13:44:05 -04:00
Max Reppen
00ada46dfc
feat(Battery) Time remaining on tooltip
2019-05-21 13:36:14 -04:00
Max Reppen
2db81a6107
fix(Battery) "current" unused and removed
2019-05-21 13:35:39 -04:00
Alex
48a58cd979
fix(network): switch between ifaces upon disconnection
2019-05-21 17:38:47 +02:00
Alex
7a3febf6a7
fix(pulseaudio): default source format
2019-05-21 14:55:17 +02:00
Alex
bb4af295bc
feat(pulseaudio): source info
2019-05-21 14:53:31 +02:00
Alex
cf7663153d
fix(pulseaudio): allow to scroll to 0
2019-05-21 09:29:39 +02:00
Alex
12a251c3a4
fix(mode): escape text
2019-05-20 20:51:19 +02:00
Alex
4accdd4524
fix(Workspace): ordering
2019-05-20 20:46:59 +02:00
Aleksei Bavshin
50bfe78aed
refactor(tray): improve error handling and add debug logs
2019-05-20 08:00:07 -07:00
Aleksei Bavshin
afd291a566
fix(tray): Fix glib assertion when old property value is missing
...
xembedsniproxy sets WindowId as 'i' instead of 'u' and DBus::Proxy
ignores incorrectly typed value.
2019-05-20 07:16:08 -07:00
Aleksei Bavshin
316a9be656
refactor(tray): Use spdlog for SNI::Item error messages
2019-05-20 07:16:08 -07:00
Aleksei Bavshin
cdb347aaca
Add --log-level command line option
2019-05-20 06:48:44 -07:00
Alex
ed240ac105
feat: add warning about tray requirements
2019-05-20 15:21:13 +02:00
Alex
232073ca17
Fix clock is always a second off ( #333 )
...
Fix clock is always a second off
2019-05-20 14:45:34 +02:00
Alex
5314b74dae
fix: remove workaround
2019-05-20 14:39:49 +02:00
Alex
e3879559a2
Merge pull request #330 from Organic-Code/master
...
Adding sway/workspaces:persistant_workspaces
2019-05-20 14:33:31 +02:00
Lucas Lazare
0ec8774a08
Fixing: missing argument for fmt, workspace order
...
Persistant workspaces would reorder upon their first creation
2019-05-20 08:23:42 -04:00
Alex
071b4928dc
fix(workspaces): order
2019-05-20 13:31:02 +02:00