If static variables bad, why does it make my code work
seen from Mexico
seen from United States
seen from China
seen from Türkiye

seen from Germany
seen from United States
seen from China
seen from Russia
seen from Germany

seen from United States
seen from United States

seen from Bulgaria
seen from Türkiye

seen from United States

seen from Malaysia

seen from Malaysia
seen from Malaysia
seen from Belarus
seen from China
seen from South Korea
If static variables bad, why does it make my code work
How we Arrived at the Pop!_OS COSMIC Design
Pop!_OS 21.04 introduces the COSMIC desktop, which changes the workflow that users have become accustomed to since Pop!_OS first released. With such a considerable alteration, we’d like to walk you through the design decisions that led to the new COSMIC experience, and why we think it improves computing for users and customers.
Guiding Principles
Deliver advanced computing features in easily consumable ways. Auto-tiling in Pop!_OS 20.04 was the first major realization of this principle. Auto-tiling manages the window layout for users rather than users managing all those floating windows themselves. In COSMIC, we eschew a traditional “Start” menu for the launcher. The launcher is a fast and modern way to launch and switch between applications and access operating system features.
Simple and straightforward. We prefer literal design, in that there should be little to no guessing what a button or UI component does; it should say what it is and do what it says. The interface should be easy to describe, and no single component should do too much. Keep components focused on the user’s intended action.
Meaningful customization doesn’t have to be overwhelming. Some people prefer a minimalist setup and navigate their desktop with the keyboard. Some navigate primarily by the mouse, opening applications from a dock or application picker and clicking the system menu to suspend or shutdown. Others love gestures to glide around the interface. These preferences can exist simultaneously without complicating settings to the point of being overwhelming. Careful, considerate design can accommodate them all.
Launching Apps
In previous versions of Pop!_OS, you opened applications by opening the Activities Overview then clicking the app’s icon in the Dash or typing the app’s name and pressing enter. Each time a user opened Activities, all windows zoomed out, and the dash and workspace picker appeared.
Opening three applications involved:
Windows zoom out, open application, windows zoom in. Windows zoom out, open application, windows zoom in. Windows zoom out, open application, windows zoom in. That’s a lot of zooming out and in. These transitions are heavy for the simple task of opening applications. And give the feeling that the interface is slow, taking the user out of context. In Pop!_OS 21.04, press Super, type the beginning of the app name and press enter, or click the app icon in the dock. No heavy transitions, animations, or context switching. Simple and straightforward.
Switching Between Apps
Switching between applications with Alt+tab is messy. Everyone has experienced the over-tab. Alt+tab tab tab. Dang, I missed it. Tab tab, oh I have two Firefox windows open. It’s painful. In Pop!_OS 21.04, press super and arrow down to switch to the app you want. Pop!_OS will highlight the window so you know you’re in the right place. Or, press Super then type the first few characters of the app you want and press enter. You can jump from your first monitor to your third or to an app three workspaces down. It’s fast and simple.
Oh, but there’s more. Have newer laptop hardware with a nice, large touchpad? Swipe three fingers in the direction of the app you want. You’ll be transported immediately to your intended destination.
Search
We’re pretty skeptical of universal search in operating systems. User testing revealed it's uncommon to search for files or contacts in the Pop!_OS Activities Overview. We have some hunches as to why.
Mixing apps, files, settings, contacts, and web results in one place clutters the interface and is never quite universal enough to be the starting point for all desktop activities. You might be able to send an email to a contact in a search result, but you can’t start a conversation with them in Slack or Discord. Users end up using the app where the content or person resides. They search the web in a browser, a contact where you want to talk to them, or files in the file browser. The search results are better simply because an app's results are inherently limited to what the user anticipates finding in the app.
For those reasons we keep default launcher results limited and focused on what the operating system provides: applications to launch or switch to and system features such as suspend, shutdown, logout, settings, and switching graphics modes on supported hardware (type “Switch” to try it).
And while we don’t think showing results from all sources for all queries is a good idea, we can make opening search sources faster. Open the Launcher and type “google system76” and the browser will open with Google’s search results, or type “?” into the Launcher to see more features. We’ll be adding carefully curated tools and improving them over time.
Applications
Browsing installed applications is a necessary component of any operating system, especially for new users. As new users become accustomed to the Pop!_OS workflow and the applications they have installed, they may migrate to the more efficient launcher or simply prefer to use the Applications view.
With that in mind, two improvements will arrive after release: One, windows on secondary monitors won’t spread, and two the Application picker will open on whichever monitor has focus. Because the vast majority of our customers use multiple monitors, we’re slowly moving away from the primary/additional monitor concept and toward treating all monitors equally.
We are also discussing ways to make the Applications view more useful, but more research and experimentation is necessary to flesh out possible improvements.
Workspaces
Of all the surprises that show up in user testing, how few people use workspaces was at the top of the list. Many used multiple monitors so spreading out windows to different workspaces wasn’t valuable. For others, their task focus didn’t take them beyond what fit well enough on a single workspace.
Then on the flip side, there were some folks who couldn’t live without workspaces. It’s how they organize their work and thought process. They generally maximized windows and separated them on different workspaces on smaller laptop displays.
We don’t think the fact that fewer people than anticipated use workspaces is a flaw in the concept or implementation of workspaces. Rather, we think it’s simply a need or preference to use them or not. Armed with the evidence, we decided not to put workspaces front and center. They’re easy to access and the buttons to access them can be disabled if they’re not part of the user's workflow.
In a post-release update, we will add the workspace picker to all monitors when “Workspace Span Displays” is enabled. This is once more an extension of our effort to treat all monitors equally for our multi-monitor loving customers.
More to Come
An option to add the Top Bar to all monitors
An option to auto-hide the Top Bar
Dock and Top Bar transparency
Gesture controls in Settings
Tiling options in Settings
Additional Hot Corner options
Horizontal Workspace Picker position options