Code Monkey home page Code Monkey logo

budgie-desktop's Introduction

main_desktop

Budgie Desktop

GitHub release (latest by date) Translate into your language! Chat with us on Matrix Website

The Budgie Desktop is a feature-rich, modern desktop designed to keep out the way of the user.

Budgie logo

Components

Budgie Desktop consists of a number of components to provide a more complete desktop experience.

Budgie Menu

The main Budgie menu provides a quick and easy to use menu, suitable for both mouse and keyboard driven users. Features search-as-you-type and category based filtering.

main_menu

Raven

Raven provides an all-in-one center for accessing your calendar, controlling sound output and input (including per-app volume control), media playback and more. As well as supporting the usual level of media integration you'd expect, such as media player controls on notifications, support for cover artwork, and global media key support for keyboards, Raven supports all MPRIS compliant media players.

When one of these players are running, such as VLC, Rhythmbox or even Spotify, an MPRIS controller is made available in Raven for quick and simple control of the player, as well as data on the current media selection.

Raven also enables you to access missed notifications, with the ability to swipe away individual notifications, app notifications, and all notifications.

raven

Notifications

Budgie Desktop supports the freedesktop notifications specification, enabling applications to send visual alerts to the user. These notifications support actions, icons as well as passive modes.

notification

Run Dialog

The Budgie Run Dialog provides the means to quickly find an application in a popup window. This window by default is activated with the ALT+F2 keyboard shortcut, providing keyboard driven launcher facilities.

run_dialog

Other

End Session Dialog

The session dialog provides the usual shutdown, logout, options which can be activated using the User Indicator applet.

end_session_dialog

PolicyKit integration

The budgie-polkit-dialog provides a PolicyKit agent for the session, ensuring a cohesive and integrated experience whilst authenticating for actions on modern Linux desktop systems.

budgie_polkit

Testing

As and when new features are implemented - it can be helpful to reset the configuration to the defaults to ensure everything is still working ok. To reset the entire configuration tree, issue:

budgie-panel --reset --replace &!

License

budgie-desktop is available under a split license model. This enables developers to link against the libraries of budgie-desktop without affecting their choice of license and distribution.

The shared libraries are available under the terms of the LGPL-2.1, allowing developers to link against the API without any issue, and to use all exposed APIs without affecting their project license.

The background shipped in data/backgrounds is shipped as part of budgie-backgrounds and is licensed under CC0-1.0 license.

The remainder of the project (i.e. installed binaries) is available under the terms of the GPL 2.0 license. This is clarified in the headers of each source file.

Authors

Copyright Budgie Desktop Developers

See our contributors graph!

budgie-desktop's People

Contributors

alunux avatar city-busz avatar cybre avatar datadrake avatar ebonjaeger avatar efernandesng avatar eyelash avatar fossfreedom avatar gmbr3 avatar guillotjulien avatar guinux avatar hjdskes avatar horst3180 avatar ikeydoherty avatar jacalz avatar jacob-vlijm avatar joshstrobl avatar justchen1369 avatar klardotsh avatar leoiannacone avatar lulzftw avatar massltoff avatar mussel avatar rbreaves avatar samlane-ma avatar serebit avatar sjsantoro avatar snwh avatar staudey avatar yursan9 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

budgie-desktop's Issues

Evaluate potential third-party widgets to merge into mainline

This is a proposal to evaluate third-party widgets from folks like Ubuntu Budgie, reducing duplicate applets by consolidating functionality (such as DropBy into Places), and enabling more of these applets to be enjoyed by Budgie users without supplemental work.

Other examples:

  • @EbonJaeger's budgie-trash-applet and Ubuntu Budgie's trash applet (you folks must really like trash?)
  • Take a Break (perfect for Caffeine)
  • Quick Note
  • Keyboard Auto Switch into our input switcher
  • FuzzyClock may be able to be deprecated given we support custom formats now too
  • VisualSpace (maybe as a replacement for the Wnck-based Workspace applet)?

Thoughts @fossfreedom, @serebit, @Jacob-Vlijm, @fossfreedom, etc?

Multiple apps in ITL shown as "active"

Description

In some cases, Budgie's icon tasklist will show multiple apps as "active", even if one of those apps is not in focus. It seems as though the "active" state can get stuck on some apps.

image_20220330102743

Steam, Discord, and Kitty are not pinned.

Budgie version

master @ be79b9c

Operating system

EndeavourOS

Steps to reproduce the issue

To reproduce with Discord:

  • Close Discord entirely
  • Open a different app, like gedit, and focus on it
  • Open Discord and wait until the main window appears

Discord should now be stuck as "active" until the main window is closed and reopened.

Live Wallpaper

Current Budgie version

budgie-desktop 10.5.3 (git-26cde8fd300a87aba0d085ca50c89728150138d2)

Use-cases

Linux DEs have traditionally lacked the ability to have live wallpaper like Windows (Wallpaper Engine) and Android. It would be great if Budgie Desktop can add native support for live/animated wallpaper.

The usual process is that the user provides a video file (*.mp4, etc.) and the video will be looped (without sound) on the desktop as the wallpaper.

Proposal

I'm not really sure how to achieve that, as to my knowledge no DE provides a convenient and intuitive support for live wallpaper. References might be helpful, and I have a few ideas about it:

  1. There used to be a tool that slices the video files into a lot of images in advance and uses feh continuously to set the wallpaper. This is definitely not the way to approach. We should probably use something like ffmpeg and pipe the stream to the desktop in some way.
  2. Komorebi has a good feature that as soon as the desktop is completely covered by other window(s), it will stop playing the video; the moment you close all the windows or a part of the desktop is not covered, it starts playing again. This can reduce the performance impact and in many cases the user doesn't even realize.

