File bumblebee-status.spec of Package bumblebee-status

#
# spec file for package bumblebee-status
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define pythons python3
Name:           bumblebee-status
Version:        2.1.5
Release:        0
Summary:        Modular, theme-able status line generator for the i3 window manager
License:        MIT
Group:          System/Monitoring
URL:            https://github.com/tobi-wan-kenobi/bumblebee-status
Source0:        https://github.com/tobi-wan-kenobi/bumblebee-status/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch1:         use-python-3.patch
Patch2:         import_fix.patch
BuildRequires:  %{python_module Babel}
BuildRequires:  %{python_module Pillow-tk}
BuildRequires:  %{python_module dbus-python}
BuildRequires:  %{python_module docker}
BuildRequires:  %{python_module feedparser}
BuildRequires:  %{python_module freezegun}
BuildRequires:  %{python_module i3ipc}
BuildRequires:  %{python_module libvirt-python}
BuildRequires:  %{python_module netifaces}
BuildRequires:  %{python_module power}
BuildRequires:  %{python_module psutil}
BuildRequires:  %{python_module pygit2}
BuildRequires:  %{python_module pytest-mock}
BuildRequires:  %{python_module pytest}
BuildRequires:  %{python_module python-dateutil}
BuildRequires:  %{python_module python-yubico}
BuildRequires:  %{python_module pytz}
BuildRequires:  %{python_module pyusb}
BuildRequires:  %{python_module requests}
BuildRequires:  %{python_module simplejson}
BuildRequires:  %{python_module suntime}
BuildRequires:  %{python_module taskw}
BuildRequires:  %{python_module tzlocal}
BuildRequires:  %{python_module xkbgroup}
BuildRequires:  NetworkManager
BuildRequires:  alsa-utils
BuildRequires:  gcc
BuildRequires:  iputils
BuildRequires:  libnotify-tools
BuildRequires:  libX11-devel
BuildRequires:  password-store
BuildRequires:  pavucontrol
BuildRequires:  playerctl
BuildRequires:  progress
BuildRequires:  psmisc
BuildRequires:  pulseaudio-utils
BuildRequires:  python-rpm-macros
BuildRequires:  sensors
BuildRequires:  setxkbmap
BuildRequires:  smartmontools
BuildRequires:  speedtest-cli
BuildRequires:  sudo
BuildRequires:  wireless-tools
BuildRequires:  xdg-utils
BuildRequires:  xdotool
BuildRequires:  xprop
BuildRequires:  xrandr
BuildRequires:  xset
BuildRequires:  pkgconfig(systemd)
# bluetooth, bluetooth2, deezer, spotify, etc use dbus-send
Requires:       dbus-1
# In earlier i3 versions, blocks won't have background colors
Requires:       i3 >= 4.12
# psmisc provides killall, etc used by many modules
Requires:       psmisc
Requires:       python3 >= 3.4
Requires:       python3-dbus-python
Requires:       python3-netifaces
Requires:       python3-power
Requires:       python3-psutil
Requires:       python3-pytz
Requires:       python3-requests
Requires:       python3-tzlocal
Requires:       sudo
# xdg-utils provides xdg-open, used by several modules,
# and provides xdg-screensaver used by caffeine
Requires:       xdg-utils
# gnome-system-monitor is a click action for core cpu, load and memory modules
Recommends:     gnome-system-monitor
# iputils required by module ping
Recommends:     iputils
# wireless-tools provides iwgetid, used by core module nic
Recommends:     wireless-tools
Recommends:     bumblebee-status-module-caffeine = %{version}
Recommends:     bumblebee-status-module-indicator = %{version}
Recommends:     bumblebee-status-module-layout = %{version}
Recommends:     bumblebee-status-module-layout-xkb = %{version}
Recommends:     bumblebee-status-module-playerctl = %{version}
Recommends:     bumblebee-status-module-pulseaudio = %{version}
Recommends:     bumblebee-status-module-rss = %{version}
Recommends:     bumblebee-status-module-sensors = %{version}
Recommends:     bumblebee-status-module-sun = %{version}
Recommends:     bumblebee-status-module-title = %{version}
Recommends:     bumblebee-status-module-xrandr = %{version}
Recommends:     bumblebee-status-theme-powerline = %{version}
Suggests:       bumblebee-status-module-alsa = %{version}
Suggests:       bumblebee-status-module-arandr = %{version}
Suggests:       bumblebee-status-module-brightness = %{version}
Suggests:       bumblebee-status-module-cmus = %{version}
Suggests:       bumblebee-status-module-deadbeef = %{version}
Suggests:       bumblebee-status-module-deezer = %{version}
Suggests:       bumblebee-status-module-docker-ps = %{version}
Suggests:       bumblebee-status-module-dunst = %{version}
Suggests:       bumblebee-status-module-git = %{version}
Suggests:       bumblebee-status-module-layout-xkbswitch = %{version}
Suggests:       bumblebee-status-module-libvirt = %{version}
Suggests:       bumblebee-status-module-mocp = %{version}
Suggests:       bumblebee-status-module-mpd = %{version}
Suggests:       bumblebee-status-module-notmuch = %{version}
Suggests:       bumblebee-status-module-nvidia-prime = %{version}
Suggests:       bumblebee-status-module-octoprint = %{version}
Suggests:       bumblebee-status-module-progress = %{version}
Suggests:       bumblebee-status-module-redshift = %{version}
Suggests:       bumblebee-status-module-smartstatus = %{version}
Suggests:       bumblebee-status-module-speedtest = %{version}
Suggests:       bumblebee-status-module-spotify = %{version}
Suggests:       bumblebee-status-module-taskwarrior = %{version}
Suggests:       bumblebee-status-module-vault = %{version}
Suggests:       bumblebee-status-module-vpn = %{version}
Suggests:       bumblebee-status-module-watson = %{version}
Suggests:       bumblebee-status-module-yubikey = %{version}
# SECTION missing dependencies
#Suggests:       bumblebee-status-module-nvidia = %{version}
#Suggests:       bumblebee-status-module-pihole = %{version}
#Suggests:       bumblebee-status-module-twmn = %{version}
#Suggests:       bumblebee-status-module-zfs = %{version}
# /SECTION
# deadbeef is not being built for i586, because libdispatch isnt built for i586
ExcludeArch:    %ix86

