Goal of this commit is to not overwhelm UI when a lot of printers is added to CUPS. You can reproduce this situation when you add e.g. 30 printers using lpadmin. Th UI stops to respond for some time. To do so, the printer entries are not deleted every time there is a request for updating of the list of printers but only new printer entries are added and printer entries of deleted printers are removed. Other printer entries are just updated by new method pp_printer_entry_update(). Which, by the way, is almost whole taken from pp_printer_entry_new(). This needed to add sort function for the list of printer entries. It sorts printers according to their names not taking case into account. In the similar manner, the filter function was extended to not show printers which are being deleted. This needs a list of names of deleted printers which we keep until they are really deleted. One important thing here is the "reference" object which points to the panel itself via its "self" key. We pass this object to the pp_printer_delete_async()'s callback so it knows whether it can remove the printer's name from the list of deleted printers (once the panel is being destroyed it clears the key itself). |
||
---|---|---|
.gitlab/issue_templates | ||
build-aux | ||
data/icons | ||
docs | ||
gettext/its | ||
man | ||
panels | ||
po | ||
search-provider | ||
shell | ||
subprojects | ||
tests | ||
.gitignore | ||
.gitlab-ci.yml | ||
.gitmodules | ||
COPYING | ||
gnome-control-center.doap | ||
meson.build | ||
meson_options.txt | ||
NEWS | ||
README.md |
GNOME Settings
GNOME Settings is GNOME's main interface for configuration of various aspects of your desktop.
Contributing
See docs/CONTRIBUTING.md
for details on the contribution process, and docs/HACKING.md
for the coding style guidelines.
Reporting Bugs
Before reporting any bugs or opening feature requests, read the communication guidelines.
Bugs should be reported to the GNOME bug tracking system under the product gnome-control-center. It is available at GitLab Issues.
In the report please include the following information:
- Operating system and version
- For Linux, version of the C library
- Exact error message
- Steps to reproduce the bug
- If the bug is a visual defect, attach a screenshot
- If the bug is a crash, attach a backtrace if possible [see below]
How to get a backtrace
If the crash is reproducible, follow the steps to obtain a backtrace:
Install debug symbols for gnome-control-center.
Run the program in gdb [the GNU debugger] or any other debugger.
gdb gnome-control-center
Start the program.
(gdb) run
Reproduce the crash and when the program exits to (gdb) prompt, get the backtrace.
(gdb) bt full
Once you have the backtrace, copy and paste it into the 'Comments' field or attach it as a file to the bug report.
Testing Unstable Settings
It is quite easy to test and give feedback about the development version of GNOME Settings. Just access https://gitlab.gnome.org/GNOME/gnome-control-center/environments, get the latest version, download it, double-click the file, install and run.
Note that GNOME Settings Flatpak will only work if you are running the latest GNOME version in your host system.