References

Komorebi is a live wallpaper engine that works on Budgie Desktop, so maybe it can be a good starting point. The problem with it is that it changes the layout of the desktop icons and I've found no way to modify that.

Raven is covering part of the top panel

Description

When the panel is at the top, Raven apparently covers part of the panel when expanded.

Budgie version

10.5.3 (compiled at 5351580)

Operating system

Fedora 35

Steps to reproduce the issue

  1. Move the panel to the top
  2. Expand Raven

Actual result

image

Expected result

The previous behavior was to expand aligned with the bottom of the panel.

Additional information

I did not do a proper bisect, but the new behavior was introduced between 361913c and 239b5c2

Notification shows thick borders with Plata GTK theme

Description

Notification shows thick borders with Plata GTK theme 0.9.9.

Budgie version

Budgie 10.5.3, built with master (96ea414), and with fix-internal-theme (c51d19b) merged.

Operating system

Fedora 35

Steps to reproduce the issue

  1. Switch to theme Plata
  2. notify-send foo

Actual result

image

Expected result

image

Budgie 10.5.3, built with d53f71a.

New Network Indicator

Context

Budgie v10.5 uses GNOME's nm-applet to interface with wireless networks, wired networks, and VPNs. This system tray applet provides the ability to:

  • Enable and disable networking and Wi-Fi
  • Connect to and disconnect from wired and wireless networks
  • Create, select, and modify VPN connections

Proposal

In order to consolidate operations within Budgie itself, I propose that we develop our own in-tree applet for network management. In order to facilitate compatibility with existing Budgie installations, this applet would live within StatusApplet as an additional indicator.

This indicator would preserve the ability to manipulate wireless and wired networks, and would strip out direct modification of VPN settings, instead providing selection of existing configured VPNs, along with a button to open VPN settings in Budgie Control Center.

Rather than having two menus with different options like nm-applet, all options would be available within the left-click menu, as with the other indicators in StatusApplet.

Implementation

The indicator would interface with libnm directly in order to facilitate network control.

References

budgie dock autohide behaviour vs other docks

Description

Testing @serebit excellent effort for extra options for positioning panels out of the box.

When the dock is set to "Autohide" and at the bottom of the screen, the behaviour is very different from Plank.

In Plank Autohide means that the panel is hidden by default and only appears when the cursor is in the vicinity

In Budgie - it is always visible ... except if the window is maximised. This means the dock and the window can overlap which is a very odd workflow i.e. not very dock like

Budgie version

future 10.7

Operating system

Ubuntu Budgie 22.04

Steps to reproduce the issue

Top panel
Bottom panel in dockmode with just the icontask list set to automatic

Actual result

visible dock

Expected result

dock should not be visible unless the mouse is hovering

image

Additional information

Plank has the options Intellihide, Autohide, Dodge Maximised WIndow, WIndow Dodge, Dodge Active Window.

I think budgie "autohide" is similar to "dodge maximised window" in its behaviour

Improving System Tray

This is a meta task to propose (not set in stone) a move to supporting the Status Notifier / Status Notifier Item Specification in our System Tray, whether that compliments all the excellent work @serebit did on "CarbonTray" or replaces it.

The reason for this is I want us to get into the mindset of not relying as much on XEmbed and X-related APIs, as a worthy goal for Budgie 11 is to be either Wayland-only or at the very least prioritize Wayland support. Implementing Status Notifier support into the System Tray would provide a good learning opportunity going forward.

Not labeling as accepted, as it is a proposal.

Icons are not displays or the apps panel when I try to launch anyone non-favorited app, but option related to this is disabled

Description