%description
bumblebee-status is a modular, themeable status line generator for the i3 window manager.
It supports theming and does not require any configuration files.

You can use the mouse wheel up/down to switch workspaces forward and back everywhere throughout the bar.

%package theme-powerline
Summary:        Bumblebee themes using awesome and powerline fonts
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       fontawesome-fonts
Requires:       powerline-fonts
Supplements:    (%{name} and powerline)
BuildArch:      noarch

%description theme-powerline
Bumbebee themes using awesome-fonts and powerline-fonts.

%package module-alsa
Summary:        Control the alsa volume
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       alsa-utils
Supplements:    (%{name} and alsa-utils)
BuildArch:      noarch

%description module-alsa
Get volume level or control it.

%package module-arandr
Summary:        Enables handy interaction with arandr for display management
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       arandr
Supplements:    (%{name} and arandr)
BuildArch:      noarch

%description module-arandr
Enables handy interaction with arandr for display management.

%package module-brightness
Summary:        Displays the brightness of a display
Group:          System/Monitoring
Requires:       %{name} = %{version}
Recommends:     brightnessctl
Recommends:     light
Recommends:     xbacklight
Supplements:    (%{name} and xprop)
BuildArch:      noarch

%description module-brightness
Displays the brightness of a display.

%package module-caffeine
Summary:        Widget for automatic screen locking
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       libnotify-tools
Requires:       xdotool
Requires:       xprop
Supplements:    (%{name} and xdg-utils and xprop)
BuildArch:      noarch

%description module-caffeine
Enable/disable automatic screen locking.

%package module-cmus
Summary:        Widget to show information about the current song in cmus
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       cmus
Supplements:    (%{name} and cmus)
BuildArch:      noarch

%description module-cmus
Displays information about the current song in cmus via cmus-remote.

