wayfirewm / wf-shell Goto Github PK
View Code? Open in Web Editor NEWA GTK3-based panel for wayfire
Home Page: https://wayfire.org/
License: MIT License
A GTK3-based panel for wayfire
Home Page: https://wayfire.org/
License: MIT License
I have network
in widgets_right
. When editing widgets_right
while wf-panel
is running, the network icon disappears. This doesn't happen when changing any other things in the configuration. The network icon will also show up again when restarting wf-panel
.
How can I change the position of the panel to bottom?
There was no easy way to exit a session through the wf-shell, I had to open a terminal and run kill wayfire
to do so. It's not much work to do it this way, but I believe it could be implemented and make for a better user experience.
Perhaps even create a "canonical" way of exiting a session that doesn't rely on simply killing a process. I'm open to helping with developing this, because this is a project I'm really interested in right now!
When adding the window-list widget to the bar the height increases.
The default config file claims all widgets also have individual settings for height. This is incorrect for window-list. Menu seems to inherit its size from launchers.
window-list has right click menu to close apps.
but dock does not have this.
Installing on Void, a linking error happens (issue void-linux/void-packages#20618).
$ wf-background
wf-background: symbol lookup error: wf-background: undefined symbol: _ZN12wf_animation6circleE
According to @xtraeme, WayfireWM/wf-config@211a86c caused that.
$ ldd -r `which wf-background`
...
undefined symbol: _ZN12wf_animation6circleE (/sbin/wf-background)
undefined symbol: _ZN12wf_animation6linearE (/sbin/wf-background)
undefined symbol: _ZN11wf_duration7runningEv (/sbin/wf-background)
undefined symbol: _ZN11wf_durationC1ESt10shared_ptrI11wf_option_tESt8functionIFddEE (/sbin/wf-background)
undefined symbol: _ZN11wf_option_t19rem_updated_handlerEPSt8functionIFvvEE (/sbin/wf-background)
undefined symbol: _ZN14wayfire_config13reload_configEv (/sbin/wf-background)
undefined symbol: _ZN11wf_option_t9as_stringB5cxx11Ev (/sbin/wf-background)
undefined symbol: _ZNK11wf_duration8progressEv (/sbin/wf-background)
undefined symbol: _ZN22wayfire_config_section10get_optionENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_ (/sbin/wf-background)
undefined symbol: _Z17new_static_optionNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (/sbin/wf-background)
undefined symbol: _ZN11wf_option_t19add_updated_handlerEPSt8functionIFvvEE (/sbin/wf-background)
undefined symbol: _ZN11wf_duration5startEdd (/sbin/wf-background)
undefined symbol: _ZN14wayfire_config11get_sectionERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (/sbin/wf-background)
undefined symbol: _ZN11wf_option_t6as_intEv (/sbin/wf-background)
undefined symbol: _ZN14wayfire_configC1ENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE (/sbin/wf-background)
Can be reproduced by setting an incorrect image or path in the wf-shell.ini file.
Some people don't use pulseaudio. Building gvc and the volume widget should be optional.
2.screen off timing.
presentation mode.
lockscreen timing.
3.which policykit package do you suggest to use.
currently im using lxqt-policykit-agent.
and have set it to autostart.
This might be outside of your scope, but the network widget currently seems to use only data from NetworkManager, which not everyone uses. In my case, a solution like IWD has proven itself to be more than enough to automatically manage connections. I'd still like to be able to verify connection status while using wayfire.
The waybar implementation of such a widget supports connections set up through IWD only, so it's possible to take a look at how they implemented it and translate it to your project.
I'm open to helping with this, as well!
autohide
launchers
others
Needs foreign-toplevel support in wayfire first
If the panel is on the bottom of the screen, the calendar still opens downward and is thus invisible
Would it be much work to add a client title widget, and one that displays the available+active desktops?
Is there a way to query wayfire for them?
only when wf-panel is restarted does the menu update.
it should update with app changes.
panel.autohide = true
panel.position = top
wf-panel
panel.position = bottom
Expected behaviour: panel is positioned at the bottom, shown when pointer is at the bottom edge.
Actual behaviour: panel is positioned at bottom, shown when pointer is at the top edge.
so it is the network widget that is causing crashes
i use connman and cmst
not the network manager.
add categories in menu.
and
it should be able enable and disable categorisation of menu widget with wf-shell.ini
Example config
Man/Wiki page describing options
Screenshots
Build instructions
I know that this is not place to ask but wf-shell's panel is not upto mark as Waybar's .
I also asked at Waybar's issue but it is being ignored.
I also know that autohide uses wayfire-shell-unstable-v2.xml and not standardized in Wayland.
So, how can autohide be achieved in Waybar ?
This way we can bind such a command to a keybinding and open the menu with it.
Use Case: Running multiple panels. (I'm trying to set up a wayfire-based environment for the pinephone)
Issue: Since all instances of the panel refer to the same config file, we get two consecutive panels and any changes to config is followed by both instances
Proposed Solution: Add an additional param --config /path/to/config
to support different config files at program start
Maybe we can even show a list of networks to choose from? Would definitely be cool, although that will require some work.
add a background picture in the package
so it will be installed with the
wf-shell.
and as the path will be /usr/.... it wont change with any distro or user
and in the wf-shell.ini config set this background as default.
so that users wont be presented an black screen and assume wf-shell is not working.
it happened with me as panel did not launch and i was presented black screen.
Workaround: set PKG_CONFIG_PATH to /usr/local/lib64/pkgconfig/ after installing wf-config. For some reason, it doesn't do this by default.
Is it possible to allow for override/ custom launch command when you click on the network?
nm-connection-editor
works good as an alternative and wouldn't require gnome control center (which usually comes with a lot of dependencies).
It would be interesting if the commands could be customized or changed for the on_click
event
Would be nice to have a setting in wf-shell.ini to choose which menu icon you'd like as you're abel to do with the desktop background, right now you can switch the files around and rename them and that works, but if an update is passed your files will be overwritten with the default.
for example
[menu icon]
.# Full path to image or directory of images
iconimage = /usr/share/icons/gnome/256x256/status/trophy-gold.png
Then it will be consistent with launchers_spacing
. It will also cause the warning about the 42
desktop file not existing to go away.
Currently, wf-shell
handles setting the background, which is not the best desirable outcome, given that people would like to use wayfire
but without wf-shell
(thinking nwg-launchers
).
This way I can have cool looking, sleek interfaces and based background even without wf-shell
.
I don't know how hard/easy it is (so not the most important feature) but I want to just put it out there.
The release files for the wf-shell 0.3 tag have attached files wayfire-0.3.tar.xz
and wayfire-0.3.tar.xz.sha256sums
. The contents of the tarball do not seem to include wf-shell.
It would be nice to have the ability to set a solid desktop background color, as you can in the wf-panel, with a Hex#, wf-background aside.
When I turn on VPN, the icon in the wf-bar changes from wifi to disconnected.
Otherwise, we need to manually sync the XML file
I try to build wf-shell and get some errors:
~/Documents/code/wayfire_project/wf-shell(master*) » meson build --prefix=$prefix && ninja -C build && ninja -C build install
Directory already configured.
Just run your build command (e.g. ninja) and Meson will regenerate as necessary.
If ninja fails, run "ninja reconfigure" or "meson --reconfigure"
to force Meson to regenerate.
If build failures persist, run "meson setup --wipe" to rebuild from scratch
using the same options as passed when configuring the build.
To change option values, run "meson configure" instead.
ninja: Entering directory `build'
[1/2] Compiling C++ object src/background/wf-background.p/background.cpp.o
FAILED: src/background/wf-background.p/background.cpp.o
ccache c++ -Isrc/background/wf-background.p -Isrc/background -I../src/background -Isrc/util -I../src/util -Isubprojects/gtk-layer-shell/include -I../subprojects/gtk-layer-shell/include -I/opt/wayfire/include -I/usr/include/gtkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gtkmm-3.0/include -I/usr/include/atkmm-1.6 -I/usr/include/gtk-3.0/unix-print -I/usr/include/gdkmm-3.0 -I/usr/lib/x86_64-linux-gnu/gdkmm-3.0/include -I/usr/include/giomm-2.4 -I/usr/lib/x86_64-linux-gnu/giomm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/lib/x86_64-linux-gnu/pangomm-1.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/x86_64-linux-gnu/glibmm-2.4/include -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/atk-1.0 -I/usr/include/cairomm-1.0 -I/usr/lib/x86_64-linux-gnu/cairomm-1.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/sigc++-2.0 -I/usr/lib/x86_64-linux-gnu/sigc++-2.0/include -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/local/include -I/usr/include/libevdev-1.0/ -I/usr/include/libxml2 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -std=c++17 -g -DHAVE_PULSE=1 -Wno-pedantic -Wno-unused-parameter -Wno-parentheses '-DICONDIR="/opt/wayfire/share/wayfire/icons"' '-DMETADATA_DIR="/opt/wayfire/share/wayfire/metadata/wf-shell"' '-DSYSCONF_DIR="/opt/wayfire/etc"' -pthread -MD -MQ src/background/wf-background.p/background.cpp.o -MF src/background/wf-background.p/background.cpp.o.d -o src/background/wf-background.p/background.cpp.o -c ../src/background/background.cpp
../src/background/background.cpp: In member function ‘void BackgroundDrawingArea::show_image(Glib::RefPtr<Gdk::Pixbuf>, double, double)’:
../src/background/background.cpp:33:35: error: ‘create_surface_from_pixbuf’ is not a member of ‘Gdk::Cairo’
to_image.source = Gdk::Cairo::create_surface_from_pixbuf(image,
^~~~~~~~~~~~~~~~~~~~~~~~~~
../src/background/background.cpp:33:35: note: suggested alternative: ‘set_source_pixbuf’
to_image.source = Gdk::Cairo::create_surface_from_pixbuf(image,
^~~~~~~~~~~~~~~~~~~~~~~~~~
set_source_pixbuf
ninja: build stopped: subcommand failed.
Is there any wrong?
Having scrollbars on window-list
in wf-panel
when a title contains weird unicode characters, window-list get scrollbars, which looks weird. https://soundcloud.com/thatrickaz is an example of a website with such characters in its title.
Depends on swaywm/wlr-protocols#52
libc++ forbids using std::random_shuffle(first, last)
in C++17 or later unless _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE
is defined.
See also https://en.cppreference.com/w/cpp/algorithm/random_shuffle
../src/background/background.cpp:150:14: error: no member named 'random_shuffle' in namespace 'std'
std::random_shuffle(images.begin(), images.end());
~~~~~^
wf-dock (0.6 via AUR) regularly crashes when the output is removed. Sometimes this brings down the whole shell, punting me back to GDM. This use case occurs when the monitor (a "smart TV") is set to use a different input than the computer, leaving the shell with no outputs. I believe this no-output condition is sufficient to replicate the problem. Thanks
is there a css variable to set the dock size because on my display the dock is obnoxiously huge
add a widget that is able to
leave- gives all options when clicked
poweroff
logout
lockscreen
reboot
hibernate
suspend
and maybe reboot to uefi firmware.
in the right side of wf-panel
as systemtray is not supported on wayland.
but sni is supposed to be supported.
add the sni widget in wf-panel.
https://freedesktop.org/wiki/Specifications/StatusNotifierItem/
This happens only when the widget content is bigger than the panel itself and window-list has a scollbar.
The reason is in this callback
wf-shell/src/util/wf-autohide-window.cpp
Lines 34 to 38 in f269d23
If you add a debug log inside the lamda (which resets wm struts) you will see that it gets called (when size is normal)
a few dozen times per second while you move the mouse over window-list.
When the window-list has a scrollbar the widget seems to fight being to small and calls signal_size_allocate
as often as possible no matter where your mouse is.
I have no idea on how to change background and font colors. Regardless of how I set the background_color (background_color = gtk_headerbar
or an rgb value), the background color does not change. Also I can't figure out how to change the font color. In result inactive windows on the list are represented by dark grey text on dark grey background.
Same applies to the dock.
Am I doing anything wrong?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.