I toggled the only show favorited option of the icon task list applet on my primary apps panel (and I don't have anymore panels) and after that all non-favorited apps icons are not visible on the panel until I open desktop settings again and toggle this option twice (turn on -> turn off). After this action I fixed this issue for already opened windows, but any new windows still not displaying until I do that again to fix this issue again...

Budgie version

Budgie Desktop 10.6 (actual build from the official Solus eopkg repository)

Operating system

Solus 4.3 Furtitude (Budgie)

Steps to reproduce the issue

  1. Open Budgie Desktop Settings
  2. Click on your panel where apps icons are displayed
  3. Click on Icon Task List panel applet
  4. Toggle Only show favorited option in the applet settings (turn on)
  5. Toggle that again (turn off)
  6. Reboot your system fully
  7. Try to open new window of anyone non-favorited app
  8. Check that it's not displaying on the panel
  9. Open Budgie Desktop Settings
  10. Toggle favorited apps showing option twice (turn on -> turn off)
  11. Check that opened window's icon are displays on the panel
  12. Try to open another app
  13. This icon isn't displays again...
  14. Fix this again with double option toggling
  15. It's displays again... WTF

Actual result

Icons of new opened apps are not displaying on the panel

Expected result

This icons must be displayed when the Only show favorited option is disabled!

Additional information

When I opened a new window of anyone favorited app then it's displayed correctly, but of anyone non-favorited isn't.
Sorry for my bad english :(

video-2022-03-21_19.05.37.mp4

No items in application menu

I've installed budgie and all the extras via the apt package manager on a system running Pop_OS (basically Ubuntu). Both the App Launcher and Application Menu have no application data. I have a few other desktop environments installed and they all pull in menu data just fine. Anyone else seeing this?

Spacer at the edge of a panel isn't preserved after reboot

Description

I added a spacer to the right edge of my top panel so that the widget wouldn't be squished into the corner so much. While I am able to manually accomplish the desired behavior with the Budgie Desktop Settings, the spacer isn't shown anymore after a reboot.

Budgie version

budgie-desktop 10.5.3 (git-26cde8fd300a87aba0d085ca50c89728150138d2)

Operating system

Ultramarine Linux 21.12 Revision 1

Steps to reproduce the issue

  1. add a spacer to the right (or probably any edge) of your panel
  2. reboot

Actual result

the spacer isn't shown in the panel

Expected result

some space between the edge of the screen and the rightmost widget

Additional information

I have a spacer left to the rightmost widget as well to make it stand out more.

Some custom keyboard shortcut combinations stop working after rebooting

Description

Some custom keyboard shortcut combinations like super+o stop working after rebooting.

Budgie version

10.5.3

Operating system

Arch

Steps to reproduce the issue

  • Open keyboard settings in gnome control center
  • Create custom shortcut
  • Set some kind of basic command and the combination to super+o
  • Check if the command works
  • Reboot
  • Command does not get executed by the shortcut anymore, even though it is still listed in the keyboard settings

Actual result

  • Shortcut is broken after rebooting, has to be manually fixed by opening the keyboard settings and entering the shortcut for that command again

Expected result

  • Shortcut should still work after rebooting

support the freedesktop colour spec

For GNOME 42 the latest versions of libhandy and libadwaita support the freedesktop spec to
color apps according to the user preference.

Obviously GNOME 42 apps are not forced to support this - but most do. The theme-styling for
"prefer-dark" is the style-sheet defined by libhandy/libadwaita unfortunately but we'll have to
see how this pans out in the future.

I had a quick look-see to-do this on this (now closed) PR - #60

This PR built on the existing budgie "dark theme" flag - if set, the freedesktop
color-scheme is set to "prefer-dark". If unticked, the color-scheme is reset to the distro default.

I closed the PR because GNOME state we should not be using the gsettings key but should use dbus on the requisite dbus key to-do all of this - this I'm guessing ensures flatpaks/snaps with the requisite portal will work correctly (https://blogs.gnome.org/alexm/2021/10/04/dark-style-preference/) & https://github.com/elementary/granite/pull/529/files

In GNOME Shell there is a prefer dark settings in GNOME 42 version of gnome-control-center. Our UI is via budgie-desktop-settings so doesnt make sense to copy & implement via budgie-control-center.

Anyway - raising this as a tracker - we as a desktop need to decided if to support these apps that have these forced styling / and how we should support a "prefer dark" / "prefer light" type setting. We'll see more and more of these types of apps in the near future - GNOME 42 is just the precursor of a larger tranche of apps moving this way.

Don't rely on system icon theme for appmenu icon by default

Putting here as a sort of RFC. Currently, stock budgie uses Adwaita by default due to gschema defaults, and the foot that's displayed as an appmenu icon in Adwaita isn't the best impression for new users. We're not GNOME, and the panel should reflect that.

Proposal

Use the Papirus appmenu icon or similar as a custom appmenu image by default, leveraging the current functionality to set a custom appmenu icon. If users wish to use their theme's appmenu icon, they can remove the custom image. Alternatively, we could add a switch to Budgie Desktop Settings dedicated to using the appmenu icon from the theme rather than the custom one.

Improving IconTasklist

This is a meta-task of immediate actionable items for improving the IconTasklist, and really transforming it into a different widget (rebrand and transition would likely be required, I'll get into that in a sec).

Firstly, we need to improve iconography scaling in IconTasklist. Many Budgie users know the pains of the icon tasklist not scaling icons until specific icon steps, and this can be changed quite trivially (I'll be labelling this as easy-to-implement to reflect that). We should be choosing higher resolution images, or just scalable vectors, and downscaling those instead. This will allow you do so something as different as picking say, 53px height for your Budgie panel, but it scale down to a respectable icon sizing (like 48 or something) based on a vector or at least the next highest step (64x64) image.

Alongside this, I think it may be worth considering deprecating the old Tasklist. If offers very little functionality compared to the IconTasklist given it is just a Wnck Tasklist, especially with all the scrolling functionality and popover, so the easiest path for this is to allow for labels to be added to the IconTasklist. Naturally this means it wouldn't be "icon" only anymore, and thus we should rebrand it and implement a migration that replaces the applet (this has been done in the past).

I know there has been feedback in the discussions on other ways to improve the IconTasklist, such as the ability to disable scrolling functionality. If others have feedback on what they would like to see, that'd be fantastic.

Nothing in this task is owned, so like in the Budgie Menu task, we can all work as a team and communicate over Matrix on the best solution going forward.

Fix Current Internal Theme

A precursor to #22.

Budgie v10.5.3's internal theme is a mess that's inconsistent across underlying GTK themes and just generally looks dated and unpolished, to such a degree that Solus actually hides the option to use the built-in theme. This issue tracks an effort to clean up the stylesheet in-place and bring it up to a reasonable standard before the full redesign in #22, along with making it consistent even when the underlying GTK theme is swapped out.

Checklist

  • Panel
    • Start Panel Region
    • Center Panel Region
    • End Panel Region
    • Status Applet
    • Icon Tasklist
    • Clock Applet
    • Other Applets
    • App Menu
  • Raven
    • Raven Applets View
    • Raven Notifications View
  • Notification Popups
  • End Session Dialog
  • Sound/Brightness OSD
  • Polkit Dialog
  • Run Dialog

Include manpages for /usr/bin binaries

Description

Debian uses "lintian" to analyse packages. Lintian has always warned when /usr/bin binaries
do not have an accompanying man-page.
The Debian package has eliminated that warning by providing man-pages as part of its package.

Recent changes to lintian now recommend that a Debian package should work with upstreams
to ensure the upstream delivers the man-page - not Debian.

Not sure why I didn't try to upstream this 6 years ago - ho hum.
I've raised this issue to remove yet more Debian packaging debt to ensure Debian
has as close as vanilla budgie experience as possible.

If ok - I'll update meson.build to install man pages

Budgie version

10.5.3

Operating system

Debian Sid (03 Jan 22)

Steps to reproduce the issue

man budgie-desktop-settings
man budgie-panel
man budgie-core
man budgie-daemon
man budgie-desktop
man budgie-polkit-dialog
man budgie-run-dialog
man budgie-wm

Actual result

none of the above /usr/bin binaries show a man page

Expected result

Man-pages are shown

Additional information

Add hotkeys for applications in Icon Task List

Budgie Version 10.5.3

Use-cases

I would like to be able to press hotkeys to select applications from the Icon Task List. If that application is a favorite and not already running, launch it. If the application is already running with only one window, switch to it. If that application is running with more than one window, show the user the various windows and allow them to select one.

Proposal

Add individual hotkeys for each application in the Icon Task List, up to a max number. These could be set in the applet configuration page, like:

Function Binding
Switch to application 1 Super+1
Switch to application 2 Super+2
Switch to application 3 Not bound
Switch to application 4 Not bound

etc.

References

None to my knowledge, but I only recently switched to Solus and Budgie.

Unable to build project on Debian

Description

The git project at the moment cannot be built on Debian (or Ubuntu) due to the dependency on budgie-screensaver.

As is - budgie-screensaver is not acceptable for inclusion into their repos due to perceived 'vulnerabilities' of dbus-glib-1 (https://github.com/getsolus/budgie-screensaver/issues/8)

Whether we need to worry about the current budgie-screensaver is another story - probably is part of the budgie 11 roadmap here. Mate and XFCE screensavers have exactly the same issue but these are legacy and already in the repos - new software like budgie-screensaver is subject to this ruling.

Request here is to add a meson-option (default is budgie-screensaver) and requisite #ifdef's to allow building against gnome-screensaver

If agreed - I'll do the tweaks.

Note - This request is to remove the technical debt debian currently carries in its packaging - should allow other debian devs to come onboard without hitting this first roadblock.

Budgie version

10.5.3

Operating system

debian sid (3 Jan 2022)

Steps to reproduce the issue

meson --prefix=/usr --libdir=/usr/lib

Actual result

Stops at meson.build assert.

Expected result

build successful.

Additional information

Memory leak in budgie-panel when many apps opened simultaneously

Description

Using an autoclicker by accident I opened a few dozen(hundred) apps at the the same time. Some time later (long after I had closed them all), I noticed that I was running out of memory, my pc completely freezing for minutes at a time (16 GB). Then I saw that budgie-panel was using 14.2 GB.

Budgie version

Version name of Budgie, i.e. Budgie 10.4 OR specific git commit.
Budgie Desktop 10.5.3-240

Operating system

Solus 4.3

Steps to reproduce the issue

Open and close (possibly using an autoclicker) an app from the panel many times (could be >100)

Actual result

Huge memory leak.

Expected result

No memory leak.

Additional information

image
image

Clock with Calendar Applet

When working, occasionally you just need to quickly know something like what day a certain date falls or vice versa, etc and you don't really want to go into another app or full blown calendar.

Most other desktop environments have this feature (including both Windows, Mac, PopOS, etc). However currently with Budgie when you click the clock, you are presented with a list to choose "System time and date settings" or "Calendar", this in my opinion is unintuitive.

Budgie calendar applet is already perfect for this use case. Therefore what would be nice is when you click the clock, the calendar applet pops up instead (you could have two buttons under it for the "Time/Date settings" and "Calendar App".

I know the calendar applet is on the raven panel but so is the volume applet but when you click the volume control on the system tray it does show the volume applet, so it would also make it more consistent when clicking the clock to show the calendar applet.

Switch Input Source Alt+Shift_L crashes budgie-wm when not using ibus

Description

Raised from Debian bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=999609

Budgie version

10.5.3

Operating system

Debian Testing/Ubuntu 21.10

Steps to reproduce the issue

Dear Maintainer,

  • What led up to the situation?

    Typing specific combination key causes budgie-wm segfault.
    At most twice or so is enough to reproduce this issue.

  • What exactly did you do (or not do) that was effective (or
    ineffective)?

    Typing Alt+Shift_L twice or more.
    Digging a bit, it seems that changing input source is related
    and there are some prerequisite conditions.

    • Step1: Using non ibus as input method
      • For example, set fcitx5 by im-config (Using ibus-mozc)
    • Step2: budgie-desktop keboard layout applet does not show any
      keyboard layouts.
    • Step3: Type Alt+Shift_L some times (twice or so)
      It kills budgie-wm. Note that Shift_L+Alt does not cause it.

    I've found two workarounds:

    • Workaround1: As noted above, use Shift_L+Alt.

    • Workaround2: Launch dconf-editor and remove Alt+Shift_L from
      /com/solus-project/budgie-wm/switch-input-source property.

    Before: ['Shift_L', 'space', 'XF86Keyboard']
    After: ['space', 'XF86Keyboard']

  • note from 19th Feb 2022

As for 10.5.3+git20220217a-1, it seems that Workaround 2 is not effective anymore.

Actual result

  • What was the outcome of this action?

    It kills budgie-wm process, so desktop session is lost.
    Need to login again.

Expected result

  • What outcome did you expect instead?

    Alt+Shift_L does not kill budgie-wm process.

Additional information

Debian Release: bookworm/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.14.0-4-amd64 (SMP w/4 CPU threads)
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages budgie-desktop depends on:
ii budgie-core 10.5.3-4
ii dconf-gsettings-backend [gsettings-backend] 0.40.0-2
ii gnome-control-center 1:41.1-1
ii gnome-menus 3.36.0-1
ii network-manager-gnome 1.24.0-1

Versions of packages budgie-desktop recommends:
ii budgie-desktop-view 1.1.1-1
ii gir1.2-budgie-1.0 10.5.3-4

Versions of packages budgie-desktop suggests:
ii gnome-terminal 3.42.0-1
ii nautilus 41.1-1
pn slick-greeter


Note from DM:

as far as I can see looking at the code, budgie only supports ibus
directly - as far as the upstream applet is concerned.

I agree budgie shouldn't crash - I've reproduced the crash and it is
crashing at this point in the code.

As to why - not sure.

https://github.com/solus-project/budgie-desktop/blob/master/src/wm/keyboard.vala#L105

Demystifying Theme Selection

This is a proposal for demystifying theme selection and providing a potentially simpler user experience for theme selection and introducing better cross-toolkit support.

Current Situation

At the moment our theme section breaks down to the following:

  • A GTK widget theme selection with all items except those in our exclusion list like Adwaita / "Default"
  • "Dark theme" toggle which only sometimes does something, depending on the theme or if we are using the built-in theme. This will currently set "gtk-application-prefer-dark-theme". Some themes respect this and others expect you to explicitly choose a different GTK Theme.
  • Built-in theming, which is intended to be redesigned #22

Proposal

My proposal is to retain both our setting and respecting of gtk-theme, however present a UI that translates that option (alongside the dark theme preference). We would do this by us:

  1. Maintaining a map of GTK widget themes to dark / light theming (we can also figure out if there is room to have theme developers ship a file that specifies which GTK theme to use in certain scenarios)
  2. Leveraging that map to provide a simplified Widgets list. So instead of say "Materia-dark" you would just have "Materia".
  3. Translating selections such as "Dark Theme" into "Materia-dark", a "Compact Mode" appearing where we know the theme provides one (so you could imagine it being "Materia-dark-compact" and "Materia-dark-compact" respectively). I'm open to ideas on how to handle scenarios like just Plata where it may be light with dark GTK Header, or if that is something we want to concern ourselves with entirely. This would still set the gtk-theme in the background, just the Widgets selection itself wouldn't directly.

Built-in theme would still be presented as a 3-option state:

  • Dark: Always use dark theme regardless of GTK Theme
  • Light: Always use light theme regardless of GTK Theme
  • Disabled: Disable use of Built-in Theme, relies on any support from GTK theme, same situation as now.

Another key difference with the Dark theme toggle is I want us to introduce support for FreeDesktop Dark Style Preference. Toggling it on would set that option and at least ensure applications built with the likes of libadwaita would respect our dark theme user choice.

Sort entries in Run Dialog depending on the search text

Current Budgie version

10.6

Use-cases

When using the run dialog and searching for a term, all non-matching applications are hidden. However, the results are not sorted "smartly" but are sorted alphabetically. This can be annoying since unnecessary amount of typing is required in order to pin down the application I search for.
In the following image, I am searching for "firefox" and "fire" does not suffice. In my case, I need to add another "f" or use the key arrows before I can press enter.
screenshot_22_03_28_19_33_39

Proposal

The search in the budgie menu already implements "smart" sorting. From what I can make out, the relevant code for that is in do_sort_list and get_score.
This code should be easily portable to the run dialog. For example, set_sort_func can be used similarly on app_box to set a similar function to do_sort_list used in the budgie-menu code. Furthermore, the get_score function can also be reused. For example, by deriving a new class from Gtk.ListBoxRow, adding get_score to it and using the derived class in place of Gtk.ListBoxRow in RunDialog.vala.

Improving the legacy Tasklist

This is a meta task to highlight actionable items that would improve the current legacy Tasklist. This is wholely inspired by recent development efforts related to the IconTasklist (#25). To ease discussion, I will quote the closing comment from that discussion below:

I am going to be closing this issue filed as since the posting and the further work we have done on the IconTasklist, it has become abundantly clear that we cannot make the necessary changes and architectural improvements to the applet while facing repeated regressions due to the complexity of all the options provided.

Specifically, almost all the regressions in IconTasklist are the result of needing to handle both grouping and non-grouping scenarios. Grouping is much easier to handle thanks to our robust application tracking system, with naming being consistent and most edge cases being worked out. With non-grouping, we need to track both that as well as the xid. This introduces problems for some applications like LibreOffice and Steam, which are otherwise well handled in grouping. We also have to use logic that ensures we re-parent secondary applications from their IconButton to the "main" one, handled pinned cases, etc.

So Budgie 10.6.x will have the non-grouping support, however it will be removed in 10.7. We will introduce a new legacy Tasklist that lacks grouping, has labels, and likely no (or a simpler) popover for some operations like close, move to workspace, etc. This will be in a new task.

So what does this mean for the Tasklist?

Instead of effectively merging the Tasklist, which is a non-grouping and simplistic applet leveraging Wnck.Tasklist, into the IconTasklist applet, we will take this opportunity to rewrite the Tasklist to meet the needs of user desiring a non-grouping list of applications. Due to the fact the IconTasklist will not need non-grouping logic any further, this will greatly improve its implementation from an architectural point of view.

The new Tasklist will leverage our application tracking system instead of Wnck, which was effectively a goal with Budgie 11 anyways (elimination of Wnck since it won't be usable on Wayland), to provide a simple list of labeled and non-grouped applications. We may also be able to re-use our icon scaling code from the IconButton in the individually labeled buttons in the Tasklist.

I am unsure it is desired from an architectual point of view to have "pinning", as we would get into the same situation we are in with IconTasklist with re-parenting non-primary instances onto the original button when the original instance of the app is closed. Discussion around that is welcome.

Discord splash screen window remains in taskbar

Description

Discord splash screen (named Discord Updater) remains as taskbar icon even after exiting discord. No discord processes can be seen with ps at that point. When starting and closing discord each time one more discord icon will remain in the taskbar.

Budgie version

10.6

Operating system

Arch Linux

Steps to reproduce the issue

Open discord.

Actual result

Screenshot from 2022-03-19 19-32-22

Raven's "Clear Notifications" keyboard shortcut no longer working after 10.6 update

Description

The keyboard shortcut for clearing notifications in Raven (Super+C by default) no longer works. Only the notifications' applet gets reinitialized, but the notifications still are not cleared in Raven. The shortcut was working fine up until Budgie 10.5, but stopped working for me with the recent Budgie 10.6 update (on Solus).

Budgie version

Budgie 10.6

Operating system

Solus 4.3

Steps to reproduce the issue

Receive a notification in Raven. Try to clear it using the keyboard shortcut. Look to see if the notification is still there.

EDIT: Added screenshot of notifications before clear.
new_notification

Actual result

The notifications are still there.

EDIT: Added screenshot of notifications after clear.
after_clearing_notifications

Expected result

The notifications should have been removed, just as they are when manually clicking on the clear notifications button in Raven.

Additional information

image

Improving Budgie Menu

This is a meta task to highlight actionable items that would improve Budgie Menu, make it more flexible for users, and reduce the need for third-party solutions or forks of stuff like Slingshot.

Firstly, the desktop application tracking needs to be improved. While libgmenu / gnome menu has served us well and I'm not really opposed to its continued usage, we do run into circumstances where we unnecessarily rebuild the entire tree before building a new view. This results in a temporary empty view of Budgie and sometimes can be a problem, such as not showing items consistently.

A Budgie Menu update should take into account a desired rearchitecture to only partially manipulations the existing tree, or builds a new tree that contains references to the old one (where unchanged) and new one (new additions, deletions, etc.) and only then pushes it to the menu to be rebuilt.

Alongside this, this centralized "store" in Budgie Menu should be view agnostic. This would enable us to build out alternative views in Budgie Menu, such as an icon grid / icon only view to replace alternatives like Slingshot.

Alongside this, I personally would like to see us default to not having a User Indicator, but rather have that functionality in Budgie Menu as well, which provides familiarity for users of other desktop environments like KDE and MATE + Budgie Menu, as well as Windows users.

Applet tooltips are inconsistent (color, position, off-screen, etc)

Description

Applet tooltips are very inconsistent. Some are yellow, some are gray, some appear below the panel if configured at the bottom, some are way off off-center.

Budgie version

10.6

Operating system

EndeavourOS

Actual result

budgie-tooltips-2022-03-16_00.40.13.mp4

Additional information

Materia theme

Raven notifications/applets mismatch

When opening Raven for the first time in a session, it initially shows that the "Applets" section is opened, but what actually appears is "Notifications". Selecting the correct option seems to fix the bug for the remainder of the session, and it defaults back to opening the "notifications" screen from then on.
Screenshot from 2022-01-09 15-11-10

Rewrite Budgie PanelManager to support panels across multiple-monitors

While planned for Budgie 11, based on the Making Budgie 10 Fly Again discussion it is quite clear that we all would like a rewritten panel manager for support panels across multiple-monitors, so this is a task to provide an opportunity to get to the work on that.

This implementation would need to be aware of laptop docking, random issues where a monitor might come unplugged and thus the panel / display is lost, resolution changes, etc.

Vertical panel issues with maximized windows

Sometimes when configuring the Budgie panel in vertical mode, maximized windows overlap the panel, or vice-versa. For me, the icons and panel elements seem to perfectly line up only when the icon size is set to exactly 53, where the icons abruptly jump in size. (I have a top panel in the screenshots but this doesn't affect the issues with the vertical panel)
It could be that the window manager strut doesn't match actual panel/icon size
Screenshot from 2022-01-09 15-33-53
Screenshot from 2022-01-09 15-34-11

Unable to build project on Ubuntu

Description

The project cannot be built on the latest stable version of Ubuntu - 21.10 due to Mutter 8 support having been removed from the repo as part of the Mutter 9 - GNOME 41 update.

I do support the idea that there is no need to support the last LTS - developers should be using the latest stable/development release for git master type development.

Unfortunately also, the current 22.04 development distro, git master cannot be built because of similar reasons.

Looks very much the project was a little overzealous with the tidyup of supported versions.
Suggestion/Request here is to readd back Mutter 8 support (I will look at this) to allow Ubuntu devs to build and develop against - at least until GNOME 42 lands. There is no guarantee at this stage that 22.04 LTS will have GNOME 42. Expect to see some discussion about this before Ubuntu freeze dates end of feb.

Budgie version

10.5.3 - git master

Operating system

Ubuntu stable 21.10 / Ubuntu development 22.04

Steps to reproduce the issue

usual git clone/meson/ninja etc

Actual result

dependency checks in meson prevent meson configure

Expected result

meson build and install works as normal for the latest stable release.

Additional information

"Window grouping" incompatible with "Restrict to workspace" for Icon Task List

Hi there! This is pretty low on the priority list, but it has been urking me for a little while. I might attempt a solution myself, but I have a ways to go before understanding the budgie-desktop codebase. Thanks for all the love that's gone into this beautiful piece of software <3

Description

When using both "Window grouping" and "Restrict to workspace," the resulting groups contain windows that are not on the active workspace.

Budgie version

Behavior seen on the following Budgie versions:

budgie-desktop 10.5.1
budgie-desktop 10.5.3

Operating system

Behavior seen on the following operating systems:

CentOS Stream release 8 (kernel 4.18.0-358.el8.x86_64)
Arch Linux (kernel 5.16.8-arch101)

Steps to reproduce the issue

Use multiple workspaces, enable but "Window grouping" and "Restrict to workspace" in the Icon Task List, and open different instances of the same application on different workspaces.

Actual result

Grouped applications contain windows from all workspaces. In the following screenshot, there is only one instance of GNOME file manager running on Workspace 2 (~/), but the Icon Task List shows both the current instance and the instance running on Workspace 1 (~/Downloads/).
image

Expected result

Grouped applications only contain windows from the active workspace.

Application icon doesn't show up if "restrict to workspace' is toggled on

Description

Before the update, I already configured icon-task-list applet to "restrict to workspace". After the update (10.6), whenever i launch app that is not favorited on icon-task-list, the app icon doesn't show up on the panel. Then I tried to mess the icon-task-list settings on budgie-desktop-settings, turning off the "restrict to workspace" toggle fix the issue.

Budgie version

budgie-desktop 10.6

Operating system

Solus 4.3 kernel 5.15.26-211.current

Steps to reproduce the issue

  1. Open budgie-desktop-settings
  2. Select icon-tasklist-applet
  3. Turn on "Restrict to Workspace" toggle
  4. Try launch any application that is not favorited in panel

Actual result

image
Text Editor (gedit) icon doesn't show up

Expected result

image
Text Editor (gedit) icon shows up

Additional information

Background desktop (wallpaper) likely to be changing

Description

Lets keep an eye on this (https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4936) - maybe consider reworking budgie's background handling code since it is directly impacted by the proposed changes i.e. gsettings schema, removal of the gnomebg library.

https://github.com/BuddiesOfBudgie/budgie-desktop/blob/master/src/wm/background.vala

Budgie version

10.5.3 - possibly mutter for GNOME 42.

Operating system

N/A

Steps to reproduce the issue

N/A

Actual result

If this lands - budgie will not compile with GNOME42 version of mutter - backgrounds will not work either unless reworked.

Expected result

Additional information

Random apps appear in Icon Task List

Description

Random apps appear in Icon Task List

Budgie version

v10.6

Operating system

Endeavour OS (arch based) 2021.12.17

Steps to reproduce the issue

  1. Be in a full screen app (I think)
  2. Press Alt-Tab
  3. "Launch preview daemon" icon may sometimes appear in Icon Task List and can only be removed via favorite > unfavorite

Alternative steps

  1. Launch Steam
  2. Exit Steam
  3. There should now be a Steam icon in Icon Task List

image

Add dock ability for panel.ini/layouts

Current Budgie version

10.6

Use-cases

Ubuntu Budgie 22.10 is considering dropping Plank and using the inbuilt budgie dock capability now that the icon sizing issues for the panel have been resolved (yay!). This will mean our default layout will be a true budgie only experience without needing a third-party app.

To enable this will require the ability to specify a panel in dock mode as part of the initial user experience.

Proposal

At the moment in a panel.ini configuration we can specify extra panels, the applets contained therein, the size and the location of the panel.

The proposal here is to add a series of options in addition to "Position" and "Size" :

"AutoHide" with the values defined in the budgie desktop settings panel settings Automatically Hide drop-down
"Transparency" with the values defined in the budgie desktop settings panel settings Transparency Hide drop-down
"DockMode" with a True/False value

Maybe needed is "Shadow" and "StyliseRegion" boolean values

References

https://github.com/BuddiesOfBudgie/budgie-desktop/blob/master/src/panel/manager.vala#L1243

Redesigning the Internal Theme

This is a public issue to indicate my intent to finally redesign the internal theme. This new internal theme will be inspired by Material Design, work from Materia and Plata, with official light and dark theming. It will feature clearer widget separation in places like Raven, some (not excessive) negative spacing to make components feel less cramped, and better contrast.

I would like to stress that this is a mockup. It isn't finalized (empty panel as an example) and I haven't even started working on it yet (this is something I've personally wanted to do for some time, so I'd love to be able to work on it personally, recognizing that I know this may excite many of you, but please let me do this ๐Ÿ˜›).

mockup-v1

I am entirely open to refinement to spacing, difference in contrast, etc. You may also notice a couple other things that I'd also like to see in Budgie, such as:

  • Updated Budgie Menu with an option for an icon-only view. (This would accompany a re-architecture of how desktop application tracking from gmenu to be less glitchy, centralizing search and listing to facilitate both views).
  • Favorites that are separate from IconTasklist.
  • Raven Weather widget (I'll dive into this in another issue that relates to Raven API, notifications like @EbonJaeger mentioned, and more) but the gist is this would come after the Raven API and we update all the widgets to use those.
  • Thicker panel on some resolutions to make it easier to use and see, with downscaling icons to allow for gradual increasing rather than on fixed intervals (24x24, 32x32, 48x48, etc.)
  • Iconography instead of labels for switch in Raven.

Alongside this, it would be interesting to think of ways of redesigning Budgie Desktop Settings. It wouldn't necessarily be a fully pluggable system (likely in B11 when we have a dedicated Control Center) but being able to integrate as an example all the Budgie Shuffler settings into the "Windows" section of Budgie Desktop Settings would be great, thoughts from Ubuntu Budgie folks appreciated on that).

I would like to stress that external themes would continue to be encouraged, promoted and supported. I will have an issue detailing things I would like to see there.

If you have feedback, please do provide it. Seriously. Nothing has changed yet and there may even be differences based on the implementation due to any limitations in GTK3 itself. This is a discussion, not an announcement. It has no given timeline, though I'd like to do this in 10.6 or latest 10.7 (but no timeframes have been set for those).

Network Manager freezes for 20 seconds when connecting to VPN

Hi,

I've been running Budgie 20.04 for the past year and a half. Recently I've performed the upgrade to 21.04, and then a couple of days later to 21.10 (no errors during upgrading).
Once I upgraded to 21.10, I've started experiencing this issue. The issue is not random, it happens every time.

Description

When you try to connect to VPN (from the applet or from the Network Manager), when it gets to Contacting host, please wait..., there is a 20 second freeze until the connection is successful. You can move the Network Manager window around, but you can't do nothing inside it (expand the log for instance). OS is not frozen, nothing is logged during these 20 seconds regarding VPN connections.
Tested with "Cisco AnyConnect or openconnect" and "Palo Alto Networks GlobalProtect" VPN types.

Budgie version

budgie-desktop 10.5.3

Operating system

Ubuntu 21.10

Steps to reproduce the issue

  • install openconnect packages (sudo apt install openconnect network-manager-openconnect network-manager-openconnect-gnome)
  • create a VPN connection (Tested with "Cisco AnyConnect or openconnect" and "Palo Alto Networks GlobalProtect" VPN types.)
  • try to connect.

Actual result

When Network Manager gets to Contacting host, please wait..., there is a 20 second freeze until the connection is successful. Window can be moved around, but nothing can be done inside it (expand the log for instance).

Expected result

VPN connection is established in about a second.

Additional information

Budgie is run inside a virtual machine. UEFI. 1 CPU, 2 cores, 12 GB of RAM. 4GB swap file.
Apart from needed openconnect packages (as specified above), open-vm-tools and open-vm-tools-desktop packages were also installed.

The issue didn't exist on 20.04, nor 21.04. To be sure that something didn't break during the upgrade process, I've installed:

  • clean Budgie 21.10: same issue;
  • clean Ubuntu 21.10: everything's OK; once Budgie desktop is installed (sudo apt install ubuntu-budgie-desktop), same behaviour is experienced when logged in to Budgie desktop. When logged in to Ubuntu default desktop, VPN works as expected.

I've also tried Ubuntu 22.04 dev (clean install). Same issue happens as on Ubuntu 21.10. VPN behaves as expected on Ubuntu default desktop, but not on Budgie desktop.

[Multi Monitor][Firefox] Wrong window position and buttons are actually somewhere else

Description

Firefox always opens on my left monitor maximized. Sometimes it happens that the window isn't maximized and the buttons are somewhere else on the screen. When I found them I'm able to click restore once to get the screen and buttons back to a normal state. Clicking maximize again afterwards and everything is fine. Until it happens again.

Budgie version

$ budgie-desktop --version
budgie-desktop 10.5.1
Copyright ยฉ 2014-2019 Budgie Desktop Developers

Operating system

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.4 LTS
Release:	20.04
Codename:	focal

Steps to reproduce the issue

Happens randomly. Not able to reproduce it.

Actual result

154534016-fd833fce-67c7-418e-962d-24a51a923bd0

Expected result

Firefox should be maximized on the left monitor.

Additional information

Fuax blur support for budgie-panel

Use-cases

Just for style.

Proposal

Any time a user applies a wallpaper take a screenshot of it, the parts that overlap, & apply a gaussian blur. It's not necessary to implement an entire algorithm just to apply a blur to a panel that'll never have windows behind it imo.

Bulk Rename

Anyway you can add a bulk renamer like in thunar or share any way i can add the thunar bulk rename to files. Asking here cause I like the budgie desktop but feel bad when I remember the bulk rename is normal :(

Facilitating a better and pluggable Raven

This is a meta issue that complements a discussion presented by @EbonJaeger on Notification Refactoring, presenting actionable items that would improve Raven in the Budgie 10 series and provide a learning opportunity going into Budgie 11.

Firstly, let's talk about a Raven API. As many of you know, this was deferred previously to Budgie 11. While I certainly think there are improvements in Budgie 11 we can make to any sort of widget implementation (so you can trivially write both panel widgets and Raven widgets, and ship them either wholesale or part of an application), I believe a Raven API via libpeas should be feasible.

This will require updating the existing widgets to leverage this new API, which would expose APIs for adding / removing Raven widgets, Raven widget preferences like collapse by default (useful in places like Sound Input), and possibly more (open for discussion). Alongside this, we would need to update the Raven section of Budgie Desktop Settings to programmatically list available Raven widgets, like we do with applets in Budgie Panels, with dynamic options to show / hide them, and it would be even better if it had an ordering system as well.

With this new API, we would be empowered to start adding more Raven widgets. My thoughts immediately go to:

  • Weather
  • World Clocks (hopefully with contributions from the fine folks like @fossfreedom that have implemented world clocks in an applet)
  • Maybe EDS or other event system support into the Calendar (it is pretty useless otherwise, let's be honest).
  • Brightness Control

Alongside this work, it would be valuable to refactor Notifications into a separate centralized provider / Notifications "store" that Raven is merely a consumer of. This would satisfy ideas by @EbonJaeger on enabling other areas of Budgie like IconTasklist to become consumers of this and expose alternative ways of being informed of active notifications.

If anyone has any other ideas on how to improve Raven, I would love to hear it! I would like to mention that nobody owns any of the above tasks, so if you want to work as a team (preferably communicating in our Matrix server rather than your own silos) to accomplish it, I would love that!

Can't drag and drop icons on a bar anymore.

Description

I can't move the icons on Icons applet anymore, it should be draggable by default but it ins't and I didn't find a single setting that resolved this.

Budgie version

10.6

Operating system

Arch Linux, 5.16.15-zen1-1-zen

Steps to reproduce the issue

  • Add the Icon Task List to any bar
  • With your mouse, try to drag an icon to ove it

Actual result

It doens't move.
Here a replica of what happens: https://streamable.com/k4ch9q

Expected result

It should move the icon to the position I want like it did before.

Additional information

If I try to move the icon to a browser window for example, it will type out the icon name, like for example: "emacs.desktop".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.