It takes a parameter (cmus.format) which customizes how the song
is displayed. Tag values can be put in curly brackets, (i.e., {artist}).

%package module-deadbeef
Summary:        Widget for deadbeef
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       deadbeef
Supplements:    (%{name} and deadbeef)

%description module-deadbeef
Displays the current song being played in DeaDBeeF and provides
some media control bindings.

%package module-deezer
Summary:        Widget for deezer
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-dbus-python
BuildArch:      noarch

%description module-deezer
Displays the current song being played in deezer and provides
some media control bindings.

%package module-dnf
Summary:        Widget to display DNF package update information
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       dnf
Supplements:    (%{name} and dnf)
BuildArch:      noarch

%description module-dnf
Displays DNF package update information (<security>/<bugfixes>/<enhancements>/<other>)
via dnf.

It takes a parameter (dnf.interval) which controls the time in seconds
between two consecutive update checks (default = 30 minutes)

%package module-docker-ps
Summary:        Widget for docker containers running
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-docker
Supplements:    (%{name} and docker)
BuildArch:      noarch

%description module-docker-ps
Displays the number of docker containers running.

%package module-dunst
Summary:        Widget to toggle dunst notifications
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       dunst >= 1.5.0
Supplements:    (%{name} and dunst)
BuildArch:      noarch

%description module-dunst
Widget to toggle dunst notifications.

%package module-git
Summary:        Widget to show git information
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-pygit2
Requires:       xcwd
Supplements:    (%{name} and git-core)
BuildArch:      noarch

%description module-git
Displays information about the git repository.

%package module-indicator
Summary:        Widget to show status for numlock, scrolllock and capslock
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       xset
Supplements:    (%{name} and xset)
BuildArch:      noarch

%description module-indicator
Displays the indicator status for numlock, scrolllock and capslock.

%package module-layout
Summary:        Displays and changes the current keyboard layout
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       setxkbmap
BuildArch:      noarch

%description module-layout
Displays and changes the current keyboard layout.

%package module-layout-xkb
Summary:        Widget to show xkb layout
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-xkbgroup
BuildArch:      noarch

%description module-layout-xkb
Widget for displaying information about the xkb layout.

%package module-layout-xkbswitch
Summary:        Widget to show and switch keyboard layout
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       xkb-switch
BuildArch:      noarch

%description module-layout-xkbswitch
Widget to show and switch keyboard layout.

%package module-libvirt
Summary:        Displays count of running libvirt VMs
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-libvirt-python
Requires:       virt-manager
Supplements:    (%{name} and virt-manager)
BuildArch:      noarch

%description module-libvirt
Displays count of running libvirt VMs.

%package module-mocp
Summary:        Widget to display information about the current song in moc
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       moc
Supplements:    (%{name} and moc)
BuildArch:      noarch

%description module-mocp
Displays information about the current song in moc, via mocp.

Takes one parameter (mocp.format) that formats song information. Tag values can
be put in curly brackets (i.e. {artist})

%package module-mpd
Summary:        Widget to display information about the current song in mpd
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       mpclient
Supplements:    (%{name} and mpd)
BuildArch:      noarch

%description module-mpd
Displays information about the current song in mpd (via mpc)

Takes two parameters:
  * mpd.format: Format string for the song information. Tag values can
    be put in curly brackets (i.e. {artist})
  * mpd.host: MPD host to connect to. (mpc behaviour by default)

%package module-notmuch
Summary:        Displays the result of a notmuch count query
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       notmuch
Supplements:    (%{name} and notmuch)
BuildArch:      noarch

%description module-notmuch
Displays the result of a notmuch count query.

%package module-nvidia
Summary:        Displays GPU name, temperature and memory usage
Group:          System/Monitoring
Requires:       %{name} = %{version}
# Requires:       nvidia-smi
# Supplements:    (%%{name} and nvidia-smi)
BuildArch:      noarch

%description module-nvidia
Displays GPU name, temperature and memory usage.

%package module-nvidia-prime
Summary:        GPU selection for NVIDIA optimus using bbswitch
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       suse-prime-bbswitch
Supplements:    (%{name} and suse-prime-bbswitch)
BuildArch:      noarch

