John Fredriksson
ad3f46214d
river/tags: Add possibility for mouse clicks
...
Left mouse click - set-focused-tags
Right mouse click - toggle-focused-tags
2021-11-15 22:31:38 +01:00
Alex
9fda6695ea
Merge pull request #1314 from Scrumplex/fix-negative-mpd-vol
...
Ensure MPD volume is not negative
2021-11-12 09:04:21 +01:00
Sefa Eyeoglu
b24f9ea569
Ensure MPD volume is not negative
...
If the primary output does not support changing volume MPD will report
-1. Ensure that negative volume levels will be represented as 0 instead.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2021-11-11 21:42:05 +01:00
mazunki
e10c9dd011
changing want_route_dump to default to true, since we say we have gwaddr support
2021-11-09 19:04:05 +01:00
mazunki
b0eab5d793
maybe we shouldn't actually runtime error, but still doing a check
2021-11-09 19:03:15 +01:00
mazunki
17bb5643ae
explicitly checking for errors to silence unused variable warnings when writing to fd
2021-11-09 18:38:07 +01:00
Alex
b511103fd9
Merge pull request #1301 from jonbakke/patch-1
...
Clarify less than/greater than in warning.
2021-10-29 13:23:28 +02:00
Alex
122fe33636
Merge pull request #1302 from marwing/master
...
Mark memory used by zfs arc as free in memory
2021-10-29 13:22:58 +02:00
Mohammad Amin Sameti
48117a2e97
Fix divide by zero ( #1303 )
2021-10-29 14:12:48 +03:30
Marwin Glaser
decb13eef0
mark zfs arc size as free in memory
2021-10-28 19:10:46 +02:00
jonbakke
a015b2e3db
Clarify less than/greater than in warning.
...
I was seeing "[warning] Requested height: 20 exceeds the minimum height: 30 required..."
Lines 114-134 are relevant; 133 overrides the requested height with the minimum height when GTK wants more pixels to work with. So, the code is behaving as expected, and "less than" matches the code's logic.
2021-10-28 09:37:11 -07:00
Robin Ebert
0b66454d5c
Add spacing config option
...
This option allows to add spaces between the modules. It uses Gtk:Box's spacing property.
2021-10-20 11:30:40 +02:00
dmitry
75a6dddea5
Finish
2021-10-20 01:23:00 +03:00
Ashutosh Malviya
08b4a83331
Add reverse scrolling config option for pulseaudio
...
When natural scrolling is enabled, the behaviour of scrolling on pulseaudio
module is reversed, this commit reverses the direction of scroll variable
if "reverse-scrolling" is set to 1 in config file.
2021-10-15 19:07:25 +05:30
Sergey Mishin
c5e4d26320
Fix working without timezone
2021-10-05 10:20:06 +00:00
Sergey Mishin
d8bc6c92bb
Fix style and spelling
2021-10-05 09:55:30 +00:00
Sergey Mishin
110c66dd32
Refactor Clock: generalize multi timezones and single timezone cases
...
After this refactoring:
1. Timezones parses only once on start and the we refer to saved values. All time_zone.isString() checks gone to the constructor.
2. Single timezone case handling as case of multi timezoned logic.
3. Scroll event seems more clear now.
4. Tooltip template parses on start to check if there calendar placeholder or not. To do not calculate calendar_text() if not necessary.
2021-10-03 16:57:55 +00:00
Alex
6eb9606f23
Merge pull request #1274 from RobertMueller2/master
...
sway/window: include floating_nodes when considering window count for class
2021-10-03 10:27:26 +02:00
Sergey Mishin
174db444d6
Fix Clock crash on empty string in timezones field
...
Also fixed timezones behavior: now waybar starting with the first timezone in timezones list and falling back to timezone field only if timezones omit or has no elements.
2021-10-03 03:27:54 +00:00
Rene D. Obermueller
9972384597
sway/window: include floating_nodes when considering window count for class
2021-10-02 18:35:38 +02:00
Elyes HAOUAS
f18eb71ad7
Fix spelling errors
...
Signed-off-by: Elyes HAOUAS <ehaouas@noos.fr>
2021-10-02 18:13:17 +02:00
Aleksei Bavshin
fbedc3d133
fix(tray): fix visibility of Passive items
...
`show_all` call from `Tray::update` attempts to walk the widget tree and
make every widget visible. Since we control individual tray item
visibility based on `Status` SNI property, we don't want that to happen.
Modify `Tray::update` to control the visibility of a whole tray module
only and ensure that the children of `Item` are still visible when
necessary.
2021-10-02 00:08:45 -07:00
WuerfelDev
8d04da1551
dont escape essid in tooltip
...
just like https://github.com/Alexays/Waybar/pull/834 but for the network name.
2021-09-21 13:15:36 +02:00
Alex
8534175c59
Merge pull request #1252 from gavinbeatty/fix-sway-language-tabs
...
sway/language: remove tabs, indent with 2 spaces
2021-09-19 19:08:28 +02:00
Darkclainer
6e5a0bc80a
Add cpu usage for every core
2021-09-19 14:02:25 +03:00
Gavin Beatty
fe547901fa
sway/language: remove tabs, indent with 2 spaces
2021-09-18 15:28:45 -05:00
Alex
67c7302938
Revert "Add CPU usage for every core"
2021-09-18 13:50:16 +02:00
Alex
8489646b66
Merge pull request #1250 from Darkclainer/master
...
Add CPU usage for every core
2021-09-18 13:48:39 +02:00
Alex
6938921e92
Merge pull request #1239 from mazunki/default-gateway
...
Added support for {gwaddr} as a variable
2021-09-18 13:47:32 +02:00
mazunki
1c91c71dcd
updated original debug message with gateway ip, similar, yet not identical to `ip route`
2021-09-18 02:09:25 +02:00
mazunki
5f083193e4
fixed tab indentation to spaces, removed debug
2021-09-18 01:12:58 +02:00
Darkclainer
a51ac59252
Merge remote-tracking branch 'origin/master'
2021-09-17 22:30:31 +03:00
Alex
ce9e8aead3
Merge pull request #1222 from mswiger/use_g_memdup2
...
Use g_memdup2 instead of g_memdup
2021-09-17 20:56:47 +02:00
Alex
73ce2a99ff
Merge pull request #1238 from Matan1x/master
...
round brightness
2021-09-17 20:56:28 +02:00
Darkclainer
4bf577e89b
Add CPU usage for every core
2021-09-17 21:18:21 +03:00
Aleksei Bavshin
0c1d3e30b6
fix(config): preserve explicit null when merging objects
2021-09-15 22:20:44 +07:00
Aleksei Bavshin
ccc60b4245
refactor(config): more sensible multi-bar include behavior
2021-09-15 22:15:27 +07:00
Aleksei Bavshin
1f16d7955d
refactor(config): drop getValidPath
2021-09-15 21:34:54 +07:00
Aleksei Bavshin
1f7d399b8e
refactor(config): remove style handling from Config
2021-09-15 21:34:53 +07:00
Aleksei Bavshin
4fff2eaaa0
refactor(client): change config visibility to public
2021-09-15 21:34:10 +07:00
Aleksei Bavshin
b377520a38
refactor(client): extract config handling into a new class
2021-09-14 13:15:54 +07:00
Rolf Vidar Mazunki Hoksaas
2c380a53ca
added support for the {gwaddr} variable
2021-09-09 20:05:18 +02:00
Matan1x
aacd0fcc65
round brightness
2021-09-08 17:12:30 +03:00
Michael Swiger
4f76c9bd43
Only use g_memdup2 for glib >= 2.68
2021-08-29 13:11:04 -07:00
dmitry
94e53c3777
Add swap flags
2021-08-29 16:34:29 +03:00
dmitry
12c42fc6e4
Merge branch 'master' of https://github.com/Alexays/Waybar into pr/anakael/add-name-to-taskbar
2021-08-27 01:43:31 +03:00
Ciaran Downey
5186dd27e6
Use while (getline) instead of a for loop
...
Also make the comments surrounding the /proc/net/dev parsing clearer and
remove the apparently redundant "is the netdev file still good?" check.
2021-08-26 11:33:52 -07:00
Ciaran Downey
9d9f959769
Switch network module to read /proc/net/dev
...
This fixes issue #610 by reading bandwidth usage per-interface from
/proc/net/dev instead of globally via /proc/net/netstat. It supports the
same matching logic as elsewhere, so setting interface to '*' should
display the same sum-total bandwidth usage as the previous
implementation.
2021-08-25 15:00:05 -07:00
Tobias Bengfort
7b4b5e55a2
support format-icon for cpu und memory
2021-08-23 07:30:19 +02:00
Michael Swiger
cb49650ea4
Use g_memdup2 instead of g_memdup
...
This fixes a compile warning.
See: https://discourse.gnome.org/t/port-your-module-from-g-memdup-to-g-memdup2-now/5538
2021-08-22 14:46:40 -07:00
dmitry
38afa345dd
Finish
2021-08-22 20:18:03 +03:00
Gavin Beatty
9ee701974f
Fix memory leak and data race
...
- Delete previous Layout before creating next one, and in destructor
- Use stack XKBContext instead of local new+delete
- Lock mutex in update() as it is called from a different thread than onEvent(res)
2021-08-20 10:06:35 -05:00
Alex
8940c3bbe8
Merge pull request #1211 from mswiger/fix_multi_display_tray_icon_scaling
...
Fix tray icon scaling on multi-display setups
2021-08-20 17:00:41 +02:00
dmitry
c058a2d196
Add number to shortDescripton
2021-08-20 01:09:16 +03:00
Isaac Freund
024fd42e27
river/tags: support urgent tags
...
Upstream river has a concept of urgent views/tags as of commit e59c2a73.
Introduce a new urgent style to expose this in the waybar module.
2021-08-19 15:01:49 +02:00
Michael Swiger
2d80d31527
Fix tray icon scaling on multi-display setups
2021-08-16 23:33:29 -07:00
dmitry
a87a967a97
Fix leak
2021-08-17 05:29:35 +03:00
dmitry
a57e431437
Add shortDescription
2021-08-17 05:28:41 +03:00
dmitry
61783aafaa
save
2021-08-17 04:31:17 +03:00
Michael Swiger
4f6a9b1bc2
Fix incorrect tray icon scaling
2021-07-31 18:01:31 -07:00
Alex
65166109c9
Merge branch 'master' into fix_power_calc
2021-07-25 15:07:01 +02:00
dmitry
68e4457f3a
Add tooltip-formay
2021-07-24 17:24:37 +03:00
Alex
445ad22580
Merge branch 'master' into keyboard_state
2021-07-23 15:59:08 +02:00
Grant Moyer
88a5f713ed
Prefer keyboard-state over keyboard_state
2021-07-23 09:45:07 -04:00
Alex
b47705ac21
Merge branch 'master' into pr/anakael/sway-language-impr
2021-07-23 09:07:43 +02:00
Aleksei Bavshin
a5fe6f40b8
feat(tray): handle Status property
...
On the `Passive` value of `Status` tray items would be hidden unless
`show-passive-items` is set to true.
On the `NeedsAttention` value of `Status` tray items will have a
`.needs-attention` CSS class.
2021-07-22 08:04:06 -07:00
Aleksei Bavshin
245f7f4b11
feat(tray): handle scroll events
2021-07-22 08:04:05 -07:00
Aleksei Bavshin
1418f96e46
feat(tray): fallback to Title for items without ToolTip
2021-07-22 08:04:04 -07:00
Aleksei Bavshin
84a8f79bbe
feat(tray): implement tooltips (text only) for tray items
2021-07-22 08:04:03 -07:00
Aleksei Bavshin
4b6253e810
refactor(tray): infer changed properties from signal name
...
Comparing two GVariants is too expensive; let's collect the set of
properties updated by each signal and apply them unconditionally.
2021-07-22 08:04:00 -07:00
Aleksei Bavshin
929fc16994
fix(tray): ignore unused WindowId property
2021-07-22 08:01:25 -07:00
Alex
100d4d3499
Merge branch 'master' into pr/anakael/sway-language-impr
2021-07-21 09:40:19 +02:00
Michael Swiger
1440ed29d4
Fix blurry tray icons for HiDPI displays
2021-07-20 22:29:34 -07:00
Grant Moyer
311c5779ea
Remove unused variable
2021-07-20 23:03:41 -04:00
Grant Moyer
08e886ebc6
Search for device automatically if none given
2021-07-20 21:09:00 -04:00
Grant Moyer
40e6360722
Update css class when locked/unlocked
2021-07-20 21:09:00 -04:00
Grant Moyer
642e28166b
Add more configuaration
2021-07-20 21:09:00 -04:00
Grant Moyer
6dfa31fb17
Basic keyboard state module
2021-07-20 21:09:00 -04:00
Lars Christensen
6f2bfd43bf
Fix pulseaudio icon name compilation error
2021-07-20 15:25:05 +02:00
Alex
f43f8773c4
Merge pull request #1169 from roosemberth/pa-control-active-sink
...
pulseaudio: Control currently running sink
2021-07-20 14:01:23 +02:00
Roosembert Palacios
86a43b9042
pulseaudio: Control currently running sink
...
In a system with multiple sinks, the default sink may not always be
the once currently being used. It is more useful to control the
currently active sink rather than an unused one.
This patch does not make any difference if the system only uses the
default sink.
Signed-off-by: Roosembert Palacios <roosemberth@posteo.ch>
2021-07-20 10:16:53 +02:00
Alex
ad09072a6d
Merge branch 'master' into pr/anakael/sway-language-impr
2021-07-15 22:17:38 +02:00
Patrick Nicolas
9c2b5efe7b
Support per-device icon in pulseaudio
2021-07-15 09:20:43 +02:00
dmitry
8310700bbb
Improve sway/language
2021-07-13 04:33:12 +03:00
tiosgz
78aaa5c1b4
Do not fail to parse a multi-bar config
2021-07-10 20:22:37 +00:00
John Helmert III
368e4813de
libfmt >=8.0.0 compatibility
2021-06-30 13:12:38 -05:00
Oskar Carl
e62b634f72
Workaround for circular imports
2021-06-21 19:29:09 +02:00
Oskar Carl
e8278431d2
Proper formatting
2021-06-21 19:05:01 +02:00
Oskar Carl
14f626d422
Add recursive config includes
2021-06-21 19:05:01 +02:00
Anthony PERARD
194f4c2f18
network: Fix mix use of default and state specific format
...
Whenever the network module is configured with both "format" and
"format-$state" and when the module use "format-$state" once, it
override the value that was saved from "format".
For example, if both "format" and "format-disconnect" are configured,
and only those, as soon as the module show information about a
disconnected interface, it will keep showing the format for
disconnected, even if the interface is connected again later.
Fix that by always setting a value to default_format_ in update() and
thus use the intended default format when needed.
Fixes #1129
2021-06-08 18:50:32 +01:00
Alex
9e34be7b16
Merge pull request #1126 from tperard/fix-network-auto-detection
...
Fix network interface auto detection
2021-06-05 18:06:30 +02:00
Anthony PERARD
33617b67f0
network: Fix one case where default route is deleted without notification
...
When an interface's state is change to "down", all the route
associated with it are deleted without an RTM_DELROUTE event.
So when this happen, reset the module to start looking for a new
external interface / default route.
Fixes #1117
2021-06-05 16:52:04 +01:00
Anthony PERARD
efaac20d82
network: Handle ip route priority
...
When there's a new default route with higher priority, switch to it.
2021-06-05 16:51:54 +01:00
Anthony PERARD
ce97df34e6
network: Also clear ifname in clearIface()
...
Since we reset `ifid_`, clear `ifname_` as well.
2021-06-05 16:51:40 +01:00
Anthony PERARD
23b9923eeb
network: Parse whole RTM_NEWROUTE msg before interpreting it
...
The check to figure out if we have the default route should be after
the for loop that parses the route attributes, to avoid acting on
incomplete information. We are going to use more fields from the
message.
2021-06-05 16:51:35 +01:00
Maxim Baz
999c1b6b81
sway-language: ignore events with empty layout
2021-06-05 15:03:52 +02:00
Amanieu d'Antras
1a98ecf6b0
Merge branch 'master' into fix_power_calc
2021-05-30 11:17:54 +01:00
Anthony PERARD
f49a7a1acb
network: Update WiFi information when available
...
The module doesn't update the `essid_` as soon as a WiFi interface is
connected, but that happens at some point later, depending on
"interval" configuration.
Fix that by rerunning the get WiFi information thread when the
`carrier` state changes. Also, we will clear the state related to WiFi
when the connection is drop to avoid stale information.
2021-05-27 19:36:14 +01:00
Anthony PERARD
28dfb0ba41
network: Fix use of carrier information
...
Some RTM_NEWLINK messages may not have the IFLA_CARRIER information.
This is the case when a WiFi interface report scan result are
available. `carrier` is used regardless of if it is present in the
message or not. This would result in the interface appearing
"disconnected" in waybar when it isn't.
This patch now check that `carrier` is available before using it.
The same thing could potentially happen to `ifname` so check if it's
set before recording it.
Fixes: c1427ff
(network: Handle carrier information)
Fixes #388
2021-05-26 19:23:20 +01:00
Aleksei Bavshin
7aaa3df701
feat(bar): add config flag to disable exclusive zone
2021-05-21 22:44:18 -07:00
Aleksei Bavshin
729553d3bc
feat(bar): add config flag for pointer event passthrough
2021-05-21 22:44:17 -07:00
Alex
f78a802d11
Merge pull request #1106 from tperard/network-module-reword
...
Network module rework
2021-05-21 17:02:28 +02:00
Yonatan Avhar
99918205ed
Correct .json to .jsonc
2021-05-21 17:53:43 +03:00
Yonatan Avhar
c65ec9e14f
Add options to use a .json extension for the config filename
2021-05-21 15:54:48 +03:00
Anthony PERARD
c1427ff807
network: Handle carrier information
...
IFLA_CARRIER allows to know when a cable is plugged to the Ethernet
card or when the WiFi is connected. If there's no carrier, the
interface will be considered disconnected.
2021-05-15 16:38:00 +01:00
Anthony PERARD
0bb436f949
network: Rework interface auto detection, handle route change events
...
Last part of the rework of handleEvents(), this time we take the
getExternalInterface() function and add it to the handleEvents()
function. That way, waybar can react immediately when a new "external
interface" is available and doesn't need to probe. Also that avoid to
have two different functions consuming from the same socket and we
don't need to recode some of the functions that are already available
via libnl (to send and receive messages).
2021-05-15 16:38:00 +01:00
Anthony PERARD
0fc7ef6685
network: Rework address lookup to use only events
...
In order to get the IP address of an interface, we can get the
information out of NEWADDR events without needed to call getifaddrs().
And when now events are expected, we can requests a dump of all
addresses and handle addresses changes the same way via handleEvents()
only.
2021-05-15 16:38:00 +01:00
Anthony PERARD
c9bbaa7241
network: Rework initial interface search by using a dump
...
Instead of using an alternative way to list all links in order to
choose one when an "interface" is in the configuration, we can ask for
a dump of all interface an reuse the handleEvents() function.
This patch also start to rework the handleEvents() function to grab
more information out of each event, like the interface name.
2021-05-15 16:38:00 +01:00
Anthony PERARD
63fdf66ad6
network: Read all available messages on ev_sock_
...
When more than one message is available to read on the ev_sock_
socket, only the first one is read.
Make some changes to be able to read all the messages available by
setting the socket to non-blocking. This way we can detect when
there's nothing left to read and loop back to wait with epoll.
2021-05-15 16:38:00 +01:00
Anthony PERARD
9357a6cb88
network: Start the module with some text in the label_
...
Fix modules starting with no text, but not hidding.
Start with some "text" in the module's label_, update() will then
update it. Since the text should be different, update() will be able
to show or hide the event_box_. This is to work around the case where
the module start with no text, but the the event_box_ is shown.
2021-05-15 16:38:00 +01:00
Anthony PERARD
dbc06abf18
network: Initialise cidr_ like clearIface() does
2021-05-15 16:38:00 +01:00
Amanieu d'Antras
4d067619a8
Fix power calculation when battery units are in μA instead of μW
2021-05-15 15:55:38 +01:00
Max1Truc
f3a6e2d494
fix: incorrect battery percentage on Pinebook Pro
2021-05-10 21:00:14 +02:00
Alex
71d7596b6f
fix: bluetooth status tooltip
2021-04-30 14:23:49 +02:00
Patrick Hilhorst
a03283d65f
rewriteTitle: allow multiple sequential rewrites
2021-04-26 20:26:43 +02:00
Gabe Gorelick
7e13e26c29
[modules/battery] allow format-discharging-full
...
`format-discharging-full` has been impossible since #923 made it
impossible to be full and discharging at the same time. This should
fix that by only making `format-charging-full` impossible. Whether
or not that should be allowed is a good question, but beyond the
scope of this change.
Fixes #1031
2021-04-25 22:00:24 -04:00
David96
2213380dc0
[modules/pulseaudio] fix bluetooth class for PipeWire
...
apparently, pipewire-pulse slightly changed the naming of the sink.
2021-04-25 11:19:35 +02:00
Matthias Richter
af3c868a5b
Catch exception on erroneous rules
...
std::regex and std::regex_replace may throw an std::regex_error if the
expression or replacement contain errors.
Log this error and carry on with the next rule, so that the title is
shown even if the config contains errors.
2021-04-21 12:24:47 +02:00
Matthias Richter
b16c8972c7
Add option to rewrite sway/window title
...
Rewrites window title according to config option "rewrite".
"rewrite" is an object where keys are regular expressions and values are
rewrite rules if the expression matches. Rules may contain references to
captures of the expression. Regex and replacement follow ECMA-script
rules. If no regex matches, the title is left unchanged.
example:
"sway/window": {
"rewrite": {
"(.*) - Mozilla Firefox": " $1",
"(.*) - zsh": " $1",
}
}
2021-04-21 12:24:47 +02:00
Sefa Eyeoglu
fc89b01ba6
feat: implement mpd volume format template
...
Allow the user to show the current volume from MPD status via the
`format` and/or `tooltip-format` configuration options.
The values are provided by libmpdclient and are integers, generally
between 0-100 (without %). Values above 100 are also possible, as mpd
output plugins like `pulse` support volumes above 100%.
Signed-off-by: Sefa Eyeoglu <contact@scrumplex.net>
2021-04-20 08:35:47 +02:00
dmitry
ba278985e8
Add ignore-list param to wlr/taskbar
2021-04-18 21:34:29 +03:00
Alex
d0f60c47bf
Merge pull request #1070 from jgmdev/cpumodulefix
...
[Module CPU] fix crash due to empty frequencies.
2021-04-15 21:17:00 +02:00
Alex
07f2470e36
Merge pull request #974 from kamushadenes/patch-1
...
Improve Pulseaudio sink/source separation
2021-04-15 21:09:35 +02:00
jgmdev
f8f1e791a3
[Module CPU] fix crash due to empty frequencies.
...
On some systems (eg: ARM) the supported frequencies of the CPU are not
properly reported by /proc/cpuinfo so if that fails try to retrieve them
from /sys/devices/system/cpu/cpufreq/policy[0-9]/cpuinfo_[max|min]_freq.
2021-04-15 14:30:29 -04:00
Petri Lehtinen
c850212288
Use the correct battery status when multiple batteries are present
2021-03-28 20:07:35 +03:00
Alex
600afaf530
Merge pull request #1037 from Moonlight-Angel/cpu-frequency
...
Add cpu min/max/avg frequencies
2021-03-25 12:09:42 +01:00
nullobsi
bf3efdb89c
Merge branch 'master' into master
2021-03-14 21:34:25 -07:00
Antonin Reitz
a49b12b66b
Fix CPU load values
2021-03-12 20:58:51 +01:00
nullobsi
1573e1eb97
change variable instead of substr(len)
2021-02-26 13:29:58 -08:00
nullobsi
9b9daaee6f
Merge branch 'master' into master
2021-02-26 13:22:34 -08:00
Genesis
99643ba2e6
Stub parseCpuFrequencies on *BSD platforms
2021-02-25 09:14:51 +01:00
Genesis
08ea5ebe1f
Add cpu frequency
2021-02-25 09:14:51 +01:00
Aleksei Bavshin
943ba3a2da
fix: schedule output destruction on idle callback
...
Defer destruction of bars for the output to the next iteration of the
event loop to avoid deleting objects referenced by currently executed
code.
2021-02-22 18:35:09 -08:00
nullobsi
b4728f2e1d
Merge branch 'master' into master
2021-02-16 21:51:31 -08:00
Alex
08e19602f7
Merge pull request #1015 from alebastr/rfkill-events
...
rfkill code refactoring
2021-02-11 10:20:13 +01:00
nullobsi
b12b500bfc
Merge branch 'master' into master
2021-02-10 09:39:03 -08:00
Aleksei Bavshin
e786ea601e
fix(rfkill): handle EAGAIN correctly
2021-02-10 08:26:21 -08:00
Aleksei Bavshin
6d5afdaa5f
fix(network): don't block the main thread on rfkill update
...
Moving rfkill to the main event loop had unexpected side-effects.
Notably, the network module mutex can block all the main thread events
for several seconds while the network worker thread is sleeping.
Instead of waiting for the mutex let's hope that the worker thread
succeeds and schedule timer thread wakeup just in case.
2021-02-09 21:27:22 -08:00
Aleksei Bavshin
52dd3d2446
refactor(bluetooth): remove `interval` and timer thread
...
The timer thread was always reading the same value from Rfkill state.
2021-02-09 21:27:21 -08:00
Aleksei Bavshin
ecc32ddd18
refactor(bluetooth): remove Bluetooth::status_
...
The string was always overwritten in `update()`; don't need to store
temporary value in the class.
2021-02-09 21:27:20 -08:00
Aleksei Bavshin
38c29fc242
refactor(rfkill): poll rfkill events from Glib main loop
...
Open rfkill device only once per module.
Remove rfkill threads and use `Glib::signal_io` as a more efficient way
to poll the rfkill device.
Handle runtime errors from rfkill and stop polling of the device instead
of crashing waybar.
2021-02-09 21:27:19 -08:00
Aleksei Bavshin
40f4dc9ecf
fix(rfkill): accept events larger than v1 event size
...
Kernel 5.11 added one more field to the `struct rfkill_event` and broke
unnecessarily strict check in `rfkill.cpp`. According to `linux/rfkill.h`,
we must accept events at least as large as v1 event size and should be
prepared to get additional fields at the end of a v1 event structure.
2021-02-09 21:27:18 -08:00
Andy Russell
95a6689077
disable Idle Inhibitor module if unsupported
2021-02-09 18:37:13 -05:00
Aleksei Bavshin
89b5e819a3
fix(client): improve guard from repeated xdg_output.done events
...
Multiple .done events may arrive in batch. In this case libwayland would
queue xdg_output.destroy and dispatch all pending events, triggering
this callback several times for the same output.
Delete xdg_output pointer immediately on the first event and use the
value as a guard for reentering.
2021-02-08 23:25:58 -08:00
Aleksei Bavshin
6585381230
fix(client): remove unnecessary wl_output_roundtrip
...
At this point we're not awaiting any protocol events and flushing
wayland queue makes little sense. As #1019 shows, it may be even harmful
as an extra roundtrip could process wl_output disappearance and delete
output object right from under our code.
2021-02-08 22:30:01 -08:00
Alex
f3ce7ff86c
Merge pull request #1021 from jgmdev/taskbar-icons
...
[wlr/taskbar] Check StartupWMClass
2021-02-07 16:52:34 +01:00
jgmdev
e4a65c72dd
Added missing 'if' space.
2021-02-07 04:27:16 -04:00
jgmdev
f14a73584f
[wlr/taskbar] Added break when matching StartupWMClass is found.
2021-02-07 01:01:57 -04:00
jgmdev
fffb52dd93
[wlr/taskbar] Check StartupWMClass on list returned by g_desktop_app_info_searchi()
2021-02-07 00:50:52 -04:00
Alex
71f9ed3099
Merge pull request #1018 from jgmdev/taskbar-icons
...
[wlr/taskbar] Fix unhandled exception crash when icon name is a path.
2021-02-04 10:05:02 +01:00
jgmdev
e293b89f6b
[wlr/taskbar] Removed unnecessary catch statement.
2021-02-04 04:57:08 -04:00
jgmdev
8a284e7c74
[wlr/taskbar] Declared load_icon_from_file() static.
2021-02-03 21:14:04 -04:00
jgmdev
22ed153004
[wlr/taskbar] Fix unhandled exception crash when icon name is a path.
2021-02-03 21:04:10 -04:00
Genesis
7eb2a6b709
Add a configuration entry to disable auto_back_and_forth on Sway workspaces
2021-02-02 21:58:26 +01:00
Alex
f2e9bb54f0
Merge pull request #1011 from jgmdev/taskbar-icons
...
[wlr/taskbar] More icon search improvements.
2021-02-02 09:03:35 +01:00
jgmdev
ac6667b1c9
[wlr/taskbar] More icon search improvements.
...
* Added ~/.local/share prefix to search in user defined apps.
* Add support for apps that don't properly set an id like pamac.
2021-02-02 01:03:28 -04:00
Alex
7d78a3aeef
Merge pull request #1001 from max-k/master
...
[sway/window] Add app_id to usable fields in title
2021-02-01 22:23:49 +01:00
Alex
aa088721c3
Merge pull request #1008 from nullobsi/label-sizing
...
improve module sizing options
2021-02-01 22:22:33 +01:00
nullobsi
72cd753c02
align should use rotate property
2021-02-01 01:44:51 -08:00
nullobsi
c8d7b6fa92
rename fixed-length to min-length
2021-01-31 14:03:49 -08:00
nullobsi
8c70513a24
add common `align` config property to set text alignment
...
add fixed-length property to set the fixed width of the label
2021-01-31 13:58:41 -08:00
nullobsi
35062ceb99
Merge branch 'master' into master
2021-01-31 12:01:49 -08:00
nullobsi
f05afb5468
Merge branch 'master' into fullwidth-length
2021-01-31 11:58:12 -08:00
nullobsi
ecba117dc0
remove unnessecary logging
2021-01-31 11:56:25 -08:00
nullobsi
d2a1f41750
Use g_unichar_iswide to properly align calendar on CJK locales
2021-01-31 11:53:53 -08:00
jgmdev
3881af4bbe
Improved wlr/taskbar icon search.
2021-01-31 15:37:26 -04:00
nullobsi
6cc3212605
add length limits for MPD module tags
2021-01-30 18:04:59 -08:00
Thomas Sarboni
e19aa1d43a
[sway/window] Add app_id to usable fields in title
2021-01-30 01:41:45 +01:00
Alex
69a366dced
Merge pull request #996 from martin2250/master
...
add power formatter to battery module
2021-01-24 23:33:12 +01:00
Martin Pittermann
3bcf390484
add power to battery formatter
2021-01-24 21:39:14 +01:00
Aleksei Bavshin
7fa1c11833
fix(client): unsubscribe after receiving xdg_output.done event
...
Ignore any further xdg_output events. Name and description are constant
for the lifetime of wl_output in xdg-output-unstable-v1 version 2 and we
don't need other properties.
Fixes #990 .
2021-01-21 08:35:38 -08:00
Aleksei Bavshin
ab0f2c13af
fix(client): attach styles only once
...
Gdk >= 3.10 has only one GdkScreen. No need to reattach styles on every
output change.
2021-01-21 08:32:44 -08:00
Kamus Hadenes
dc38640341
Merge branch 'master' into patch-1
2021-01-18 10:55:40 -03:00
Alex
66e5fda418
Merge pull request #964 from Ocisra/master
...
Add an option to use battery design capacity
2021-01-18 13:48:03 +01:00
Ocisra
392b0679c9
Merge branch 'master' into master
2021-01-18 12:39:25 +01:00
ocisra
0bd96f339e
typo
2021-01-18 12:38:02 +01:00
Marek Černoch
ce0bf6269b
battery: use timeTo as the default format name
2021-01-18 12:32:51 +01:00
Marek Černoch
fdaba72974
Merge branch 'master' into battery-custom-tooltip
2021-01-18 12:22:44 +01:00
Alex
a2d98ddde8
Merge pull request #842 from rdnetto/config-reloading
...
Implement support for reloading of config files.
2021-01-18 12:06:25 +01:00
Alex
51bfe9eaf6
Merge pull request #881 from olemartinorg/master
...
Support format-{state} for cpu/disk/memory
2021-01-18 12:02:59 +01:00
Alex
a25cf4d188
Merge pull request #891 from danieldg/temp-tooltip
...
Add "tooltip-format" to temperature module
2021-01-18 12:01:34 +01:00
Alex
ede1146ddc
Merge pull request #903 from spk/simpleclock
...
Add simpleclock as fallback when hhdate is not available
2021-01-18 12:00:48 +01:00
sjtio
9d5ce45f3b
add option tag-labels to river/tags
2021-01-15 01:07:56 +00:00
Kamus Hadenes
a7941a00c5
fix missing parentheses
2021-01-12 19:10:34 -03:00
Kamus Hadenes
f4ffb21c8c
improve sink/source separation
...
Add additional fields, namely `source_volume` and `source_desc`
Add `tooltip-format`, reverting to default behavior if not specified
Add additional CSS classes, namely `sink-muted` and `source-muted`
2021-01-12 18:51:44 -03:00
Aleksei Bavshin
b79301a5bd
fix(wlr/taskbar): protocol error when reconnecting outputs
...
Destroy request is not specified for foreign toplevel manager and it
does not prevent the compositor from sending more events.
Libwayland would ignore events to a destroyed objects, but that could
indirectly cause a gap in the sequence of new object ids and trigger
error condition in the library.
With this commit waybar sends a `stop` request to notify the compositor
about the destruction of a toplevel manager. That fixes abnormal
termination of the bar with following errors:
```
(waybar:11791): Gdk-DEBUG: 20:04:19.778: not a valid new object id (4278190088), message toplevel(n)
Gdk-Message: 20:04:19.778: Error reading events from display: Invalid argument
```
2021-01-08 15:41:48 -08:00
Aleksei Bavshin
ef9c3ef1cb
fix(wlr/taskbar): fix wl_array out-of-bounds access
...
wl_array->size contains the number of bytes in the array instead of the
number of elements.
2021-01-08 15:28:29 -08:00
Johannes Christenson
f20dbbbd74
Fixing logic in getIcon
2021-01-03 19:08:06 +01:00
ocisra
00046d309d
add an option to use battery design capacity as a reference for percentage informations
2021-01-03 15:25:19 +01:00
Alex
bd208fcec6
Merge pull request #956 from AndreasBackx/feature/output-identifier
...
Added waybar_output.identifier support. #602
2021-01-02 11:52:14 +01:00
dorgnarg
42e8667773
Better way of doing it by just moving the original delcarations after everything's for sure been set
2020-12-28 13:44:16 -07:00
dorgnarg
c0361e8546
A hopeful fix to the module section classes when the bar is vertical
2020-12-28 13:34:59 -07:00
Andreas Backx
3fbbbf8541
Removed redundant log line.
2020-12-25 23:31:29 +00:00
Andreas Backx
e5684c6127
Separated name and description setup and moved bar creation to done callback.
2020-12-25 23:03:01 +00:00
Andreas Backx
0233e0eeec
Added waybar_output.identifier support.
...
Resolves #602 .
2020-12-25 20:54:38 +00:00
Andrea Scarpino
005af7f7b7
Revert "Fix waybar-pulseaudio with pipewire-pulse"
...
This reverts commit 0d03c1d4da
.
2020-12-25 17:37:21 +01:00
Alex
dd2792b204
Merge pull request #937 from ilpianista/bugfix/pipewire-pulse
...
Fix waybar-pulseaudio with pipewire-pulse
2020-12-23 21:39:40 +01:00
Harit Kapadia
cb7baee045
Fixed compile error
2020-12-18 18:17:17 -05:00
Harit Kapadia
85ca5027f4
Fix Sway #waybar.solo CSS rule applying on split
...
This error occurs because of an incorrect assumption that the size of
the list of nodes that contains the focused window is the number of
windows in a workspace.
The windows in a workspace are stored as a tree by Sway, rather than a
list, so the number of windows has to be found by counting the leaves of
a workspace tree.
2020-12-18 18:14:14 -05:00
Andrea Scarpino
d382734698
Merge branch 'master' into bugfix/pipewire-pulse
2020-12-09 18:14:22 +01:00
Andrea Scarpino
0d03c1d4da
Fix waybar-pulseaudio with pipewire-pulse
2020-12-04 23:51:10 +01:00
Aleksei Bavshin
68b6136989
fix(sway/workspaces): ignore emulated scroll events
...
GDK Wayland backend can emit two events for mouse scroll: one is a
GDK_SCROLL_SMOOTH and the other one is an emulated scroll event with
direction. We only receive emulated events on a window, thus it is not
possible to handle these in a module and stop propagation.
Ignoring emulated events should be safe since those are duplicates of
smooth scroll events anyways.
Fixes #386
2020-12-04 01:09:42 -08:00
Till Smejkal
18f129a712
Spit out a warning when trying to set/unset fullscreen without server supporting it
...
Previously we only checked when connecting to the server whether it had
the minimum required version but didn't act accordingly in the various
functions that use the functionality of later versions. If there were a
server in the wild, that actually would not have this functionality,
there would have been a crash. Fix this by checking the version before
using the functionality and gracefully abort it.
2020-12-04 08:04:02 +01:00
Till Smejkal
bb60e68b9d
Update to the latest version of the foreign toplevel manager protocol
...
There was an update the of the toplevel manager protocol. Unfortunately,
there are no new interesting updates with regard to the taskbar
implementation. Nonetheless, update the protocol xml files to the latest
version so that the implementation is up-to-date.
While being there, also change the debug warning that is shown when
there is a version mismatch between the server and client version of the
protocol.
2020-12-04 08:03:43 +01:00
Pedro Côrte-Real
09c89bcd20
Don't update battery list on every update
...
Speedup battery state update by only updating the battery list when we
get a CREATE/DELETE event in the directory or whenever we do a full
refresh on the interval.
2020-12-03 09:52:33 +00:00
Alex
cc365a8175
Merge pull request #923 from pedrocr/fix-battery-calculations
...
Simplify and improve battery state calculations
2020-12-02 14:35:56 +01:00
Alex
f74c22e851
Merge pull request #930 from tchebb/fix-compiler-warnings
...
Fix a few compiler warnings
2020-12-01 09:09:02 +01:00
Thomas Hebb
29f78e0426
Fix a few compiler warnings
...
There was one uninitialized value warning and two mismatched-sign
compare warnings. They both appear valid, the first occurring when MPD's
"format-stopped" contains {songPosition} or {queueLength} and the second
occurring when the clock's "timezones" array is more than 2 billion
items long (not likely, I admit). Fix both issues.
2020-11-30 18:07:22 -08:00
Thomas Hebb
85df7ce2da
Add debug log message to print each bar's widget tree
...
This is very useful when writing CSS that affects more than just a
single widget. Pass `-l debug` to enable debug logging and show this
information.
Example output:
[2020-11-30 12:38:51.141] [debug] GTK widget tree:
window#waybar.background.bottom.eDP-1.:dir(ltr)
decoration:dir(ltr)
box.horizontal:dir(ltr)
box.horizontal.modules-left:dir(ltr)
widget:dir(ltr)
box#workspaces.horizontal:dir(ltr)
widget:dir(ltr)
label#mode:dir(ltr)
widget:dir(ltr)
label#window:dir(ltr)
box.horizontal.modules-center:dir(ltr)
box.horizontal.modules-right:dir(ltr)
widget:dir(ltr)
box#tray.horizontal:dir(ltr)
widget:dir(ltr)
label#idle_inhibitor:dir(ltr)
widget:dir(ltr)
label#pulseaudio:dir(ltr)
widget:dir(ltr)
label#network:dir(ltr)
widget:dir(ltr)
label#cpu:dir(ltr)
widget:dir(ltr)
label#memory:dir(ltr)
widget:dir(ltr)
label#temperature:dir(ltr)
widget:dir(ltr)
label#backlight:dir(ltr)
widget:dir(ltr)
label#battery:dir(ltr)
widget:dir(ltr)
label#clock:dir(ltr)
2020-11-30 17:23:02 -08:00
Pedro Côrte-Real
31a4aff1f8
Don't show battery estimate at 0
...
If we think we're done might as well not show 0h 0min as the estimate
and just not show anything.
2020-11-27 14:23:37 +00:00
Pedro Côrte-Real
89ca155c43
Support hotplugging of batteries
...
Refresh the list of batteries on update to handle hotplug correctly.
Probably fixes #490 .
2020-11-27 13:56:04 +00:00
Pedro Côrte-Real
908fa2c6c2
Make the battery full-at go to 100%
...
full-at was capped at the value instead of allowing the battery to show
100% when you were at the full-at value. Uncapping makes more sense as
it makes the full-at value the new 100% and the scale goes down from
there. Whereas before the battery would stay at the full-at value until
it went down enough which is unrealistic.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real
f45d582957
Always mark battery as full at 100%
...
Since we're now clamping at 100% and rounding, mark as full at that
point. Some batteries will stay in charging state for a long time while
stuck at the same charge level. Just mark them as full to not be
confusing.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real
eb3f4216d4
Show battery state as rounded number
...
Round the battery charge state so that 99.9% shows as 100%.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real
e0cdcb6e30
Handle charging above 100% gracefully
...
When calibrating a battery it's possible to go above 100%. Handle that
gracefully by just presenting the battery as full and 100%.
2020-11-27 11:02:11 +00:00
Pedro Côrte-Real
a7056f7cce
Calculate battery state from just energy values
...
The energy values are all that's needed to calculate the battery state.
Using other values for the total capacity results in broken results in
some cases. This matches the output of TLP and i3status, while also
being more straightforward.
2020-11-27 11:02:11 +00:00
Daniel De Graaf
3b576ae12d
Add "tooltip-format" to temperature module
2020-11-26 20:23:19 -05:00
Aleksei Bavshin
2695985da0
fix: compilation error with gcc 11
...
../src/modules/network.cpp:22:6: error: ‘optional’ in namespace ‘std’ does not name a template type
22 | std::optional<unsigned long long> read_netstat(std::string_view category, std::string_view key) {
| ^~~~~~~~
../src/modules/network.cpp:7:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’?
6 | #include "util/format.hpp"
+++ |+#include <optional>
7 | #ifdef WANT_RFKILL
2020-11-26 15:42:44 -08:00
Alex
05b12602d4
fix: don't check against nullptr
2020-11-26 15:16:55 +01:00
Alex
374d5ae5a1
fix: check get_icon return non nullpt
2020-11-26 15:10:33 +01:00
Arnaud Vallette d'Osia
d8dafa7ecc
add minimize-raise() action
2020-11-18 20:12:07 +01:00
Alex
faacd76f62
Merge pull request #892 from alebastr/layer-surfaces-v3
...
Refactor layer surface implementations (again)
2020-11-02 10:17:57 +01:00
Jordan Leppert
9785a89013
Making active a bool
2020-11-01 18:25:41 +00:00
Jordan Leppert
b015836e7b
Ensure style class is removed from all IdleInhibitor instances by moving it to update().
2020-11-01 18:17:51 +00:00
Jordan Leppert
a9dae931c7
Renaming idle_inhibitor_modules and idle_inhibitor_status to shorter, more convenient names.
2020-11-01 17:14:05 +00:00
Jordan Leppert
071cb86b45
Moving idle inhibitor shared stuff out of Client and into idle_inhibitor module as static members.
2020-11-01 17:09:48 +00:00
Jordan Leppert
c6743988d3
Removing 'click_param' as it is no longer used.
2020-11-01 16:03:39 +00:00
Jordan Leppert
bb33427f65
Making idle_inhibitor_ private and initialised in constructor, as it was before.
2020-11-01 13:38:58 +00:00
Jordan Leppert
4889e655eb
Since idle_inhibitor's have a surface, we should have one for each inhibitor module. Therefore, the status is stored on the Client, and all modules create or destroy their inhibitors depending on Client's idle_inhibitor_status. Also, when modules are destroyed they remove themselves from Client's idle_inhibitor_modules.
2020-11-01 13:33:28 +00:00
Jordan Leppert
aa4fc3dd29
Idle inhibitor toggle no longer update all modules - a list of idle inhibitors is maintained on the Client.
2020-10-31 17:30:25 +00:00
Jordan Leppert
4872091442
Draft fix for syncing idle inhibitor across outputs. The idle_inhibitor surface has been moved to Client, all instances of idle inhibitor module now use one surface between them. Any time an idle inhibitor is clicked, currently it force updates ALL modules on all outputs, this needs work.
2020-10-31 16:31:27 +00:00
Jordan Leppert
abe1fa5bd4
Custom module - only call label_.set_tooltip_markup if tooltip markup has actually changed - fixes tooltips not appearing at all if a custom module is updating too frequently.
2020-10-31 12:21:51 +00:00
Laurent Arnoud
96d965fe04
Add simpleclock as fallback when hhdate is not available
...
ref https://github.com/Alexays/Waybar/issues/668
2020-10-29 19:40:28 +01:00
Aleksei Bavshin
9c566564e1
fix(bar): address some of RawSurfaceImpl resizing issues
2020-10-28 08:22:26 -07:00
Aleksei Bavshin
fc5906dbd4
feat(bar): change layer to `bottom` when hidden
...
Invisible bar on a `top` layer would still intercept pointer events and
stop them from reaching windows below. Always changing the layer to
to `bottom` along with making bar invisible would prevent that.
2020-10-28 08:18:49 -07:00
Aleksei Bavshin
fe3aeb36c5
refactor(bar): wrap layer_surface pointer in unique_ptr
2020-10-28 08:15:02 -07:00
Aleksei Bavshin
591a417b7d
fix(bar): rework surface commit calls for RawSurfaceImpl
...
wayland log shows that some changes were committed twice and some
weren't committed until the next redraw.
2020-10-28 08:14:57 -07:00
Aleksei Bavshin
f97de599dd
refactor: header cleanup
...
Replace a couple of header includes with forward declarations.
2020-10-28 08:08:03 -07:00
Aleksei Bavshin
f01996ae99
fix(bar): CamelCase SurfaceImpl method names
2020-10-28 08:07:40 -07:00
Aleksei Bavshin
7735c80d0e
refactor(bar): Split GLS and raw layer-shell implementations
...
Extract two surface implementations from the bar class: GLSSurfaceImpl
and RawSurfaceImpl. This change allowed to remove _all_ surface type
conditionals and significantly simplify the Bar code.
The change also applies PImpl pattern to the Bar, allowing to remove
some headers and fields from `bar.hpp`.
2020-10-28 07:53:37 -07:00
Aleksei Bavshin
2b3d7be9cb
feat(bar): let gtk-layer-shell manage exclusive zone
...
Previous attempts to use auto exclusive zone from gtk-layer-shell failed
because gls was expecting real booleans (`TRUE`/`FALSE`) as set_anchor
arguments. With that being fixed, gtk_layer_auto_exclusive_zone_enable
makes gls handle everything related to the bar resizing.
The only remaining purpose of onConfigureGLS is to log warnings and bar
size changes; gtk-layer-shell code path no longer needs saved width_ or
height_ values.
2020-10-28 07:53:32 -07:00
Aleksei Bavshin
67d54ef3d5
fix(wlr/taskbar): do not bind to unsupported protocol versions
...
It's not allowed to bind to a higher version of a wayland protocol than
supported by the client. Binding wlr-foreign-toplevel-manager-v1 v3 to
a generated code for v2 causes errors in libwayland due to a missing
handler for `zwlr_foreign_toplevel_handle_v1.parent` event.
2020-10-25 10:26:44 -07:00
Flakebi
be3f47b374
Fix various mpd bugs
...
- Add elapsedTime and totalTime to tooltip format arguments
- Catch format exceptions and print error
- Copy mpd connection error message before it gets freed
- Update display after connection to mpd was lost
2020-10-23 21:13:20 +02:00
nikto_b
f13f49ccb5
Merge branch 'master' into sway-language-module
2020-10-20 12:22:22 +03:00
Aleksei Bavshin
ebdeb86703
feat(swaybar-ipc): handle visibility_by_modifier update
2020-10-19 19:35:55 -07:00
Aleksei Bavshin
bc13453155
feat(swaybar-ipc): handle mode update
2021-09-15 22:39:51 +07:00
Aleksei Bavshin
23e5181cac
feat(swaybar-ipc): add swaybar IPC client
2020-10-19 19:34:48 -07:00
Aleksei Bavshin
452dcaa5d3
feat(client): store bar_id argument
2021-11-19 20:28:41 -08:00
Aleksei Bavshin
52361ed360
refactor(bar): make setVisible switch between "default" and "invisible" modes
2021-11-21 11:00:57 -08:00
Aleksei Bavshin
87b43c2171
feat(bar): attach CSS class `mode-{mode}` to window when setting mode
2021-11-19 20:02:57 -08:00
Aleksei Bavshin
ae88d7d8dc
feat(bar): use "default" mode to store global options
...
Read `layer`, `exclusive`, `passthrough` into a special mode "default".
Drop `overlay` layer hacks, as it's easier to use `"mode": "overlay"`
for the same result.
2021-11-19 19:31:41 -08:00
Aleksei Bavshin
6d2ba7a75b
feat(bar): store modes as a map of presets
...
This allows to apply the mode atomically and adds possibility of
defining custom modes (to be implemented).
2021-11-19 19:29:51 -08:00
Aleksei Bavshin
03a641ed83
feat(bar): support swaybar `mode` for configuring window
...
Use `mode` (`waybar::Bar::setMode`) as a shorthand to configure bar
visibility, layer, exclusive zones and input event handling in the same
way as `swaybar` does.
See `sway-bar(5)` for a description of available modes.
2021-09-15 22:35:50 +07:00
Joseph Benden
587eb5fdb4
mpd: support password protected MPD
...
- Add MPD module option `password`, and document it.
- Add logic to send the password, directly after connecting to
MPD.
Fixes : #576
Signed-off-by: Joseph Benden <joe@benden.us>
2020-10-19 11:54:36 -07:00
Joseph Benden
8f961ac397
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-18 10:37:57 -07:00
Alex
54beabb9dc
Revert "mpd: revamped to event-driven, single-threaded"
2020-10-18 10:45:31 +02:00
Alex
41752ad5a2
Merge pull request #877 from jbenden/jbenden/mpd-module
...
mpd: revamped to event-driven, single-threaded
2020-10-18 10:39:12 +02:00
nikto_b
8349316fcd
Merge branch 'master' into sway-language-module
2020-10-12 13:31:39 +03:00
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
Alex
7c4d75d428
feat: create new workspace on the wanted output
2019-05-20 13:21:22 +02:00
Alex
67593b8c0f
Merge pull request #332 from Organic-Code/enhancement/spdlog
...
Adding spdlog
2019-05-20 12:07:58 +02:00
Alex
cff39bc7cf
fix: remove watcher_id fixme comment as fixed on master
2019-05-20 11:56:55 +02:00
Alex
f2edc8f965
feat(Watcher): define watcher_id
2019-05-20 11:47:52 +02:00
Alex
7b11283b73
Allow formatting memory with used and available memory ( #334 )
...
Allow formatting memory with used and available memory
2019-05-20 11:30:19 +02:00
Alex
03e43fb31d
refactor: remove wlroots dependency
2019-05-20 09:49:54 +02:00
isheshukov
5feb478611
Merge branch 'master' into amd_fix
2019-05-19 22:40:47 +03:00
RX14
6bf64cd04d
Allow formatting memory with used and available memory
2019-05-19 16:34:42 +01:00
RX14
5e43b4f587
Fix clock is always a second off
2019-05-19 13:30:19 +01:00
Lucas Lazare
e8dd1e2d2c
Adding missing ; and _
...
I'll admit I don't have libmpd on my computer
2019-05-18 20:10:42 -04:00
Lucas Lazare
51be97f9aa
Adding spdlog
2019-05-18 19:44:45 -04:00
Lucas Lazare
a00f812cd1
Typo
2019-05-18 18:21:01 -04:00
Lucas Lazare
863e0babd8
Adding break when sorted_workspaces is filled
2019-05-18 12:09:30 -04:00
Lucas Lazare
8ba3052dd1
Adding comments & fixing code style
2019-05-18 12:04:09 -04:00
Lucas Lazare
1a76aa0c8c
Improving ordering
2019-05-18 11:58:01 -04:00
Lucas Lazare
85f177a213
Adding sway/workspaces:persistant_workspaces in config file
...
c.f. https://github.com/Alexays/Waybar/issues/210
2019-05-18 10:58:55 -04:00
Alex
ff28de0482
feat(custom): update on click/scroll
2019-05-18 16:07:55 +02:00
Alex
67786c32a8
fix(merge): re-add missing code
2019-05-18 15:45:18 +02:00
Alex
93a644eec4
Merge branch 'master' into master
2019-05-18 15:42:27 +02:00
Alex
aa385e28b6
refactor: execute update on idle
2019-05-18 15:32:40 +02:00
Lucas Lazare
2c1a3d0430
Adding logging
2019-05-18 09:27:47 -04:00
Lucas Lazare
b31a64ad00
Displaying in ko/s and kb/s instead of interval dependant unit
2019-05-18 09:13:00 -04:00
Alex
4865a9ad6c
fix(network): reset frequency
2019-05-18 13:57:50 +02:00
RX14
3e1c77d158
Add option to disable scroll wraparound on workspaces
2019-05-18 12:15:35 +01:00
Alex
d34c3a801c
fix(Network): less updates
2019-05-18 12:27:10 +02:00
Lucas Lazare
794fb12e8c
Adding bandwidth support for network module [linux only]
2019-05-17 23:39:51 -04:00
Ilia Sheshukov
f743882baa
Merge branch 'master' into amd_fix
2019-05-17 22:33:02 +03:00
Ilia Sheshukov
9fa0eb7068
more elegant amd fix
2019-05-17 22:30:45 +03:00
Alex
43d724ebad
Merge pull request #326 from RX14/rename-bar-scroll
...
Rename the "disable-workspace-scroll" option to "disable-bar-scroll"
2019-05-17 20:24:15 +02:00
RX14
0d59f7b7d1
Rename the "disable-workspace-scroll" option to "disable-bar-scroll"
2019-05-17 17:42:11 +01:00
RX14
1e95f5d9b6
Fix workspace scroll wrapping off the end of the list
2019-05-17 17:37:24 +01:00
Alex
9234be8544
revert: re-add rountrip before widgets setup
2019-05-17 14:45:02 +02:00
Alex
9d3255fe9f
fix: remove redundant roundtrip
2019-05-17 14:41:12 +02:00
Alex
d2d9db23b5
fix: uninitialized bool
2019-05-17 14:23:52 +02:00
Alex
d8be72e4b6
refactor: unexport tray watcher
2019-05-17 13:51:55 +02:00
Alex
f8a47598ba
fix: roundtrip before bar creation
2019-05-17 13:40:04 +02:00
Alex
cb2d6e1997
feat(Network): frequency
2019-05-17 11:27:38 +02:00
Alex
17291dffdf
fix(Battery): plugged state
2019-05-17 10:59:54 +02:00
Alex
2cb70c7324
Merge pull request #322 from RX14/feature/generic-scroll
...
Allow scrolling on the entire bar surface
2019-05-17 10:03:52 +02:00
Alex
4d4cadb5ae
refactor: simpler code
2019-05-17 09:59:37 +02:00
Olegs Jeremejevs
d5c1e6f312
Change scroll-step unit to percent
2019-05-17 11:19:58 +08:00
RX14
b45dcdf74e
Allow scrolling on the entire bar surface
2019-05-16 22:18:43 +01:00
Alex
4b4b74db0c
feat(Battery): get icon by state
2019-05-16 17:18:27 +02:00
Alex
e12766a656
fix: compilation on some os
2019-05-16 17:09:25 +02:00
Alex
31f63398dc
Merge pull request #319 from Alexays/network
...
Network improvements
2019-05-16 14:11:32 +02:00
Alex
0a14e7f3ab
feat: ipv6 family
2019-05-16 12:22:08 +02:00
Alex
31416ffae6
fix: bar removed
2019-05-16 12:19:47 +02:00
Alex
fbe19d886a
fix: drop memberships
2019-05-16 12:16:44 +02:00
Alex
9c67150884
refactor: prepare ipv6
2019-05-16 12:14:12 +02:00
Alex
f3c467cc46
refactor: remove non wanted headers
2019-05-16 11:27:22 +02:00
Alex
45ebee52a6
fix: typo
2019-05-16 11:26:06 +02:00
Alex
841576497a
refactor: cleaner events
2019-05-16 11:22:22 +02:00
Alex
963d4f68e4
refactor: remove useless param
2019-05-16 09:39:06 +02:00
unresolvedsymbol
7e8eee0571
fix state behavior
2019-05-15 22:14:51 -05:00
Jørgen Bele Reinfjell
380fc58f3c
fix(battery): change comparison expr. to assignment
2019-05-15 19:19:00 +02:00
Alex
22bf0b161a
fix(Network): do not stop thread
2019-05-15 10:24:35 +02:00
Alex
5b3402e110
feat(Battery): plugged status
2019-05-14 15:43:57 +02:00
Alex
0968170074
style(media): min-width
2019-05-13 15:40:02 +02:00
Alex
362c393b1d
refactor: try/catch, sigc trackable
2019-05-13 15:15:50 +02:00
Alex
0c3c548bc0
fix(Window): avoid concurrency
2019-05-13 14:35:45 +02:00
Alex
b54160e02f
fix(Tray): add item if not exist
2019-05-13 14:27:01 +02:00
Alex
4f1defe6d5
fix(Pulseaudio): avoid handleScroll override
2019-05-13 11:46:12 +02:00
Alex
92967c7c06
fix(Label): reverse only battery states
2019-05-13 11:36:34 +02:00
Alex
fcb23d3104
feat(temperature): format-icons
2019-05-13 11:31:05 +02:00
Alex
62f8af8a39
fix(Window): avoid multiple same classes
2019-05-13 10:56:48 +02:00
Alex
80e9ea746b
fix(battery): use path for the / operator
2019-05-12 19:53:22 +02:00
Alex
84728f6fab
Merge pull request #313 from apiote/master
...
remove empty and solo classes when they do not apply
2019-05-12 12:13:07 +02:00
Adam Pioterek
7cdde05568
remove empty and solo classes when they do not apply
2019-05-11 20:36:10 +02:00
Dan
e343cf4b00
fix(btformat): fixes an issue where btformat was not being correctly detected
2019-05-10 12:07:17 -04:00
Alex
e4756cf24e
refactor: don't print an error when a watcher is already present
2019-05-10 14:56:28 +02:00
Alex
4688002f23
feat: margins
2019-05-09 15:10:13 +02:00
Alex
5bf0ca85ac
refactor: try/catch around json parse
2019-05-09 10:30:54 +02:00
Alex
5a44c8c6de
refactor: avoid unneeded json parsing
2019-05-07 13:43:48 +02:00
Alex
74137befba
fix(window): title flickers
2019-05-07 13:31:41 +02:00
Alex
b75e0bb0d0
refactor: remove useless bar param
2019-05-07 13:21:18 +02:00
Dan
dd0ebe117c
chore(cr): cr cleanup
2019-05-03 08:08:55 -04:00
Dan
5f0a3063d1
feat(states): add getState to other percent based modules
2019-05-02 22:24:29 -04:00
Dan
3bac96945c
Revert "feat(percent): adds a percent class to numeric modules"
...
This reverts commit 82302e58f3b611f7ff6d686d1783b1c32914f7c9.
2019-05-02 22:24:29 -04:00
Dan
e158a3e132
feat(states): add generic 'states' to all labels
2019-05-02 22:24:29 -04:00
Dan
472363a623
feat(percent): adds a percent class to numeric modules
2019-05-02 22:24:29 -04:00
Alex
1a024db03c
fix(idle_inhibitor): overload
2019-05-02 17:51:01 +02:00
Alex
5623bbecfe
feat(idle_inhibitor): pass status to click events exec
2019-05-02 16:56:45 +02:00
Alex
1e871b2353
refactor: propagate the event further
2019-05-02 16:46:53 +02:00
Alex
d027243a19
fix: json thread safe
2019-05-02 14:24:54 +02:00
Eric Engestrom
4d4562aade
fix s/hidded/hidden/ typo
2019-05-01 12:40:12 +01:00
Alex
e8f31a0c4f
revert: infinite seconds for once custom modules
2019-04-26 21:57:15 +02:00
Alex
f8c06b27ae
Revert "feat(Cpu): dynamic fmt args"
...
This reverts commit 2d9bcb1a2d
.
2019-04-26 21:49:16 +02:00
Alex
717a07d584
refactor(Window): simpler conditions
2019-04-26 15:29:54 +02:00
Alex
2d9bcb1a2d
feat(Cpu): dynamic fmt args
2019-04-26 14:07:31 +02:00
Jon Valdés
9fe29c37b4
Fix indentation
2019-04-25 22:56:14 +02:00
Jon Valdés
f8ae1534db
Allow rotating label contents by specifying a new "rotate" property in the label config
2019-04-25 22:47:58 +02:00
Alex
bb8ff5a99f
feat(Bar): add class depend of window in the workspace
2019-04-25 16:47:51 +02:00
Alex
79a5e9ecee
feat: multiple bar with same process
2019-04-25 13:25:06 +02:00
Alex
9504b7ac03
fix(Bar): typo
2019-04-24 12:42:16 +02:00
Alex
311c34ecbc
feat(Bar): handle widget size changes
2019-04-24 12:37:24 +02:00
Alex
90d89fe974
refactor: kill custom modules scripts en destroy
2019-04-23 15:56:38 +02:00
Alex
cccf60c30e
fix(Workspaces): fix concurrence and move json parser to ipc client
2019-04-23 11:42:08 +02:00
Minijackson
b50650f63f
fix(mpd): regularly timeout the event listener to prevent timeout
...
The MPD server has a connection_timeout that defaults to 60. If no data
is transferred in this timespan, the connection is closed. If the
connection is closed while the event listener is listening for events,
it will block forever. By timing out the event listening and
re-connecting regularly, we prevent this issue. An option "timeout" has
been added for users that have a lower server connection_timeout than
default. Fixes #277
2019-04-21 10:58:40 +02:00
Cole Helbling
12e1233d38
Fix compile-time warning of catch by value
2019-04-20 09:16:11 -07:00
Cole Helbling
160837b900
Ensure no NULL tags are set
...
Because `mpd_song_get_tag` from libmpdclient can return NULL, verify the
value of tag is valid. Otherwise, set a default string of "N/A". Also
adds configuration to specify what this default string should be.
2019-04-20 09:12:30 -07:00
Alex
471b5b1ea1
Merge branch 'master' into refactoring
2019-04-19 17:33:18 +02:00
Alex
29d8f365f8
refactor(Tray): proper lookup in the default theme
2019-04-19 17:30:40 +02:00
Alex
8cf19826aa
fix(Tray): Unexport on exit
2019-04-19 17:03:46 +02:00
Alex
cbb6f2a307
refactor(Workspaces, IPC): no more mutex in the workspaces modules, moved to the IPC client for a proper handling
2019-04-19 16:48:02 +02:00
Alex
e77c155ede
fix(workspaces): avoid mutex block
2019-04-19 12:11:55 +02:00
Alex
171ecd53aa
refactor(Bar): roundtrip before setup widgets
2019-04-19 11:56:40 +02:00
Minijackson
66b0420391
fix(mpd): Escape MPD values in the label
2019-04-19 11:11:44 +02:00
Alex
42dc0c4c71
fix(ipc): typo
2019-04-19 11:10:48 +02:00
Alex
bb1cf7570e
refactor(IPC): use sigc signal
2019-04-19 11:09:06 +02:00
Alex
6ed8f94dab
refactor: format code
2019-04-18 17:52:00 +02:00
Alex
807ef32357
refactor: format && better output management
2019-04-18 17:47:40 +02:00
Minijackson
3656035c89
fix(mpd): slightly better and safer error handling
2019-04-18 15:57:57 +02:00
Minijackson
0ce8821aec
feat(mpd): Add playing / paused classes
2019-04-18 15:57:57 +02:00
Minijackson
ab43d34a1e
refactor(mpd): Add module name to log messages
2019-04-18 15:57:57 +02:00
Minijackson
22eccc2ac2
feat(mpd): reset player state when connection drops
2019-04-18 15:57:57 +02:00
Minijackson
cd92b475ad
chore: Add clang-format configuration and format MPD module
2019-04-18 15:57:57 +02:00
Minijackson
235997fa73
feat(mpd): Add support for elapsed and total time
2019-04-18 15:55:46 +02:00
Minijackson
80a12d0238
feat(mpd): play/pause on click & stop on right-click
2019-04-18 15:55:46 +02:00
Minijackson
07dab2baec
feat(mpd): Add support for options (random, repeat, etc.)
2019-04-18 15:55:45 +02:00
Minijackson
cbfcec4867
feat(mpd): Add support for play/pause icons
2019-04-18 15:55:45 +02:00
Minijackson
557b786ce0
feat(mpd): Allow for specifying the reconnect interval
2019-04-18 15:55:45 +02:00
Minijackson
8c9dd94670
feat(mpd): Add support for setting tooltip label when disconnected
2019-04-18 15:55:45 +02:00
Minijackson
06aff70e2e
feat: Add basic support for MPD
2019-04-18 15:55:45 +02:00
Alex
6d6df4be00
refactor(sni-item): better way to search in default theme
2019-04-17 22:15:18 +02:00
Alex
9564adb5b4
refactor(Bar): avoid reinterpret_cast
2019-04-17 19:33:49 +02:00
Alex
aeaa1927d9
fix: add default_paths on init
2019-04-17 19:23:52 +02:00
Alex
346ec68578
refactor: format tray && partial fix for #235
2019-04-17 14:19:04 +02:00
Alex
3273ee8b42
fix(Tray): icon size lookup
2019-04-15 12:10:37 +02:00
Alex
d05b8398fa
fix: prefer to hold running even when no window is open
2019-04-15 11:42:16 +02:00
Alex
ecc5f48dd7
feat: partially hide waybar on toggle
2019-04-15 11:11:16 +02:00
Alex
5828d34fa0
Merge branch 'master' into custom-multiple-classes
2019-04-15 10:58:27 +02:00
Alex
bc9a49787a
feat: enable pango markup on sway workspaces
2019-04-15 10:55:44 +02:00
Alex
6aee51479d
feat: ability to add multiple classes
2019-04-15 10:18:27 +02:00
Alex
57c99dc526
refactor(Tray): also search in default theme
2019-04-11 15:28:38 +02:00
Alex
78067462be
fix(Tray): icons update
2019-04-11 15:20:39 +02:00
Alex
5870421f84
refactor(temperature): check if file exist on init
2019-04-11 15:08:23 +02:00
Alex
8351dea292
refactor(network): process all messages
2019-04-04 11:58:27 +02:00
Alex
1f6f443c48
Revert "refactor(network): fix skipped messages"
...
This reverts commit 1ccf372f8e
.
2019-04-01 11:41:43 +02:00
Alex
7fac483530
fix: don't bind RTMGRP_IPV(4|6)_ROUTE
2019-03-31 16:33:01 +02:00
Alex
3a8cd91cc0
Revert "refactor: partial revert of 1ccf372f8e9d74cb18e92220c18a0729832fe69e"
...
This reverts commit 949a4ecf2e
.
2019-03-30 09:20:28 +01:00
Alex
949a4ecf2e
refactor: partial revert of 1ccf372f8e
2019-03-30 09:03:31 +01:00
Aleksei Bavshin
5a2b5624dc
feat(tray): process tray icon update signals
2019-03-29 18:40:28 -07:00
Aleksei Bavshin
82fcee33b3
refactor(tray): use Gio::DBus bindings in SNI Item class
2019-03-29 18:28:29 -07:00
Aleksei Bavshin
842e8501f9
fix(tray): free icon data on pixbuf update
2019-03-28 10:52:25 -07:00
Sibren Vasse
55a6e4907b
feat(custom): allow icon selection based on json alt attribute
2019-03-26 00:35:49 +01:00
Alex
dda0cc793e
fix: check vertical after parsing multiple outputs
2019-03-25 21:02:00 +01:00
Alex
5144426f0e
fix(workspace): scroll direction
2019-03-25 11:55:01 +01:00
José Ribeiro
3eb901f800
Escape ESSID text before interpreting as pango
...
Fixes #240 .
2019-03-24 03:11:54 +00:00
Alex
47142a61ae
feat: allow waybar to be positioned on left/right
2019-03-22 12:25:05 +01:00
hoellen
1f924c9c06
Merge branch 'master' into feat-rtsignal
2019-03-18 19:04:11 +01:00
hoellen
38fa7ceab1
add signalhandler for module update
2019-03-18 18:46:44 +01:00
Alex
22cddc5e26
refactor(workspaces): scroll output aware
2019-03-18 14:44:07 +01:00
Alex
1ccf372f8e
refactor(network): fix skipped messages
2019-03-18 11:07:36 +01:00
Alex
6fc06fe9db
Merge branch 'master' into pulseaudio-ci-icon-lookup
2019-03-15 09:41:40 +01:00
Aleksei Bavshin
9ad80849b1
fix(pulseaudio): Avoid allocation of string vector on every call of getPortIcon()
2019-03-14 18:35:16 -07:00
Aleksei Bavshin
492d151079
fix(pulseaudio) use case-insensitive comparison for icon lookup
2019-03-14 18:08:12 -07:00
Aleksei Bavshin
00176c9514
fix(sway): ipc client crash when compiled with -D_GLIBCXX_ASSERTIONS
...
reserve() does not change string size and any access beyond data() + size() is UB
2019-03-14 17:53:45 -07:00
Alex
6d2dcd8ac7
fix(temperature): default thermal zone
2019-03-14 14:01:10 +01:00
Groggy
7ae549dc9e
Add temperature module
2019-03-13 13:35:43 +01:00
Alex
2995da845d
fix: config per output
2019-03-10 10:34:56 +01:00
Alex
973cec1713
feat(idle): add status class
2019-03-10 10:29:06 +01:00
Alex
94d7b083c5
fix(Pulseaudio): switch case
2019-03-08 15:30:41 +01:00
Alex
ef88f0a223
fix: clock rounding
2019-03-07 12:34:21 +01:00
Alex
1974766125
Merge branch 'master' into master
2019-03-05 10:15:05 +01:00
Jonas
9c0c0d262e
Using "inclusive or" for format-alt-click and other click events
...
c.f. https://github.com/Alexays/Waybar/pull/204#discussion_r262009635
Co-Authored-By: Organic-Code <Lazarelucas@yahoo.fr>
2019-03-04 15:00:44 -05:00
Alex
67c756b28e
Merge branch 'master' into idle_inhibitor_bugfix
2019-03-04 11:19:14 +01:00
Jonas
80ef63791d
[bugfix] idle_inhibitor handles click events correctly
...
- Declare event handler in ALabel virtual so the idle_inhibitor can
overriding them
- Handle the right click event in idle_inhibitor and call ALabel handler if needed
2019-03-03 22:02:34 +01:00
Jonas
a9f680b06e
Add custom tooltip format for network module
2019-03-03 21:35:35 +01:00
John Doe
737da3615f
resolves #205
2019-03-03 21:35:32 +11:00
Lucas Lazare
d0f56b7bdd
Improving mouse buttons support
...
Adding support for middle, backward, and forward mouse buttons click events, adds config keys : "on-click-middle", "on-click-forward" and "on-click-backward"
Adding the key "format-alt-click" to choose what mouse clicks toggles the alternative format, when present. Possible values (in config): "click-right", "click-left", "click-middle", "click-forward", "click-backward". Other values have the same effect than "click-left". Previous behaviour was to toggle it whenever any click was registered and any click that was not handled by "on-click-right" or "on-click-left" occurred
2019-03-02 14:07:12 -05:00
Alex
79b0367e6c
feat(custom): escape option
2019-03-01 17:03:01 +01:00
Ian Hattendorf
39de8e544c
Disable backlight module if no backlight found
2019-02-28 19:50:57 -07:00
Alex
0271e9bc1a
Revert "fix: Escape user controlled input"
...
This reverts commit 7247360e29
.
2019-02-28 19:30:27 +01:00
Alex
6633e34bbd
Merge branch 'master' into custom_alt
2019-02-26 12:18:34 +01:00
Ian Hattendorf
c1295c8fd6
Fix crash when monitor unplugged
...
`Backlight#devices_` was being destructed before
`Backlight#udev_thread_`. Also check if thread is still running after
`epoll_wait`
2019-02-25 20:05:44 -07:00
Robinhuett
39bf403505
feat(custom): Add field for additional data to json
2019-02-25 22:04:09 +01:00
Robinhuett
7247360e29
fix: Escape user controlled input
2019-02-25 18:28:56 +01:00
Robinhuett
63e97df9ff
fix(backlight) Allow format-alt
2019-02-24 22:15:41 +01:00
Piet van der Loo
7245fb5d0a
Added clock tooltip with optional alternate format
2019-02-24 09:25:34 +01:00
Jonas
c2ed0cb832
Add the possibility to disable the tooltip
2019-02-22 16:58:36 +01:00
Jonas
d708ce2be9
Add idle inhibitor module
2019-02-22 16:55:46 +01:00
Alex
83a6475510
feat: can disable tooltip
2019-02-22 11:35:47 +01:00
Alex
afbf2de1b9
Merge branch 'master' into feature/module-brightness
2019-02-21 15:29:17 +01:00
Ian Hattendorf
e67347f6ad
Gate backlight module behind libudev availability
2019-02-18 21:11:18 -07:00
Alex
8bfcb106c0
style: comment about workspace hover effect
2019-02-18 12:30:41 +01:00
Ian Hattendorf
875306804c
Add backlight module
...
Monitor the backlight level via udev. Poll every `interval` as well,
in case backlight udev events aren't supported.
2019-02-17 15:29:49 -07:00
Alex
6bf4f65228
fix: two finger scroll
2019-02-16 09:56:53 +01:00
Alex
0c9edb0c4b
fix(custom): check exist_status in endless script before clean the output
2019-02-16 09:48:27 +01:00
Alex
3e18673451
fix: remove bluetooth class on else
2019-02-12 17:55:50 +01:00
Alex
d0370acb21
refactor(network): better network disconnection
2019-02-11 19:06:39 +01:00
Alex
aeec80f375
fix(Tray): big icon
2019-02-07 13:34:30 +01:00
Alex
dc9fe04d11
refactor: add retry to get external interface
2019-02-06 10:33:12 +01:00
Alex
01cec9fcb7
fix(bar): multi screens
2019-02-04 22:09:01 +01:00
Alex
93173851d3
fix(Workspaces): index
2019-02-02 12:07:59 +01:00
Alex
add9e925f4
fix(Workspaces): button order
2019-02-02 00:36:52 +01:00
Alex
0ddcf26a45
feat: output configuration
2019-02-01 21:45:59 +01:00
Alex
38fc62ea27
feat: bar id
2019-01-28 19:26:16 +01:00
Robinhuett
6d03d9f6a9
fix(window): Fix #154
2019-01-27 11:59:07 +01:00
Robinhuett
ce6816737c
fix(window): Ignore waybar
...
With this, the window title waybar will be ignored so it wont flicker as decribed in #148
2019-01-26 19:02:11 +01:00
Alexis
eace8c549f
fix(Network): format-alt
2019-01-13 22:36:37 +01:00
Alexis
f8116132a7
fix(Workspaces): check thread is running before parse response
2019-01-13 22:23:09 +01:00
Alexis
171e0e5ae3
revert: don't disable seq check
2019-01-13 22:22:22 +01:00
Alexis
30781757e3
revert: prefer nl_send_sync
2019-01-13 22:22:22 +01:00
Alexis
800d2f388e
refactor(network): proper signal strength type
2019-01-13 22:22:22 +01:00
Alexis
1647e31b48
refactor: free netlink message
2019-01-13 22:22:22 +01:00
Alexis
399f61df98
refactor: proper modules destruction
2019-01-13 22:22:22 +01:00
Caleb Bassi
8ea0659ee2
Remove ws index from sway ws names
2018-12-28 09:36:02 -08:00
Caleb Bassi
b4d38294a7
Fix typo
2018-12-27 16:03:29 -08:00
Robinhuett
4698c9d2cf
chore(custom): Change int conversion
2018-12-26 11:35:58 +01:00
Robinhuett
11c98f13e3
feat(custom): Add format-icons to custom module
...
This commit allows custom modules (json only) to set a percentage. This can be displayed either by using {percentage} or by using {icon} with format-icons set.
2018-12-26 03:52:05 +01:00
Robinhuett
34df2b0695
fix(ALabel): Better fix for getIcon
2018-12-25 21:03:13 +01:00
Robinhuett
ad638357b5
feat(network): Use Signal Strength for format-icons
2018-12-25 14:17:34 +01:00
Robinhuett
7404f80122
fix(ALabel): getIcon
2018-12-25 14:15:59 +01:00
Alexis
de0ee9fcb2
fix(battery): adapter status
2018-12-24 12:17:07 +01:00
Alexis
755fad6bc3
fix(battery): typo
2018-12-24 08:50:58 +01:00
Alexis
87e55ea993
feat(battery): check adapter online as fallback when battery status report unknown
2018-12-24 08:37:10 +01:00
Alexis
3b8bfb08a4
fix(network): typo
2018-12-22 14:00:56 +01:00
Cédric Chépied
a4062455cd
fix(pulseaudio): return puleseaudio port string if unknown
2018-12-20 09:54:10 +01:00
Alexis
b554094c7e
feat: args && class id
2018-12-18 17:30:54 +01:00
Alexis
66ad2864c2
fix(Pulseaudio): use markup
2018-12-17 09:00:40 +01:00
Alexis
c7b0639f32
fix(workspaces): check thread is running
2018-12-09 10:49:28 +01:00
Alexis
0acc50264e
fix(custom): failed getline after closed pipe
2018-12-08 13:57:56 +01:00
Alexis
1b13f9e38c
fix(custom): close endless scripts
2018-12-08 12:58:47 +01:00
Alexis
7befd27059
fix: clock interval
2018-12-04 09:38:08 +01:00
Alexis
2ec34e4adb
feat: add $HOME to valid path
2018-12-03 20:12:34 +01:00
Alexis
812a7a9861
fix: typo
2018-12-03 11:13:56 +01:00
Alexis
1d96d57b75
feat: warn user about stopped endless custom module
2018-12-03 09:35:10 +01:00
Alexis
691fb88057
refactor(modules): const bar
2018-12-01 00:10:41 +01:00
Alexis
8e93fd3ae0
revert: Update to new Sway IPC protocol
2018-11-29 09:50:00 +01:00
Ryan Walklin
3a5a470d90
Update to new Sway IPC protocol
2018-11-28 22:27:06 +00:00
Alexis
a123711a8d
fix(network): disconnected forced interface
2018-11-25 21:32:50 +01:00
Alexis
391a7de94a
fix(window): escape window name
2018-11-25 15:21:00 +01:00
David96
2aed121903
Allow custom plugins that don't execute anything
2018-11-24 17:24:02 +01:00
Alexis
08bfdda4cb
revert(network): wait interface
2018-11-24 16:01:22 +01:00
Alexis
8f8ec3b999
feat(Label): on-click-right
2018-11-24 15:56:16 +01:00
Alexis
a17220054d
feat(client): pefix module name on update error
2018-11-24 11:20:03 +01:00
Alexis
4cc48b3cfd
fix(client): catch error on update
2018-11-24 11:13:52 +01:00
Alexis
087de4e956
refactor(client): lambda to method
2018-11-24 11:04:56 +01:00
Alexis
2c2a0473f4
feat(client): throw when we don't have required resources files
2018-11-23 19:31:40 +01:00
Alexis
2e1f8b2fc5
fix(network): check len of netlinkResponse
2018-11-23 17:52:10 +01:00
Alexis
686bc4828e
refactor(network): only get info when there is an interface
2018-11-23 17:46:14 +01:00
Alexis
f6c2a8d9b7
fix(network): free the message instead of the socket
2018-11-23 17:42:26 +01:00
Alexis
baa7f52e21
refactor(network): wait for new address
2018-11-23 16:04:29 +01:00
Alexis
2b05b8e69a
chore: v0.2.2
2018-11-23 12:03:23 +01:00
Alexis
ad7400d5ce
refactor(ALabel): add interval
2018-11-23 11:57:37 +01:00
Alexis
36652158ad
refactor(tray): more cpp binding
2018-11-23 10:46:58 +01:00
Alexis
8db94f7efd
revert(ALabel): ref on format
2018-11-22 16:50:42 +01:00
Alexis
0b1b0eb1a7
feat(tray): multiple hosts
2018-11-22 16:20:49 +01:00
Alexis
ba79b4d397
refactor(tray): cleanup and fixes
2018-11-22 15:47:23 +01:00
Alexis
bd62c4cbc5
feat(Label): use set_markup
2018-11-21 20:49:09 +01:00
Alexis
b3559328f1
fix(window): ellipsize
2018-11-20 23:24:33 +01:00
Alexis
69fceb1c92
fix(tray): sigsev on click when multiple icons is available
2018-11-16 12:01:03 +01:00
Alexis
e42fae32ab
feat(network): network info interval
2018-11-16 10:02:12 +01:00
Alexis
c910767378
refactor: remove usless using
2018-11-15 14:48:49 +01:00
Alexis
94b9f0a399
feat(cpu): add both usage and load
2018-11-15 14:44:43 +01:00
Alexis
1665003d23
fix: sigsev
2018-11-14 19:14:51 +01:00
Robinhuett
75cc1bc318
refactor(network): codestyle and error handling
2018-11-14 10:31:17 +01:00
Robinhuett
5c66b1a770
feat(network): display ip address and subnetmask
2018-11-13 21:31:26 +01:00
Robinhuett
e1d98f0ad9
fix(cpu): show correct load
...
feat(cpu): show cores in tooltip
2018-11-11 03:11:32 +01:00
Alexis
7222668326
refactor: disable battery timer stop on inotify event for now
2018-11-09 23:02:46 +01:00
Alex
315e2defde
Merge pull request #93 from Robinhuett/pulseaudio_scroll
...
Add config option for volume change scroll step size
2018-11-09 22:55:51 +01:00
Alexis
45bb8b1a1f
refactor: simpler memory code
2018-11-09 22:55:25 +01:00
Robinhuett
e21df5ae36
Add config option for volume change scroll step size
2018-11-09 22:48:27 +01:00
Robinhuett
9ea0815dea
Use ifstream to reaad /proc/meminfo
2018-11-09 16:24:13 +01:00
Robinhuett
6b62079d8a
rewind stream instead of opening a new one
2018-11-09 00:17:30 +01:00
Robinhuett
ac0963c608
Use /proc/meminfo for Memory module
2018-11-08 21:09:56 +01:00
David96
adcd956c24
Fix workspaces not being removed from bar when moved to another output
2018-11-05 20:59:28 +01:00
David96
168415440f
Fix clicking and scrolling through workspaces
...
The way waybar used the workspace "num", clicking a workspace called "1:
something" resulted in going to a newly created workspace called "1",
because the workspace ipc command expects the workspace name, not its number.
2018-11-05 20:16:19 +01:00
Victor Berger
2f6abfda59
Don't call layer_surface.set_size on configure
2018-11-03 13:16:13 +01:00
Alex
5ece0d98ee
Merge pull request #78 from mithodin/filesystem-experimental
...
add option for when filesystem still lives in the experimental namespace
2018-11-03 13:00:04 +01:00
Lucas L. Treffenstädt
25f31b19f6
formatting is hard.
2018-11-02 22:50:01 +01:00
Lucas L. Treffenstädt
123ce083b4
fix typo and initialize old_status_
2018-11-02 22:08:55 +01:00
Lucas L. Treffenstädt
0522577fe5
make status and state fully configurable formats
2018-11-02 22:04:43 +01:00
Lucas L. Treffenstädt
b6cad05489
fix formatting
2018-11-02 21:13:57 +01:00
Lucas L. Treffenstädt
236be90c2f
add option for when filesystem still lives in the experimental namespace
2018-11-02 20:59:41 +01:00
Lucas L. Treffenstädt
9c57df505c
Add class for full battery and give option to interpret unknown as full
2018-11-02 19:41:00 +01:00
Alexis
7bca5fd6bd
feat(Bar): add a warning about minimum height
2018-11-02 12:35:26 +01:00
Alex
61e9f0803d
Merge pull request #75 from ForTheReallys/proper_height
...
Fix #54
2018-11-02 12:26:14 +01:00
Alexis
9b201c77d7
feat: battery states && format-full/charging
2018-11-02 11:23:29 +01:00
Alex Maese
4b68840212
Fix #54
2018-11-01 16:00:38 -05:00
Alexis
9d4048983d
refactor: remove useless tmp variable
2018-11-01 09:27:00 +01:00
Robinhuett
e23fbd0add
Added return-type json to custom module
2018-11-01 00:40:44 +01:00
Robinhuett
341d3300fa
Custom modules can control tooltip and CSS class
2018-10-30 21:28:31 +01:00
Alex
c3e185546d
Merge pull request #68 from harishkrupo/master
...
Add configuration options for widgets on mouse events
2018-10-30 16:32:37 +01:00
Harish Krupo
3e34137ac7
pulseaudio: Change volume on scroll event
...
Subscribe for mouse scroll events on the pulseaudio widget
and change volume when event is received.
Scroll up increments the volume and scroll down decrements it.
These events are only subscibed when there are no user defined
commands present for them.
Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
2018-10-30 20:53:43 +05:30
Robinhuett
4c8621c7a5
Added second warning stage to battery module
...
Also naming is a bit more consistent
2018-10-30 16:23:36 +01:00
Harish Krupo
d7d1ebd736
ALabel: Add support for configurable mouse events
...
This patch adds 3 new configuration options applicable for
subclasses of ALabel. The options can be used to execute
user defined code in response to the 3 mouse events:
* on-click: The left mouse button click
* on-scroll-up
* on-scroll-down
This patch also modifies the behaviour of the format-alt toggle
such that when the on-click event is configured, format-alt is
toggled on any mouse click other than left click. When on-click
is not defined, any mouse button would toggle format-alt.
Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
2018-10-30 20:52:23 +05:30
Robinhuett
a042eea384
Add module to show sway binding mode
2018-10-30 13:39:30 +01:00
Alexis
c9a8a07976
fix(window): title on new workspace
2018-10-29 21:52:53 +01:00
Alexis
daf613f8ca
feat: add debug about tray beta
2018-10-28 08:43:48 +01:00
Alexis
ed3e4b1395
fix(pulseaudio): check active_port is set
2018-10-27 11:23:43 +02:00
Alexis
a55a1ae866
fix(tray): icons size
2018-10-26 14:53:39 +02:00
Alexis
07d8dfb3d6
feat(tray): spacing config
2018-10-26 12:08:50 +02:00
Alexis
5010227e6b
fix(tray): icons
2018-10-26 11:59:03 +02:00
Alexis
adc38c3dfe
feat(sni): set protocol version
2018-10-26 10:56:45 +02:00
Alexis
b10907ee44
refactor: remove useless code
2018-10-26 10:39:25 +02:00
Alexis
0c9699b076
fix: check before set is host registered
2018-10-26 10:27:15 +02:00
Alexis
63e86fbe9e
fix: check type
2018-10-26 10:12:34 +02:00
Alexis
f20441fa92
refactor: simpler sni naming
2018-10-26 10:05:54 +02:00
Alexis
3f269ff463
fix: check json::value type
2018-10-26 09:27:16 +02:00
Alexis
9fae5efc06
feat: use interval thread until got inotify event
2018-10-25 17:39:15 +02:00
Alexis
7f1f217d84
feat: multiple config per modules
2018-10-25 17:30:26 +02:00
Alexis
4626cbef63
fix(pulseaudio): round volume
2018-10-25 13:57:35 +02:00
Alexis
85f845ca43
refactor: remove debug
2018-10-25 13:49:30 +02:00
Alexis
68d9d2c347
fix: ifdef
2018-10-25 12:24:39 +02:00
Alexis
d4b97d5d09
feat: optional tray
2018-10-25 11:47:03 +02:00
Alex
0e6147b644
Merge branch 'master' into tray-gdbus
2018-10-25 11:36:35 +02:00
Alexis
45847847b9
style: disallow resize
2018-10-25 10:43:37 +02:00
Alexis
c912d8c86a
fix(workspaces): index
2018-10-25 10:22:11 +02:00
dangerousdan
137c5fb712
fix custom intervals causing cpu to go mental
2018-10-23 00:06:46 +01:00
Alexis
5a6e05dcde
feat: workspaces index
2018-10-22 10:41:52 +02:00
Tobias Pisani
a13ce6e227
Merge branch 'tray-gdbus' into tray-gdbus
2018-10-05 21:20:36 +02:00
Alexis
091b460d03
feat(Tray): handle click
2018-10-04 18:53:50 +02:00
Alexis
56e55fa4aa
fix: remove TODO
2018-10-04 18:53:50 +02:00
Alexis
dc799adf45
feat(Tray): icon pixmap
2018-10-04 18:53:50 +02:00
Alexis
75c9477aa8
feat(Tray): handle item unregister
2018-10-04 18:53:50 +02:00
Alexis
75cf1d70fd
feat(WIP): tray
...
feat(wip): tray
feat(wip): tray
feat(WIP): gdbus
feat(WIP): tray
2018-10-04 18:53:50 +02:00
topisani
9a333088e5
Merge branch 'tray-gdbus' of github.com:topisani/Waybar into tray-gdbus
2018-10-04 18:47:06 +02:00
topisani
b231054b69
Merge remote-tracking branch 'origin/master' into tray-gdbus
2018-10-04 18:04:36 +02:00
topisani
108b1092e5
WIP sni dbus-menu support.
2018-10-04 18:03:01 +02:00
Alexis
0e8b3f71b8
fix(Custom): pclose if continuous script end
2018-09-18 23:21:08 +02:00
Alexis
00959c7d65
feat(Custom): handle continuous script
2018-09-18 23:15:37 +02:00
Alexis
d5d620e72d
feat(Window): handle closed window
2018-09-18 21:16:35 +02:00
Alexis
d914429194
feat(Workspaces): format
2018-09-18 20:58:11 +02:00
Alexis
fcdb8387af
feat(Tray): handle click
2018-09-17 23:32:05 +02:00
Alexis
3e2e1a7018
fix: remove TODO
2018-09-15 19:01:28 +02:00
Alexis
86958f264e
feat(Tray): icon pixmap
2018-09-15 19:01:28 +02:00
Alexis
20ff2cab9e
feat(Tray): handle item unregister
2018-09-15 19:01:28 +02:00
Alexis
fc6e42d748
feat(WIP): tray
...
feat(wip): tray
feat(wip): tray
feat(WIP): gdbus
feat(WIP): tray
2018-09-15 19:00:45 +02:00
Alexis
55e1905284
fix(Sway): compile without sway
2018-09-10 11:25:53 +02:00
Alexis
0abaaf2f7f
style: fix
2018-09-10 11:16:57 +02:00
Alexis
de5df09fcd
fix(Custom): loop script block main loop
2018-09-05 19:20:19 +02:00
Alexis
7020af7653
feat(Workspaces): urgent, visible, focused icons
2018-09-05 00:16:56 +02:00
Alexis
0eee8eade7
feat(WIP): tray
...
feat(wip): tray
feat(wip): tray
feat(WIP): gdbus
feat(WIP): tray
2018-09-02 17:29:16 +02:00
Alexis
6dd9b5ccc4
feat(Pulseadio): port icons
2018-08-29 23:50:41 +02:00
Alexis
d0933ab50f
fix(thread): check before detach
2018-08-29 21:07:58 +02:00
Alexis
9a1b8bb831
fix(Custom): only set id when getting an output
2018-08-28 11:10:36 +02:00
Alexis
53956d9d18
feat(ALabel): Toggleable labels
2018-08-27 01:36:25 +02:00
Alexis
c8ca8b3725
fix(Custom): hide label when exec-if failed
2018-08-26 21:41:34 +02:00
Alexis
0ad2bc7516
refactor(Network): clean nl socket
2018-08-24 15:32:06 +02:00
Alexis
0dba3abc1d
fix(custom): do not take the custom module ref
2018-08-21 10:50:09 +02:00
Alexis
8be67d5008
chore: optional deps
2018-08-20 17:20:02 +02:00
Alex
49232eed8d
Clean ( #31 )
2018-08-20 14:50:45 +02:00
Alexis
b7e3d10fb7
revert(workspaces): ipc command out of update func
2018-08-20 00:19:27 +02:00
Alexis
8ce33e0c64
fix(window): pick only con title
2018-08-19 20:37:33 +02:00
Alexis
52a4e761a8
fix(workspaces): avoid useless mutex lock
2018-08-19 13:43:00 +02:00
Alex
6705134034
Handle screens disconnection ( #29 )
2018-08-19 13:39:57 +02:00
Alexis
ce50a627be
refactor: move command execution into their own file
2018-08-18 17:54:20 +02:00
Alexis
b794ca63d1
feat(custom): exec-if
2018-08-18 17:27:40 +02:00
Alexis
38ede5b3d5
refactor(ipc): clean
2018-08-18 16:01:56 +02:00
Alexis
27dfffa4e3
refactor: style issue
2018-08-18 15:05:18 +02:00
Alexis
b1fd4d7b82
feat(modules): generic label module to allow max-length on all labels
2018-08-18 11:43:48 +02:00
Alexis
c128562284
feat(bar): clean exit
2018-08-17 20:28:26 +02:00
Alex
d280f5e8bd
Network detect ( #26 )
2018-08-17 14:24:00 +02:00
Alexis
0603b99714
fix(bar): proper center modules
2018-08-16 18:11:16 +02:00
Alexis
0371271465
fix(custom): hide first
2018-08-16 17:59:45 +02:00
Alexis
8768183f3d
fea(workspaces): add disable-scroll config
2018-08-16 17:12:45 +02:00
Alexis
e4f35d7ca0
fea(custom): add max-length config
2018-08-16 17:09:51 +02:00
Alexis
57f3a01a5b
refactor: remove assert
2018-08-16 15:41:09 +02:00
Alex
6635548d3e
Style code ( #25 )
2018-08-16 14:29:41 +02:00
Alexis
3fdc50163d
feat(window): update when window title change
2018-08-16 00:02:57 +02:00
Alexis
a9246a09eb
feat(workspaces): add a option to show all workspaces from all outputs
2018-08-15 22:19:17 +02:00
Alexis
008856cbb8
feat(clock): allow choose interval
2018-08-15 21:00:04 +02:00
Alexis
608b791ac1
refactor(clock): use fmt::localtime
2018-08-15 20:53:27 +02:00
Alexis
f94598c138
feat(sway): add focused window name
2018-08-15 20:17:17 +02:00
Alexis
9b75302d22
refactor(client): cleanup
2018-08-15 17:31:45 +02:00
Alexis
be66cc2dd1
feat(workspaces): add urgent, visible class
2018-08-15 15:03:51 +02:00
Alexis
52e7b6148b
feat(workspaces): add class to button when label is a icon
2018-08-15 14:58:55 +02:00
Alexis
e3e099f836
feat(workspaces): icons
2018-08-15 14:48:08 +02:00
Alexis
767d9dd5b4
fix(workspaces): buttons iterator
2018-08-15 14:30:01 +02:00
Alexis
d1d51b76aa
fix(client): try to fix #20
2018-08-15 01:53:43 +02:00
Alex
cee031d2fa
Workspaces scroll event ( #19 )
2018-08-14 11:26:06 +02:00
Alexis
18c7ad0026
fix(workspaces): lock mutex inside click callback
2018-08-13 23:43:35 +02:00
Alexis
1555cb71e1
feat(pulseaudio): volume icons
2018-08-13 22:33:07 +02:00
Alexis
ea9a08d473
refactor(workspaces): listen ipc event
2018-08-13 21:23:43 +02:00
Alexis
68f9ea3065
fix(battery): add check for sys files
2018-08-13 17:11:47 +02:00
Alex
a423f7032d
Battery event ( #18 )
2018-08-13 14:05:13 +02:00
Alexis
01894f18cd
chore: clean headers
2018-08-12 20:25:19 +02:00
Alexis
b381e2a596
feat(battery): capacity icons
2018-08-11 13:15:31 +02:00
Alexis
67fa8bd4c3
style(battery): animates background when battery is in a critical state
2018-08-11 13:03:35 +02:00
Alexis
6ff296a4b0
refactor(bar): prefer standard unique_ptr
2018-08-11 12:49:28 +02:00
Alexis
8d5b61a9fd
refactor(bar): default width is 0
2018-08-11 10:25:21 +02:00
Alexis
3c66f4baa7
feat(config): can force width
2018-08-11 09:59:35 +02:00
Alexis
04183dc696
refactor(modules): prefer sigc::mem_fun
2018-08-11 02:40:13 +02:00
Alexis
14053d61fc
feat(workspace): catch ipc errors
2018-08-11 02:09:39 +02:00
Alexis
424ebb3c9b
feat(workspace): only show workspaces which are on same output as bar
2018-08-11 00:32:59 +02:00
Alexis
2512d51564
fix(gtk): use idle to avoid mutex
2018-08-10 23:21:21 +02:00
Alexis
c792871f6e
feat(bar): choose height from config file
2018-08-10 18:46:31 +02:00
Alexis
8b0cdc5f4b
feat(bar): choose between layers used
2018-08-10 18:30:13 +02:00
Alexis
7d05f6c612
fix(bar): now use bottom layer
2018-08-10 18:25:07 +02:00
Alexis
679aafa9e8
refactor(pulseaudio): remove signal init
2018-08-10 18:16:11 +02:00
Alexis
9b2c551f2e
fix(battery): typo
2018-08-10 18:04:48 +02:00