* 1
* renamed ui.viewSelector to ui.searchController
* add arrowIcon null check
* add object null check
* add _showAppsButton null check
* fixed _workspacesDisplay
* removed shadow-type properties
* removed packing from ui
* renamed margin_left/right to margin_start/end
* renamed GtkRadioButton to GtkToggleButton, removed draw_indicator and image_position
* removed xalign from buttons, stock -> icon_name, GtkFileChooserButton -> BtkButton (todo connect a GtkFileChooserNative), removed format-value (todo connect GtkScaleFormatValueFunc callback)
* removed events, relief
* comment arrowIcon.set_icon_name and _hbox.get_last_child out
* called gtk4-builder-tool simplify --3to4 on Settings.ui
* fix _workspaceDisplay
* revert Settings.ui back to old gtk3 version
* removed _builder.connect_signals_full and added a BuilderScope instead, use class specific add functions, removed show_all for widgets, updated margins* for GtkGrid
* add try catch aroung object.connect
* fixed _searchEntry path
* disabled _newUpdateWorkspacesViews temporarily, because it is very buggy right now
* fixed _searchEntry path (this time for real?)
* dialog.show_all() -> dialog.show(), widget.get_toplevel() -> widget.get_root(), fixed adjustScrollableHeight (no longer crashes, still does not work correctly)
* updated GtkGrid.attach calls
* added Gtk.FileChooserNative for show_applications_icon_file_filebutton
* added packing again to ui (commented) and also added layout row/column/width/height in exchange for top_attach/left_attach/colspan/rowspan
* renamed colspan/rowspan to column-span/row-span
* removed all packaing left_attach/top_attach
* updated adjustScrollableHeight so the dialog will have a reasonable size again
* limit shell-version to 40 since it is not backwards compatible right now
* called _updateBackgrounds in layoutManager ,fixed overview <-> _overview typo?
* pass Settings instead of Settings._settings to BuilderScope
* workaround for showAppsIcon (_showAppsButton seems to be no longer be available)
* replaced newlines in the ui file with the newline unicode symbol, so code block collapsing works peroperly
* moved the scrolled window directly into each notebook tab, so the tab headers are always visible
* fixed taskbarListBox children loops
* commented non working elements out (panel on left/right, import/export settings, update)
* renamed Settings to Preferences to avoid confusion with dconf settings object
* updated this.widget to this.notebook
* fixed dialogs size and expand
* fixed window preview options having too many columns
* removed all packing with expand/fill/position (already uncommented)
* removed menu arrows since they are no longer recommended for gnome40
* removed adjustScrollableHeight, default sizes are acceptable
* updated ui required version to gtk 4.0
* updated path to dash.showAppsButton
* fixes for showAppsButton
* fixed clickToExit
* fixed import/export settings
* added disable show overview on startup option
* removed old show apps animation
* fixed panel on left/right side
* fixed scroll on volume icon
no longer will scrolling on the volume icon switch workspaces as well
* commented some setFocusedMonitor support out, caused issues on Xorg
* removed oldDash
* updated hide overview on startup, no longer closes overview after suspend etc
* removed _newOverviewRelayout
* removed _newUpdateWorkspacesViews
* commented setFocusedMonitor out completly, because show overview on non primary monitor does not work properly for now
* fixed typo
* fixed merging error
* check if func is valid in hookVfunc
* updated ui to gtk4, fixed merging error
* fixed layout for apply changes to all monitors
* fix behaviour tab and app icon margin/padding grid
* fix animate launching new windows grid row
* fixed about tab
Co-authored-by: Cole Gerdemann <corvettecole@gmail.com>
Each animation type has its own duration, rotation, travel and zoom settings.
Each multi-icon animation has its own convexity and extent settings.
It is achieved by using "{ type: value, ... }" dictionaries.
Settings.ui:
- Move thickness, length, and anchor from Style tab to Position tab.
Group together with position in the same frame.
schema:
- Remove unpublished panel-length and panel-anchor settings, replacing
them with panel-lengths and panel-anchors JSON objects (like
panel-positions).
- Remove unpublished anchor enum, since panel-anchors is being managed
by the extension in JSON, not typed by the schema.
- Deprecate panel-size in favour of new panel-sizes JSON, storing
per-monitor panel sizes.
- Mention that panel-position is deprecated.
Introduce panelSettings.js:
- Functions to fetch or set panel settings that are stored as JSON.
Grown from now-removed getSettingsPositions() in panelPositions.js.
prefs.js:
- Group together the different UI widget label and value refreshing
into method _updateWidgetSettingsForMonitor().
- Change multi-panel behaviour of _setAnchorLabels(). Previously, all
panels shared the same anchor setting, and so setAnchorLabels
considered all monitors. Now, panels are configured either
independently, or sometimes all together; set labels according to
orientation(s) of panel(s) being configured.
- Omitting preventTop handling in refactored _setPanelPosition()
method. Previously, it was written to set the first monitor's panel to
Pos.BOTTOM if the user clicked the Top position radio button, if
stockgs-keep-top-panel was also set. But the user can't activate the
Top button anyway if stockgs is set (likely implemented later).
panelManager.js:
- Removing panelPositions, as it is not needed any more.
* Moved length and anchor setting to Styles tab, as it is
an all-monitor setting currently.
* Changed length from spinbox to slider, and shortened label.
* Turned off anchor combobox sensitivity if length is 100%.
* Set anchor labels to the more intuitive "Left, Center, Right" and
"Top, Middle, Bottom" if all monitor panels are horizontal or
vertical. If monitors have panels in a mix of orientations, use
"Start, Middle, End". The schema retains the generic START, MIDDLE,
END.
* Changed "Panel Size" label to "Panel thickness" to more precisely
describe what is being set now that the panel can be changed in two
dimensions. "Panel thickness" and "Panel length" can
describe the sizing of the panel for either horizontal or vertical
orientations.
* Changed now-shortened Position label to "Anchor", to reduce
confusion with other Position setting, regarding which edge of the
screen.
Set the length of the panel according to a specified percent value, so
it can span only part of the screen edge.
Position the panel at the start, middle, or end of the screen edge, as
specified.
Tests okay with multiple monitors.
May also satisfy home-sweet-gnome/dash-to-panel#726