%description module-nvidia-prime
GPU (nvidia/intel) selection for NVIDIA optimus laptops using bbswitch

%package module-nvidia-optimus-manager
Summary:        GPU selection for NVIDIA optimus using optimus-manager
Group:          System/Monitoring
Requires:       %{name} = %{version}
BuildArch:      noarch

%description module-nvidia-optimus-manager
GPU (nvidia/intel) selection for NVIDIA optimus laptops using optimus-manager.

%package module-octoprint
Summary:        Displays Octoprint status
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-Pillow-tk
Requires:       python3-simplejson
BuildArch:      noarch

%description module-octoprint
Displays the Octoprint status and the printer's bed/tools temperature in the status bar.

%package module-pihole
Summary:        Displays the pi-hole status
Group:          System/Monitoring
Requires:       %{name} = %{version}
# Requires:       pi-hole
# Supplements:    (%%{name} and pi-hole)
BuildArch:      noarch

%description module-pihole
Displays the pi-hole status (up/down)
together with the number of ads that were blocked today.

%package module-playerctl
Summary:        Displays information about the current song using playerctl
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       playerctl
Supplements:    (%{name} and playerctl)
BuildArch:      noarch

%description module-playerctl
Displays information about the current song in
vlc, audacious, bmp, xmms2, spotify and others.

%package module-progress
Summary:        Show progress for cp, mv, dd, etc
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       progress
Supplements:    (%{name} and progress)
BuildArch:      noarch

%description module-progress
Show progress for cp, mv, dd, etc.

%package module-pulseaudio
Summary:        Widget for pulseaudio
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       pavucontrol
Requires:       pulseaudio-utils
Supplements:    (%{name} and pulseaudio)
BuildArch:      noarch

%description module-pulseaudio
Displays volume and mute status and controls for PulseAudio devices.
Use wheel up and down to change volume, left click mutes, right click opens pavucontrol.

%package module-redshift
Summary:        Widget to display the current color temperature of redshift
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       redshift
Supplements:    (%{name} and redshift)
BuildArch:      noarch

%description module-redshift
Displays the current color temperature of redshift. Takes no parameters.

%package module-rss
Summary:        Widget to display RSS feed
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-feedparser
BuildArch:      noarch

%description module-rss
Widget to display a RSS feed.

%package module-sensors
Summary:        Widget for sensors
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       sensors
Supplements:    (%{name} and sensors)
BuildArch:      noarch

%description module-sensors
Displays sensors information.

%package module-smartstatus
Summary:        Displays HDD smart status
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       smartmontools
Supplements:    (%{name} and smartmontools)
BuildArch:      noarch

%description module-smartstatus
Displays HDD smart status of different drives or all drives.

%package module-solaar
Summary:        Displays of Logitech's unifying device
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       solaar
Supplements:    (%{name} and solaar)
BuildArch:      noarch

%description module-solaar
Displays status and load percentage of Logitech's unifying device.

%package module-speedtest
Summary:        Performs a speedtest
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       speedtest-cli
BuildArch:      noarch

%description module-speedtest
Performs a speedtest.

%package module-spotify
Summary:        Widget to display spotify
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-dbus-python
Requires:       spotify-easyrpm
Supplements:    (%{name} and spotify-easyrpm)
BuildArch:      noarch

%description module-spotify
Displays a spotify widget.

%package module-sun
Summary:        Widget to display sunrise and sunset times
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-python-dateutil
Requires:       python3-suntime
BuildArch:      noarch

%description module-sun
Widget to display sunrise and sunset times.

%package module-taskwarrior
Summary:        Widget to display number of pending tasks in TaskWarrior
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-taskw
Supplements:    (%{name} and taskwarrior)
BuildArch:      noarch

%description module-taskwarrior
Widget to displays the number of pending tasks in TaskWarrior.

%package module-title
Summary:        Widget to display focused i3 window title
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-i3ipc
BuildArch:      noarch

%description module-title
Widget to displays focused i3 window title.

%package module-twmn
Summary:        Widget to toggle twmn notifications
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       systemd
# Requires:       twmn
# Supplements:    (%%{name} and twmn)
BuildArch:      noarch

%description module-twmn
Widget to toggle twmn notifications.

%package module-vault
Summary:        Copy passwords from a password store
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       password-store
Supplements:    (%{name} and password-store)
BuildArch:      noarch

%description module-vault
Copy passwords from a password store to the clipboard.

%package module-vpn
Summary:        Displays the VPN profile
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-tk
Supplements:    (%{name} and NetworkManager)
BuildArch:      noarch

%description module-vpn
Displays the VPN profile that is currently in use.

%package module-watson
Summary:        Displays the status of watson
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       watson
Supplements:    (%{name} and watson)
BuildArch:      noarch

%description module-watson
Displays the status of watson (time-tracking tool).

%package module-xrandr
Summary:        Widget for each connected screen and allows the user to enable/disable screens
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       xrandr
Supplements:    (%{name} and xrandr)
BuildArch:      noarch

%description module-xrandr
Shows a widget for each connected screen and allows the user to enable/disable screens.

%package module-yubikey
Summary:        Shows yubikey information
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-python-yubico
Supplements:    (%{name} and python3-python-yubico)
BuildArch:      noarch

%description module-yubikey
The output indicates that a YubiKey is not connected or it displays
the corresponding serial number.

%package module-zfs
Summary:        Shows zpool information
Group:          System/Monitoring
Requires:       %{name} = %{version}
Requires:       python3-setuptools
# Requires:       zfs
# Supplements:    (%%{name} and zfs)
BuildArch:      noarch

%description module-zfs
Displays info about zpools present on the system.

%prep
%autosetup -p1
# Remove hashbang from modules
sed -i '1{/^#!/d}' bumblebee_status/modules/contrib/{network_traffic,playerctl,spaceapi}.py

# Remove executable bit from modules
chmod a-x bumblebee_status/modules/contrib/playerctl.py

# Add proper hashbang to scripts
sed -i '1{s:^#!.*:#!%{_bindir}/bash:}' bin/*.sh

# Remove pre-compiled binary
rm bin/get-kbd-layout

%build
cd util
make ../bin/get-kbd-layout

%install
mkdir -p "%{buildroot}%{_bindir}"
mkdir -p "%{buildroot}%{_datadir}/%{name}/themes/icons"
mkdir -p "%{buildroot}%{_datadir}/%{name}/bumblebee/modules"

# Install main files, themes, modules and icons

# 1. prepare filesystem
install -d %{buildroot}%{_bindir} \
  %{buildroot}%{_datadir}/%{name}/bin/

# 2. remove modules:
#    * apt (debian)
#    * arch-update and pacman (only usable on arch linux)
#    * emerge_status (gentoo)
#    * gpmdp (needs Google Play music player)
#    * hddtemp (no longer maintained)
rm bumblebee_status/modules/contrib/{apt,arch_update,arch-update,emerge_status,gpmdp,hddtemp,pacman,portage_status}.py
rm tests/modules/contrib/test_{apt,arch-update,gpmdp,hddtemp,pacman,portage_status}.py
rm bin/pacman-updates

# 3. copy files from source
cp -a --parents %{name} themes/{,icons/}*.json %{buildroot}%{_datadir}/%{name}
rm %{buildroot}%{_datadir}/%{name}/themes/{,icons/}test*.json

cd bumblebee_status
cp -r . %{buildroot}%{_datadir}/%{name}/bumblebee/
cd ..

cp bin/*.sh %{buildroot}%{_datadir}/%{name}/bin/
cp bin/get-kbd-layout %{buildroot}%{_bindir}

# 4. Create symlinks
ln -s %{_datadir}/%{name}/%{name} %{buildroot}%{_bindir}/%{name}
ln -s %{_bindir}/get-kbd-layout %{buildroot}%{_datadir}/%{name}/bin/get-kbd-layout

%check
export LANG=en_US.UTF-8
export PYTHONPATH=%{buildroot}%{_datadir}/%{name}/:%{buildroot}%{_datadir}/%{name}/bumblebee/
# Speedtest is not available for python3.6
%pytest -rs --ignore tests/modules/core/test_speedtest.py

%files
%license LICENSE
%doc README.md
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/themes
%dir %{_datadir}/%{name}/themes/icons
%{_bindir}/%{name}
%{_bindir}/get-kbd-layout
%{_datadir}/%{name}/%{name}
%dir %{_datadir}/%{name}/bin/
%{_datadir}/%{name}/bin/get-kbd-layout
%dir %{_datadir}/%{name}/bumblebee/
%{_datadir}/%{name}/bumblebee/*.py
%{_datadir}/%{name}/bumblebee/core/
%{_datadir}/%{name}/bumblebee/util/
%dir %{_datadir}/%{name}/bumblebee/modules/
%{_datadir}/%{name}/bumblebee/modules/__init__.py
%dir %{_datadir}/%{name}/bumblebee/modules/contrib/
%{_datadir}/%{name}/bumblebee/modules/contrib/__init__.py
%dir %{_datadir}/%{name}/bumblebee/modules/core/
%{_datadir}/%{name}/bumblebee/modules/core/__init__.py
%{_datadir}/%{name}/bumblebee/modules/core/cpu.py
%{_datadir}/%{name}/bumblebee/modules/core/date.py
%{_datadir}/%{name}/bumblebee/modules/core/datetime.py
%{_datadir}/%{name}/bumblebee/modules/core/debug.py
%{_datadir}/%{name}/bumblebee/modules/core/disk.py
%{_datadir}/%{name}/bumblebee/modules/core/error.py
%{_datadir}/%{name}/bumblebee/modules/core/keys.py
%{_datadir}/%{name}/bumblebee/modules/core/layout.py
%{_datadir}/%{name}/bumblebee/modules/core/load.py
%{_datadir}/%{name}/bumblebee/modules/core/memory.py
%{_datadir}/%{name}/bumblebee/modules/core/nic.py
%{_datadir}/%{name}/bumblebee/modules/core/ping.py
%{_datadir}/%{name}/bumblebee/modules/core/spacer.py
%{_datadir}/%{name}/bumblebee/modules/core/test.py
%{_datadir}/%{name}/bumblebee/modules/core/time.py
%{_datadir}/%{name}/bumblebee/modules/contrib/battery-upower.py
%{_datadir}/%{name}/bumblebee/modules/contrib/battery.py
%{_datadir}/%{name}/bumblebee/modules/contrib/battery_upower.py
%{_datadir}/%{name}/bumblebee/modules/contrib/bluetooth.py
%{_datadir}/%{name}/bumblebee/modules/contrib/bluetooth2.py
%{_datadir}/%{name}/bumblebee/modules/contrib/currency.py
%{_datadir}/%{name}/bumblebee/modules/contrib/datetimetz.py
%{_datadir}/%{name}/bumblebee/modules/contrib/datetz.py
%{_datadir}/%{name}/bumblebee/modules/contrib/getcrypto.py
%{_datadir}/%{name}/bumblebee/modules/contrib/github.py
%{_datadir}/%{name}/bumblebee/modules/contrib/hostname.py
%{_datadir}/%{name}/bumblebee/modules/contrib/http_status.py
%{_datadir}/%{name}/bumblebee/modules/contrib/kernel.py
%{_datadir}/%{name}/bumblebee/modules/contrib/messagereceiver.py
%{_datadir}/%{name}/bumblebee/modules/contrib/network.py
%{_datadir}/%{name}/bumblebee/modules/contrib/network_traffic.py
%{_datadir}/%{name}/bumblebee/modules/contrib/pomodoro.py
%{_datadir}/%{name}/bumblebee/modules/contrib/publicip.py
%{_datadir}/%{name}/bumblebee/modules/contrib/rofication.py
%{_datadir}/%{name}/bumblebee/modules/contrib/shell.py
%{_datadir}/%{name}/bumblebee/modules/contrib/shortcut.py
%{_datadir}/%{name}/bumblebee/modules/contrib/spaceapi.py
%{_datadir}/%{name}/bumblebee/modules/contrib/stock.py
%{_datadir}/%{name}/bumblebee/modules/contrib/system.py
%{_datadir}/%{name}/bumblebee/modules/contrib/thunderbird.py
%{_datadir}/%{name}/bumblebee/modules/contrib/timetz.py
%{_datadir}/%{name}/bumblebee/modules/contrib/todo.py
%{_datadir}/%{name}/bumblebee/modules/contrib/todo_org.py
%{_datadir}/%{name}/bumblebee/modules/contrib/traffic.py
%{_datadir}/%{name}/bumblebee/modules/contrib/uptime.py
%{_datadir}/%{name}/bumblebee/modules/contrib/weather.py
%{_datadir}/%{name}/bumblebee/modules/contrib/xkcd.py
%{_datadir}/%{name}/themes/albiceleste-powerline.json
%{_datadir}/%{name}/themes/default.json
%{_datadir}/%{name}/themes/gruvbox-light.json
%{_datadir}/%{name}/themes/gruvbox.json
%{_datadir}/%{name}/themes/nord-colorful.json
%{_datadir}/%{name}/themes/rastafari-powerline.json
%{_datadir}/%{name}/themes/rose-pine.json
%{_datadir}/%{name}/themes/solarized.json
%{_datadir}/%{name}/themes/icons/ascii.json
%{_datadir}/%{name}/themes/icons/ionicons.json
%{_datadir}/%{name}/themes/icons/paxy97.json

%files theme-powerline
%{_datadir}/%{name}/themes/icons/awesome-fonts.json
%{_datadir}/%{name}/themes/dracula-powerline.json
%{_datadir}/%{name}/themes/firefox-dark-powerline.json
%{_datadir}/%{name}/themes/greyish-powerline.json
%{_datadir}/%{name}/themes/gruvbox-powerline.json
%{_datadir}/%{name}/themes/gruvbox-powerline-light.json
%{_datadir}/%{name}/themes/iceberg-contrast.json
%{_datadir}/%{name}/themes/iceberg-dark-powerline.json
%{_datadir}/%{name}/themes/iceberg-powerline.json
%{_datadir}/%{name}/themes/iceberg-rainbow.json
%{_datadir}/%{name}/themes/iceberg.json
%{_datadir}/%{name}/themes/night-powerline.json
%{_datadir}/%{name}/themes/nord-powerline.json
%{_datadir}/%{name}/themes/onedark-powerline.json
%{_datadir}/%{name}/themes/powerline.json
%{_datadir}/%{name}/themes/powerline-pango.json
%{_datadir}/%{name}/themes/sac_red.json
%{_datadir}/%{name}/themes/solarized-dark-awesome.json
%{_datadir}/%{name}/themes/solarized-powerline.json
%{_datadir}/%{name}/themes/wal-powerline.json

%files module-alsa
%{_datadir}/%{name}/bumblebee/modules/contrib/amixer.py

%files module-arandr
%{_datadir}/%{name}/bumblebee/modules/contrib/arandr.py

%files module-brightness
%{_datadir}/%{name}/bumblebee/modules/contrib/brightness.py

%files module-caffeine
%{_datadir}/%{name}/bumblebee/modules/contrib/caffeine.py

%files module-cmus
%{_datadir}/%{name}/bumblebee/modules/contrib/cmus.py

%files module-deezer
%{_datadir}/%{name}/bumblebee/modules/contrib/deezer.py

%files module-deadbeef
%{_datadir}/%{name}/bumblebee/modules/contrib/deadbeef.py

%files module-dnf
%{_datadir}/%{name}/bumblebee/modules/contrib/dnf.py

%files module-docker-ps
%{_datadir}/%{name}/bumblebee/modules/contrib/docker_ps.py

%files module-dunst
%{_datadir}/%{name}/bumblebee/modules/contrib/dunst.py
%{_datadir}/%{name}/bumblebee/modules/contrib/dunstctl.py

%files module-git
%{_datadir}/%{name}/bumblebee/modules/core/git.py

%files module-indicator
%{_datadir}/%{name}/bumblebee/modules/contrib/indicator.py

%files module-layout
%{_datadir}/%{name}/bumblebee/modules/contrib/layout.py

%files module-layout-xkb
%{_datadir}/%{name}/bumblebee/modules/core/layout_xkb.py
%{_datadir}/%{name}/bumblebee/modules/core/layout-xkb.py

%files module-layout-xkbswitch
%{_datadir}/%{name}/bumblebee/modules/contrib/layout_xkbswitch.py
%{_datadir}/%{name}/bumblebee/modules/contrib/layout-xkbswitch.py

%files module-libvirt
%{_datadir}/%{name}/bumblebee/modules/contrib/libvirtvms.py

%files module-mocp
%{_datadir}/%{name}/bumblebee/modules/contrib/mocp.py

%files module-mpd
%{_datadir}/%{name}/bumblebee/modules/contrib/mpd.py

%files module-nvidia
%{_datadir}/%{name}/bumblebee/modules/contrib/nvidiagpu.py

%files module-nvidia-prime
%{_datadir}/%{name}/bumblebee/modules/contrib/prime.py

%files module-nvidia-optimus-manager
%{_datadir}/%{name}/bumblebee/modules/contrib/optman.py

%files module-notmuch
%{_datadir}/%{name}/bumblebee/modules/contrib/notmuch_count.py

%files module-octoprint
%{_datadir}/%{name}/bumblebee/modules/contrib/octoprint.py

%files module-pihole
%{_datadir}/%{name}/bumblebee/modules/contrib/pihole.py

%files module-playerctl
%{_datadir}/%{name}/bumblebee/modules/contrib/playerctl.py

%files module-progress
%{_datadir}/%{name}/bumblebee/modules/contrib/progress.py

%files module-pulseaudio
%{_datadir}/%{name}/bumblebee/modules/core/pasink.py
%{_datadir}/%{name}/bumblebee/modules/core/pasource.py
%{_datadir}/%{name}/bumblebee/modules/core/pulseaudio.py

%files module-redshift
%{_datadir}/%{name}/bumblebee/modules/core/redshift.py

%files module-rss
%{_datadir}/%{name}/bumblebee/modules/contrib/rss.py

%files module-sensors
%{_datadir}/%{name}/bumblebee/modules/contrib/cpu2.py
%{_datadir}/%{name}/bumblebee/modules/contrib/sensors.py
%{_datadir}/%{name}/bumblebee/modules/core/sensors2.py

%files module-smartstatus
%{_datadir}/%{name}/bumblebee/modules/contrib/smartstatus.py

%files module-solaar
%{_datadir}/%{name}/bumblebee/modules/contrib/solaar.py

%files module-speedtest
%{_datadir}/%{name}/bumblebee/modules/core/speedtest.py

%files module-spotify
%{_datadir}/%{name}/bumblebee/modules/contrib/spotify.py

%files module-sun
%{_datadir}/%{name}/bumblebee/modules/contrib/sun.py

%files module-taskwarrior
%{_datadir}/%{name}/bumblebee/modules/contrib/taskwarrior.py

%files module-title
%{_datadir}/%{name}/bumblebee/modules/contrib/title.py

%files module-twmn
%{_datadir}/%{name}/bumblebee/modules/contrib/twmn.py

%files module-vault
%{_datadir}/%{name}/bumblebee/modules/core/vault.py

%files module-vpn
%{_datadir}/%{name}/bumblebee/modules/contrib/vpn.py

%files module-watson
%{_datadir}/%{name}/bumblebee/modules/contrib/watson.py

%files module-xrandr
%{_datadir}/%{name}/bin/load-i3-bars.sh
%{_datadir}/%{name}/bin/toggle-display.sh
%{_datadir}/%{name}/bumblebee/modules/core/xrandr.py
%{_datadir}/%{name}/bumblebee/modules/contrib/rotation.py

%files module-yubikey
%{_datadir}/%{name}/bumblebee/modules/contrib/yubikey.py

%files module-zfs
%{_datadir}/%{name}/bumblebee/modules/contrib/zpool.py

%changelog
openSUSE Build Service is sponsored by